Assembly Optimizations I: (Un)Packing Structures

This is the first post in a series about optimizations that can be performed when compiling C (or possibly other languages) to x86_64 that are currently not performed by popular compilers (Clang/LLVM, GCC/GNU, ICC/Intel). While some of these may be relatively straightforward, others may require a…

Solving the strcat() Woes

In C, the common and canonical way to concatenate strings at runtime is to use strcat(). For most cases, this works perfectly fine - here's a simple example: const char *intro = "Hi "; const size_t len = strlen (intro) + strlen (name); char *greet = malloc (len + 1); if (!greet) { // handle error } strcpy…

sfDB5 Talk

This is the annotated version of my presentation on sfDB5. The original slides are over here. Here goes. sfDB5 A Schemaless Relational Key-Structure Store Haneef Mubarak Hi, I'm Haneef Mubarak and I'd like to talk about [ess-eff-dee-bee-five], a schemaless relational key-structure store. Common NoSQL Traits Developer Friendly Fully Horizontally Scalable…

Projects All Over the Place

So in my spare time, I code. Most of my code is open source, so you can check it out over on GitHub. While you're at that, for a profile of my coding habits, have a look at my Open Source Report Card (disclosure: it provides a view that is…