Daily Shaarli

All links of one day in a single page.

05/31/19

Building better software with better tools: sanitizers versus valgrind

We often have to write code using  permissive programming languages like C and C++. They tend to generate hard-to-debug problems that can crash your applications. Thankfully, many compilers offer “sanitizers”. I discussed them in my post No more leaks with sanitize flags in gcc and clang. I strongly encourage the use of sanitizers as I think it is the modern way to write C and C++. When many people describe how impossibly difficult it is to build good software in C and C++, they often think about old-school bare metal C and C++ where the code do all sorts of mysterious things without any protection. Then they feel compelled to run their code in a debugger and to manually run through it. You should not write code this way! Get some tools! Sanitizers can catch undefined behaviour, memory leaks, buffer overflows, data races, and so forth.

The kilo is dead. Long live the kilo!

image

An old artifact kept in a vault outside Paris is no longer the standard for the kilogram. Now, nature itself provides the definition.

OpenMediaVault - The open network attached storage solution

OpenMediaVault is the next generation network attached storage (NAS) solution based on Debian Linux. It contains services like SSH, (S)FTP, SMB/CIFS, AFS, UPnP media server, DAAP media server, RSync, BitTorrent client and many more.

Rock64 - A Small Form-Factor Single Board Computer Capable of 4K Playback

ROCK64 is a credit card sized Single Board Computer powered by Rockchip RK3328 Quad-Core ARM Cortex A53 64-Bit Processor and support up to 4GB 1600MHz LPDDR3 memory. It provides an eMMC module socket, MicroSD Card slot, Pi-2 Bus, Pi-P5+ Bus, USB 3.0 and many others peripheral devices interface for makers to integrate with sensors and devices.

image

5 of the Best LaTex Editors for Linux

Word processors are great, but they’re also pretty simple. They’re fine for writing letters or essays, but they’re not for complex documents – they’re just not designed for it. LaTeX, a document preparation system used by scientists and mathematicians, aims to get around the problem.

Rather than relying on software to format your document, LaTeX markup is used, giving you the opportunity to introduce elements like complicated mathematical equations. You could do this in a plain, old text editor like Vim or, if you’d prefer to see your LaTeX formatting appear as you write, a LaTeX editor.

Here are five of the best LaTeX editors you could use if you’re a Linux user.

Python built-ins worth learning

Which built-ins should you know about?

I estimate most Python developers will only ever need about 30 built-in functions, but which 30 depends on what you’re actually doing with Python.

We’re going to take a look at all 69 of Python’s built-in functions, in a birds eye view sort of way.