6 private links
How do we write a lot of data to disk really fast?
Check if stdout is a tty , from different languages.
C++11 and 14 provide a tool that expresses single ownership of a resource, unique_ptr. When the unique_ptr is deleted, such as when its parent container is destroyed or when it goes out of scope, a custom deleter can be called instead of the delete operator. This behavior is exactly the right mix for managing a resource created by a C library.
An example of a typefree printf with variadic templates: http://en.cppreference.com/w/cpp/language/parameter_pack#Example
Lots of useful bash scripting tips:
$? exit status of the last command (${PIPESTATUS} for pipelined commands)
avoid tempory files:
diff <(wget -O - url1) <(wget -O - url2)
Speed memory access by arranging data to take advantage of CPU caching.
realloc story
placement new syntax
valgrind can run a gdb server so that a gdb can interact with it. valgrind has 2 options to trigger that:
--vgdb=yes,
--vgdb-error=0.
This second option tells valgrind it needs to wait for that many errors before freezing and wait for a gdb to connect. Setting it to 0 will make valgrind to wait for gdb to connect before executing the program.
valgrind --vgdb=yes --vgdb-error=0 ./foo
gdb ./foo
(gdb) target remote | vgdb
for i in $(objdump -d binary.o -M intel |grep "^ " |cut -f2); do echo -n '\x'$i; done;echo
Dictionary based word corrector coded in different language with explanation.
This is a list of assemblers: computer programs that translate ("assemble") assembly language source code into binary programs. Sort by target instruction/architecture
Parallel programming is essential for writing performant applications on modern hardware. You've probably noticed that, in recent years, CPU clock speeds have barely increased. At the same time, dual-core and quad-core computers have become common.
Have you ever wondered how Facebook is able to automatically display your Instagram photos? How about how Evernote syncs notes between your computer and smartphone? If so, then it’s time to get excited!
In this course, we walk you through what it takes for companies to link their systems together. We start off easy, defining some of the tech lingo you may have heard before, but didn’t fully understand. From there, each lesson introduces something new, slowly building up to the point where you are confident about what an API is and, for the brave, could actually take a stab at using one.
interpretor pattern
This is a very quick-and-dirty guide meant to get you started with the GNU Debugger, gdb, from the command line in a terminal. Often times gdb is run via an IDE, but many people out there shun IDEs for a variety of reasons, and this tutorial is for you!