Series, articles and presentations

This page lists the articles which, due to their length, have been presented in smaller installments.  Please note that after so many years (and blog migrations), some articles might be broken or outdated. I try to keep the information here as relevant as possible but please let me know if you find any problems while reading an article.

Vectorization in gcc, 2014:
* Unpublished, work in progress *

C++ exception handling internals, 2012-2013:

  1. C++ exceptions under the hood
  2. A tiny ABI
  3. An ABI to appease the linker
  4. Catching what you throw
  5. Magic around __cxa_begin_catch and __cxa_end_catch
  6. Gcc_except_table and the personality function
  7. A nice personality
  8. Two-phase handling
  9. Catching our first exception
  10. _Unwind_ and call frame info
  11. Reading a CFI table
  12. And suddenly, reflexion in C++
  13. Multiple landing pads & the teachings of the guru
  14. Setting the context for a landing pad
  15. Finding the right landing pad
  16. Finding the right catch in a landing pad
  17. Reflecting on an exception type and reading .gcc_except_table
  18. Getting the right stack frame
  19. Getting the right catch in a landing pad
  20. Running destructors while unwinding
  21. A summary and some final thoughts
  22. The true cost of an exception
  23. Metaclasses and RTTI on C++
  24. RTTI and exceptions orthogonality

Series on C++11 (0X back then) covering a few of the changes I liked the most, started during 2010:

  1. Cool C++0X features I: Intro
  2. Cool C++0X features II, Variadic templates: What’s wrong with varargs
  3. Cool C++0X features III: Variadic templates, a fix for varargs
  4. Cool C++0X features IV: Variadic templates again
  5. Cool C++0X features V: Templates and angle brackets, a short interlude
  6. Cool C++0X features VI: A variadic wrapper
  7. Cool C++0X features VII: A variadic wrapper solution
  8. Cool C++0X features VIII: Variadic wrapper and type inference with decltype
  9. Cool C++0X features IX: delayed type declaration
  10. Cool C++0X features X: type inference with decltype
  11. Cool C++0X features XI: decltype and disappearing constness
  12. Cool C++0X features XII: type inference with auto
  13. Cool C++0X features XIII: auto and ranged for, cleaner loops FTW
  14. Cool C++0X features XIV: Initializer lists
  15. Cool C++0X features XV: Initializer lists for custom (non-std) objects

Series on C++ Template Metaprogramming, written during 2010 (link to full article).
Link to each part in the series:

  1. Template metaprogramming: A slow descent towards utter maddness
  2. Template metaprogramming II: Openning the box
  3. Template metaprogramming III: Entering Pandemonium
  4. Template metaprogramming IV: Nightmares to come
  5. Template metaprogramming V: Face to face
  6. Template metaprogramming VI: The Spider Webb
  7. Template metaprogramming VII: The Enemy Within
  8. Template metaprogramming VIII: A Rough Whimper of Insanity
  9. Template metaprogramming IX: Absolute Zero
  10. Template metaprogramming X: Zero Minus Ten
  11. Template metaprogramming XI: Hidden Agenda
  12. Template Metaprogramming XII: You Really Got a Hold on Me
  13. Template Metaprogramming XIII: Heart of Darkness
  14. Template Metaprogramming XIV: Marathon
  15. Template Metaprogramming XV: Gemini

Series on LaTeX, written during 2009 (link to full article).
Link to each part in the series:

  1. Latex!
  2. A case for LaTeX
  3. LaTeX basics
  4. LaTeX: format basics
  5. LaTeX: LyX Revisited
  6. LaTeX: Makefile
  7. LaTeX: including documents
  8. LaTeX: Including Source Code

Makefiles, written sometime between 2008 and 2010:.
Link to each part in the series:

  1. Makefiles
  2. A Makefile for TDD with C++
  3. A Makefile for code coverage report with C++
  4. A talking makefile

This page is a list of articles I’ve written over the years which do not always have an associated post in this blog. In many cases they are the presentations I used for courses or talks.

Testing & mocking
Link a la presentación (PDF)

Testing & mocking: C++
Link a la presentación (PDF)

Console Ninja: Cómo dejar de ser un usuario desconsolado
Link a la presentación (PDF)


Notas sobre metodologís ágiles
Introducción a las metodologías ágiles (spanish only)

Introducion a GNU/Linux
Link a la presentación (PDF)

GNU/Linux: Guía de Supervivencia (FLISOL 09)
Link a la presentación (PDF)

LyX: A text editor that stays out of the way
URL: (Dead link)


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s