Infinite monkey
Wroks in my machine
- Posts
- 417 from 4 Oct 2008 to 16 Dec 2023
- Posting
- quiet since 2023
- Kind
- personal blog
- Feed
- https://monkeywritescode.blogspot.com/feeds/posts/default
2023 2
2021 5
2020 4
2019 11
- Presenting tips: make your presentations suck a bit less
- Bash tip: Default value for a variable
- std::is_constant_evaluated: make debugging a little bit harder for yourself!
- Vim multiple search
- Bash: Color in command line prompt PS1
- The bestest autocomplete for Vim
- Howto: shutdown a TV with HDMI CEC Chromecast
- Say nice things
- GCC instrumentation flag: slow everything down!
- Chromecastic Slideshow
- VimTip: Search and f(replace)
2018 4
2017 3
2016 40
- Google Test: Quarantine for tests?
- Vimcrypt
- Things you should never do
- Self reminder: setting the default boot option in UEFI
- Simple vim plugin IV: project greping
- Simple vim plugin III: a polymorphic project greper
- Simple vim plugin II: a psychic project greper
- Simple vim plugin I: integrating new commands
- The best hack you should never use
- Vim tip: custom commands
- Ageing Stack overflow?
- Awesome quote stolen from "The Embedded Muse"
- Vim utilities: Findgrep & Fastgrep
- Vim utilities: Impl switcher
- Vim utilities: Better Tab New
- Shared pointers: don't
- C++: Why is undefinedness important
- Deobfuscate your bash
- Awesome (and useless) trivia: Ubuntu's first bug
- KSnapshot is getting smarter
- I can't believe this works!
- Some sane advice from Firefox's console
- Quickly sharing files in Linux via HTTP
- Initialization oddities: Aggregate initialization
- Code and Google translate: awesomeness
- Ubuntu 15.10: Ubuntu ME
- Gimple
- Vim tip: Replacing builtin commands
- Public service announcement: searching your terminal's output
- Vim tip: autocommands
- Bash tip: idiom to get the first error code from a pipe
- smaps: A quick memory analysis
- Some new set operations in C++11 stl
- Goto hell
- PSA: OEM unlocks may result in wiped filesystems
- KDE: Lock screen from CLI
- VLCFreemote: no need to leave the couch
- Don't exit gdb just to run make!
- On the poor state of geotagging applications for Linux
- gdb-tui and the previous-command problem
2015 20
- Android studio and ndk-gdb to debug a native app
- Useful predefined variables in make
- Vim tip: reload your vimrc
- ndk-gdb life tip: use --verbose
- I now write Android apps: presenting Tripping Photo Manager
- Debugging multiple processes with gdb
- cerr vs cout
- Vim tip: "polymorphic" key bindings
- PSA: Use nautilus (GTK) in Kubuntu if Dolphin crashes
- Vim tip: Stop escaping slashes
- C++: A jump table with a template device
- Globing in bash
- gdb: Print very long strings
- gcc: Optimization levels and templates
- Bash traps: almost like RAII for bash
- C++: Invalidating references to elements in a vector
- Code natural selection
- Ruby-style digit separator for C-98?
- Vim Tip: I want more menus!
- Scope ending in C++
2014 2
2013 85
- Static initialization in C++
- Vim tim: quickly switch from header to impl
- Setting up a Linux GW VIII: Proxy and content filtering
- Human friendly c declarations
- Setting up a Linux GW VII: Fun with iptables, setting up port forwardings
- Automagically setup breakpoints with gdb
- Setting up a Linux GW VI: Configuring a console friendly router and setting up static DHCP IPs
- Have you checked your stack?
- Setting up a Linux GW V: DCHP
- Some gratuitous MSVC bashing
- Setting up a Linux GW IV: Setting up apparmor
- A C++ template device to obtain an underlying type
- Setting up a Linux GW III: Setting up DNS with bind9
- Gcc tip: better disassembly
- Five years
- Setting up a Linux GW II: NATting and forwarding
- C preprocessor VII: Recursive expansion on function macros
- Setting up a Linux gateway/router, a guide for non network admins
- C preprocessor VI: Recursive macro expansion rules
- Vim tip: Jump to a tag definition
- C preprocessor V: Conditionals
- Vim tip: open file under cursor
- C preprocessor IV: VA Args
- Stopping commits on git
- C preprocessor III: Token pasting
- Vrapper: a real text editor for Eclipse
- C preprocessor II: stringify operator
- Crazy git error
- C preprocessor: Just a simple replacer?
- Avoid compile warnings from 3rd party libs with gcc
- Git tip: auto update your ctags
- Pictag: finally a simple geotagging tool for Linux
- Force a program to output to stdout
- C++ exceptions under the hood appendix III: RTTI and exceptions orthogonality
- A random slideshow in Ubuntu
- Mocking in C++: the virtual problem
- Counting lines per second with bash
- Starting an EMR job with Boto
- A coverage report for C++ unit tests
- My own gdb cheatsheet, just because
- A tardis in gdb? Reverse a program's execution!
- Useless code: a template device to calculate e
- Watchpoints in gdb: wake me up when foo changes
- Detecting and ignoring third party memory problems with Valgrind
- C++ exceptions under the hood appendix II: metaclasses and RTTI on C++
- C++ exceptions under the hood appendix I: the true cost of an exception
- Bash scripting and getops
- C++ exceptions under the hood 21: a summary and some final thoughts
- Vim tip: remember undos
- C++ exceptions under the hood 20: running destructors while unwinding
- C++ exceptions under the hood 19: getting the right catch in a landing pad
- Vim tip: some cool moves
- C++ exceptions under the hood 18: getting the right stack frame
- C++ exceptions under the hood 17: reflecting on an exception type and reading .gcc_except_table
- Vim tip: relative numbers
- C++ exceptions under the hood 16: finding the right catch in a landing pad
- C++ exceptions under the hood 15: finding the right landing pad
- Tip to migrate from VMWare to VirtualBox
- C++ exceptions under the hood 13: setting the context for a landing pad
- C++ exceptions under the hood 14: multiple landing pads & the teachings of the guru
- Learning misspells: thanks Vim!
- C++ exceptions under the hood 12: and suddenly, reflexion in C++
- C++ exceptions under the hood 11: reading a CFI table
- C++ exceptions under the hood 10: _Unwind_ and call frame info
- Vim tips: my github's vimrc
- C++ exceptions under the hood 9: catching our first exception
- Awesome festival
- C++ exceptions under the hood 8: two-phase handling
- An awareness test
- C++ exceptions under the hood 7: a nice personality
- Vim tip: no swap
- C++ exceptions under the hood 6: gcc_except_table and the personality function
- Hive speedup trick
- C++ exceptions under the hood 5: magic around __cxa_begin_catch and __cxa_end_catch
- Powerpoint monkey
- C++ exceptions under the hood 4: catching what you throw
- Bebugging / Fault injection
- C++ exceptions under the hood 3: an ABI to appease the linker
- Monitor file changes on a CLI
- C++ exceptions under the hood II: a tiny ABI
- Quick C/C++ reference on the console
- C++ exceptions under the hood
- Cool C++0X features XVII: Lambdas syntax
- Cool C++0X features XVI: Lambdas
- "The VM session was closed before any attempt to power it on"
2012 24
- Printing broken in Ubuntu? Try lpr
- Setting up a Linux gateway/router
- Non standard UML: decomposing inheritance in sequence diagrams
- Using masqd for custom subdomains
- CLI music FTW!
- Checking connectivity for port forwardings
- g++ has a (mean) personaility
- Tailing Google app engine's logs on realtime
- Boot Linux in single user mode
- Cool C++0X features XIII: auto and ranged for, cleaner loops FTW
- Hugging borked on Ubuntu?
- Vim tip: goto column
- False sharing in multi threaded applications, part II
- False sharing in multi threaded applications
- Easy bind dns log analyzer
- Redirecting connections from one port to another with iptables
- stlfilt: read ugly tmpl errors
- Fastgrep, a cache for grep
- Fixing keyboard layouts in Ubuntu. Scarier than it seems.
- Getting a stacktrace on C/C++: Mapping function pointers to function names on runtime
- Getting a stacktrace on C/C++: Mapping function pointers to function names in obj files
- Getting a stacktrace on C/C++: Some calling internals
- Faking a server and testing networks with netcat
- gdb pretty printers
2011 65
- Anonymous objects in C++
- Fixing end of line styles between Linux and Windows with SVN
- C++: Checking if a method exists in a parent class
- svn tip: branch stable version, then use externals
- Fixing some annoying GTK Warnings
- C++ name mangling
- New Buguntu, new GUI, new problems
- Annoying "unable to find a medium containing a live file system" in Ubuntu
- Passwordless ssh
- Dell and Ubuntu CPU Scaling
- Cool C++0X features XV: Initializer lists for custom (non-std) objects
- Dennis Ritchie > /dev/null
- Starting Ubuntu in console mode
- Cool C++0X features XIV: Initializer lists
- Open Office, master documents and headless
- Cool C++0X features XII: type inference with auto
- DIY gnome applets
- Cool C++0X features XI: decltype and disappearing constness
- Running commands on Windows from Linux, through ssh
- Throwing destructors
- Zero padding for Bash scripts
- 200th post!
- Automagic document conversion for your makefiles
- Activating tildes and accents for a USA keyboard layout in Ubuntu
- A talking makefile
- Edit pdf files in Ubuntu
- A Makefile for code coverage report with C++
- Link: ASCII graphs, 2.0 style
- A Makefile for TDD with C++
- Makefiles
- Living on a null object
- Vacations are over
- Funny queries: What Google thinks of me
- Final classes in C++
- LD magic in Linux
- Cool C++0X features X: type inference with decltype
- sshfs, quick remote mount
- Cool C++0X features IX: delayed type declaration
- Vim: Ni! Ni! Ni! Ni!
- Cool C++0X features VIII: Variadic wrapper and type inference with decltype
- Repeat (and fix) last command
- Cool C++0X features VII: A variadic wrapper solution
- Another downgrade achieved
- Go home
- Cool C++0X features VI: A variadic wrapper
- Just to remind you
- Cool C++0X features V: Templates and angle brackets, a short interlude
- Eclipse watch expresion
- Cool C++0X features IV: Variadic templates again
- Know your history (at least in bash)
- Cool C++0X features III: Variadic templates, a fix for varargs
- echo "Hola mundo" > /dev/full
- Cool C++0X features II, Variadic templates: What's wrong with varargs
- Cool C++0X features I: Intro
- Hex dump in C++
- Newsflash: C++ object commits sepuku
- CRTP for static dispatching
- Time your time
- Moving away from DB IPC
- DB IPC: Communicating processes the wrong way
- Truth be told
- I thought we had deprecated regedit
- Using BoUML as a case tool
- Vim Tip: Vigor
- BoUML: A usable UML editor for Linux
2010 69
- Oh sh....
- A callgraph for C programs
- Brillant corporate inteligence
- Easier inbox count with Gmail Favicon script
- Template Metaprogramming XVI: Appendix
- mv, mf, Ubuntu's "did you mean?"
- To log or not to log
- Know where your objects live
- Stacktrace or GTFO
- Template Metaprogramming XV: Gemini
- Redshift: Cool your monitor
- Quote of the week
- Template Metaprogramming XIV: Marathon
- Sorting by random in bash and mocp random updated
- C++ linking WTF
- Vim Sexual Care
- Template Metaprogramming XIII: Heart of Darkness
- Date time WTF
- Template Metaprogramming XII: You Really Got a Hold on Me
- MySQL upsert, Oracle merge
- C++ Namespaces and g++
- Oh my god
- Design Patterns: C++ Idiom RAII
- Fuuuuuuuuuuuuuu (Opera)
- Template metaprogramming XI: Hidden Agenda
- Thanks for flying vim
- The truth about SNMP
- Opera borks gmail
- Elvis is alive!
- Vim tips: make things work again
- There's still hope
- Nooooooooooo
- C++ pretty functions
- Template metaprogramming X: Zero Minus Ten
- Binary portability in Linux
- Vim tips: make things work
- Template metaprogramming IX: Absolute Zero
- Just WTF
- Template metaprogramming VIII: A Rough Whimper of Insanity
- Oh shit, the stack
- Template metaprogramming VII: The Enemy Within
- Deleting > Writing
- Level up!
- Template metaprogramming VI: The Spider Webb
- Dealing with Office on Linux
- Template metaprogramming V: Face to face
- Random WTFs
- Template metaprogramming IV: Nightmares to come
- Ubuntu: Sound still FUBAR'd
- I'm a pirate!
- Buguntu family album
- Template metaprogramming III: Entering Pandemonium
- Ubuntu: Dual screen still FUBAR'd
- Template metaprogramming II: Openning the box
- Vim tip: Word count
- Company policy
- Template metaprogramming: A slow descent towards utter maddness
- Changing default file associations in gnome
- I hearth Berkeley
- Fixed string: POD String datatype
- POD types in C++
- Operator sizeof (AKA Reading Berkeley's FM, take II)
- Reading Berkeley's FM
- I hate Berkeley
- You know you're a geek...
- Cofeeeeeee
- C++: Composite objects and throwing constructors
- Valgrind – OCI: Suppressions file, Take II
- Back for round II
2009 73
- Console Ninja
- New talk on the way
- D.A.T.A.E
- Retrofitting unit tests for legacy code
- Vim Tip: Open file in new tab
- Methods and instance variables: should there be a difference?
- Zomg! happy (late) birthday
- Write in C
- Lighty WTF
- What I like about Linux and C++
- Grumpy Old Man: What I Hate About SQL
- Vim Tip: Folding FTW
- Your money or your life!
- gdb: debugging multithreaded applications
- Ubuntu Day
- CM WTF
- sed magic: a simple guide
- gdb: graphic (tui) mode
- First Ubuntu Day in Buenos Aires
- Vim Tip: Rot 13
- Console foo: Scheduling commands
- C++: incredibly useless stuff
- non-vacations
- "Good Linux users don't talk about Microsoft"
- More preprocessor wizardy: strings
- Tech Support
- Something to add to your news reader
- C++ oddities: Self initialization
- Ubuntu: Dual monitors
- Ubuntu: Annoying terminal warning
- C++: Magic callbacks solved
- mocp rand
- C++: Magic member callbacks
- GNU/Linux: Emergency Restart
- Vim Tip: Select everything
- LaTeX: Including Source Code
- LaTeX: including documents
- Vim Trivia
- LaTeX: Makefile
- LaTeX: LyX Revisited
- Welcome!
- Unique var name with C/C++ macros
- LaTeX: format basics
- Vim Tip: Easy Indent
- vimrc: Vim startup file
- apt-get install new computer IV: round up
- Editors Learning Curves
- Vim Tip: Know your blocks!
- Testing & mocking: C++
- Testing & mocking
- Quote of the day
- LaTeX basics
- Vim Tip: Partial Search & Replace
- self.uptime = 725328000
- Vim: Success
- A case for LaTeX
- apt-get install new computer III
- Everything is a file A.K.A. Battery state on Linux
- Latex
- Vim Tip: Visual Mode
- Fixing keyboard problems in Ubuntu J.J.
- Vim Tip: Find Next
- Ubuntu J.J.
- FLISOL / Presentación
- Vim Tip: Using markers
- Flisol
- Vim tips: Using macros
- Valgrind - OCI: Suppressions file FTW!
- Vim tips: Moving the cursor to a letter
- Tip of the Week
- Introducción a GNU Linux
- Valgrind FTW
- Changing default shortcuts in gnome