The Curious Engineer

All blogs / C++

Infinite monkey

monkeywritescode.blogspot.com

Wroks in my machine

C++Linux / UnixDev tools / editors / IDEs

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

  1. Fix Spotify deeplinking in Linux + custom SpotiWeb UI
  2. Translated to Chinese!

2021 5

  1. Bash script preamble
  2. Where is the fun in that?
  3. reboot succesful?
  4. sudo reboot
  5. Hello wordl\n

2020 4

  1. Vimtip: Open path
  2. Weak symbols to mock c-APIs with gmock/gtest
  3. jq: grep and prettify json
  4. Mixin(ish) classes with parameter packs in C++

2019 11

  1. Presenting tips: make your presentations suck a bit less
  2. Bash tip: Default value for a variable
  3. std::is_constant_evaluated: make debugging a little bit harder for yourself!
  4. Vim multiple search
  5. Bash: Color in command line prompt PS1
  6. The bestest autocomplete for Vim
  7. Howto: shutdown a TV with HDMI CEC Chromecast
  8. Say nice things
  9. GCC instrumentation flag: slow everything down!
  10. Chromecastic Slideshow
  11. VimTip: Search and f(replace)

2018 4

  1. std::byte - great idea. Meh execution?
  2. -Wmisleading-indentation
  3. GitHub tip: Prefill a bug report
  4. Happiest bug report

2017 3

  1. Geotagging in Ubuntu: more broken than ever
  2. Fixing templates with constexpr's
  3. Quick refresher: argument dependent lookup

2016 40

  1. Google Test: Quarantine for tests?
  2. Vimcrypt
  3. Things you should never do
  4. Self reminder: setting the default boot option in UEFI
  5. Simple vim plugin IV: project greping
  6. Simple vim plugin III: a polymorphic project greper
  7. Simple vim plugin II: a psychic project greper
  8. Simple vim plugin I: integrating new commands
  9. The best hack you should never use
  10. Vim tip: custom commands
  11. Ageing Stack overflow?
  12. Awesome quote stolen from "The Embedded Muse"
  13. Vim utilities: Findgrep & Fastgrep
  14. Vim utilities: Impl switcher
  15. Vim utilities: Better Tab New
  16. Shared pointers: don't
  17. C++: Why is undefinedness important
  18. Deobfuscate your bash
  19. Awesome (and useless) trivia: Ubuntu's first bug
  20. KSnapshot is getting smarter
  21. I can't believe this works!
  22. Some sane advice from Firefox's console
  23. Quickly sharing files in Linux via HTTP
  24. Initialization oddities: Aggregate initialization
  25. Code and Google translate: awesomeness
  26. Ubuntu 15.10: Ubuntu ME
  27. Gimple
  28. Vim tip: Replacing builtin commands
  29. Public service announcement: searching your terminal's output
  30. Vim tip: autocommands
  31. Bash tip: idiom to get the first error code from a pipe
  32. smaps: A quick memory analysis
  33. Some new set operations in C++11 stl
  34. Goto hell
  35. PSA: OEM unlocks may result in wiped filesystems
  36. KDE: Lock screen from CLI
  37. VLCFreemote: no need to leave the couch
  38. Don't exit gdb just to run make!
  39. On the poor state of geotagging applications for Linux
  40. gdb-tui and the previous-command problem

2015 20

  1. Android studio and ndk-gdb to debug a native app
  2. Useful predefined variables in make
  3. Vim tip: reload your vimrc
  4. ndk-gdb life tip: use --verbose
  5. I now write Android apps: presenting Tripping Photo Manager
  6. Debugging multiple processes with gdb
  7. cerr vs cout
  8. Vim tip: "polymorphic" key bindings
  9. PSA: Use nautilus (GTK) in Kubuntu if Dolphin crashes
  10. Vim tip: Stop escaping slashes
  11. C++: A jump table with a template device
  12. Globing in bash
  13. gdb: Print very long strings
  14. gcc: Optimization levels and templates
  15. Bash traps: almost like RAII for bash
  16. C++: Invalidating references to elements in a vector
  17. Code natural selection
  18. Ruby-style digit separator for C-98?
  19. Vim Tip: I want more menus!
  20. Scope ending in C++

2014 2

  1. Gdb hit count: ignoring breakpoints (for a while)
  2. Extending the life of a temp variable in C++

2013 85

  1. Static initialization in C++
  2. Vim tim: quickly switch from header to impl
  3. Setting up a Linux GW VIII: Proxy and content filtering
  4. Human friendly c declarations
  5. Setting up a Linux GW VII: Fun with iptables, setting up port forwardings
  6. Automagically setup breakpoints with gdb
  7. Setting up a Linux GW VI: Configuring a console friendly router and setting up static DHCP IPs
  8. Have you checked your stack?
  9. Setting up a Linux GW V: DCHP
  10. Some gratuitous MSVC bashing
  11. Setting up a Linux GW IV: Setting up apparmor
  12. A C++ template device to obtain an underlying type
  13. Setting up a Linux GW III: Setting up DNS with bind9
  14. Gcc tip: better disassembly
  15. Five years
  16. Setting up a Linux GW II: NATting and forwarding
  17. C preprocessor VII: Recursive expansion on function macros
  18. Setting up a Linux gateway/router, a guide for non network admins
  19. C preprocessor VI: Recursive macro expansion rules
  20. Vim tip: Jump to a tag definition
  21. C preprocessor V: Conditionals
  22. Vim tip: open file under cursor
  23. C preprocessor IV: VA Args
  24. Stopping commits on git
  25. C preprocessor III: Token pasting
  26. Vrapper: a real text editor for Eclipse
  27. C preprocessor II: stringify operator
  28. Crazy git error
  29. C preprocessor: Just a simple replacer?
  30. Avoid compile warnings from 3rd party libs with gcc
  31. Git tip: auto update your ctags
  32. Pictag: finally a simple geotagging tool for Linux
  33. Force a program to output to stdout
  34. C++ exceptions under the hood appendix III: RTTI and exceptions orthogonality
  35. A random slideshow in Ubuntu
  36. Mocking in C++: the virtual problem
  37. Counting lines per second with bash
  38. Starting an EMR job with Boto
  39. A coverage report for C++ unit tests
  40. My own gdb cheatsheet, just because
  41. A tardis in gdb? Reverse a program's execution!
  42. Useless code: a template device to calculate e
  43. Watchpoints in gdb: wake me up when foo changes
  44. Detecting and ignoring third party memory problems with Valgrind
  45. C++ exceptions under the hood appendix II: metaclasses and RTTI on C++
  46. C++ exceptions under the hood appendix I: the true cost of an exception
  47. Bash scripting and getops
  48. C++ exceptions under the hood 21: a summary and some final thoughts
  49. Vim tip: remember undos
  50. C++ exceptions under the hood 20: running destructors while unwinding
  51. C++ exceptions under the hood 19: getting the right catch in a landing pad
  52. Vim tip: some cool moves
  53. C++ exceptions under the hood 18: getting the right stack frame
  54. C++ exceptions under the hood 17: reflecting on an exception type and reading .gcc_except_table
  55. Vim tip: relative numbers
  56. C++ exceptions under the hood 16: finding the right catch in a landing pad
  57. C++ exceptions under the hood 15: finding the right landing pad
  58. Tip to migrate from VMWare to VirtualBox
  59. C++ exceptions under the hood 13: setting the context for a landing pad
  60. C++ exceptions under the hood 14: multiple landing pads & the teachings of the guru
  61. Learning misspells: thanks Vim!
  62. C++ exceptions under the hood 12: and suddenly, reflexion in C++
  63. C++ exceptions under the hood 11: reading a CFI table
  64. C++ exceptions under the hood 10: _Unwind_ and call frame info
  65. Vim tips: my github's vimrc
  66. C++ exceptions under the hood 9: catching our first exception
  67. Awesome festival
  68. C++ exceptions under the hood 8: two-phase handling
  69. An awareness test
  70. C++ exceptions under the hood 7: a nice personality
  71. Vim tip: no swap
  72. C++ exceptions under the hood 6: gcc_except_table and the personality function
  73. Hive speedup trick
  74. C++ exceptions under the hood 5: magic around __cxa_begin_catch and __cxa_end_catch
  75. Powerpoint monkey
  76. C++ exceptions under the hood 4: catching what you throw
  77. Bebugging / Fault injection
  78. C++ exceptions under the hood 3: an ABI to appease the linker
  79. Monitor file changes on a CLI
  80. C++ exceptions under the hood II: a tiny ABI
  81. Quick C/C++ reference on the console
  82. C++ exceptions under the hood
  83. Cool C++0X features XVII: Lambdas syntax
  84. Cool C++0X features XVI: Lambdas
  85. "The VM session was closed before any attempt to power it on"

2012 24

  1. Printing broken in Ubuntu? Try lpr
  2. Setting up a Linux gateway/router
  3. Non standard UML: decomposing inheritance in sequence diagrams
  4. Using masqd for custom subdomains
  5. CLI music FTW!
  6. Checking connectivity for port forwardings
  7. g++ has a (mean) personaility
  8. Tailing Google app engine's logs on realtime
  9. Boot Linux in single user mode
  10. Cool C++0X features XIII: auto and ranged for, cleaner loops FTW
  11. Hugging borked on Ubuntu?
  12. Vim tip: goto column
  13. False sharing in multi threaded applications, part II
  14. False sharing in multi threaded applications
  15. Easy bind dns log analyzer
  16. Redirecting connections from one port to another with iptables
  17. stlfilt: read ugly tmpl errors
  18. Fastgrep, a cache for grep
  19. Fixing keyboard layouts in Ubuntu. Scarier than it seems.
  20. Getting a stacktrace on C/C++: Mapping function pointers to function names on runtime
  21. Getting a stacktrace on C/C++: Mapping function pointers to function names in obj files
  22. Getting a stacktrace on C/C++: Some calling internals
  23. Faking a server and testing networks with netcat
  24. gdb pretty printers

2011 65

  1. Anonymous objects in C++
  2. Fixing end of line styles between Linux and Windows with SVN
  3. C++: Checking if a method exists in a parent class
  4. svn tip: branch stable version, then use externals
  5. Fixing some annoying GTK Warnings
  6. C++ name mangling
  7. New Buguntu, new GUI, new problems
  8. Annoying "unable to find a medium containing a live file system" in Ubuntu
  9. Passwordless ssh
  10. Dell and Ubuntu CPU Scaling
  11. Cool C++0X features XV: Initializer lists for custom (non-std) objects
  12. Dennis Ritchie > /dev/null
  13. Starting Ubuntu in console mode
  14. Cool C++0X features XIV: Initializer lists
  15. Open Office, master documents and headless
  16. Cool C++0X features XII: type inference with auto
  17. DIY gnome applets
  18. Cool C++0X features XI: decltype and disappearing constness
  19. Running commands on Windows from Linux, through ssh
  20. Throwing destructors
  21. Zero padding for Bash scripts
  22. 200th post!
  23. Automagic document conversion for your makefiles
  24. Activating tildes and accents for a USA keyboard layout in Ubuntu
  25. A talking makefile
  26. Edit pdf files in Ubuntu
  27. A Makefile for code coverage report with C++
  28. Link: ASCII graphs, 2.0 style
  29. A Makefile for TDD with C++
  30. Makefiles
  31. Living on a null object
  32. Vacations are over
  33. Funny queries: What Google thinks of me
  34. Final classes in C++
  35. LD magic in Linux
  36. Cool C++0X features X: type inference with decltype
  37. sshfs, quick remote mount
  38. Cool C++0X features IX: delayed type declaration
  39. Vim: Ni! Ni! Ni! Ni!
  40. Cool C++0X features VIII: Variadic wrapper and type inference with decltype
  41. Repeat (and fix) last command
  42. Cool C++0X features VII: A variadic wrapper solution
  43. Another downgrade achieved
  44. Go home
  45. Cool C++0X features VI: A variadic wrapper
  46. Just to remind you
  47. Cool C++0X features V: Templates and angle brackets, a short interlude
  48. Eclipse watch expresion
  49. Cool C++0X features IV: Variadic templates again
  50. Know your history (at least in bash)
  51. Cool C++0X features III: Variadic templates, a fix for varargs
  52. echo "Hola mundo" > /dev/full
  53. Cool C++0X features II, Variadic templates: What's wrong with varargs
  54. Cool C++0X features I: Intro
  55. Hex dump in C++
  56. Newsflash: C++ object commits sepuku
  57. CRTP for static dispatching
  58. Time your time
  59. Moving away from DB IPC
  60. DB IPC: Communicating processes the wrong way
  61. Truth be told
  62. I thought we had deprecated regedit
  63. Using BoUML as a case tool
  64. Vim Tip: Vigor
  65. BoUML: A usable UML editor for Linux

2010 69

  1. Oh sh....
  2. A callgraph for C programs
  3. Brillant corporate inteligence
  4. Easier inbox count with Gmail Favicon script
  5. Template Metaprogramming XVI: Appendix
  6. mv, mf, Ubuntu's "did you mean?"
  7. To log or not to log
  8. Know where your objects live
  9. Stacktrace or GTFO
  10. Template Metaprogramming XV: Gemini
  11. Redshift: Cool your monitor
  12. Quote of the week
  13. Template Metaprogramming XIV: Marathon
  14. Sorting by random in bash and mocp random updated
  15. C++ linking WTF
  16. Vim Sexual Care
  17. Template Metaprogramming XIII: Heart of Darkness
  18. Date time WTF
  19. Template Metaprogramming XII: You Really Got a Hold on Me
  20. MySQL upsert, Oracle merge
  21. C++ Namespaces and g++
  22. Oh my god
  23. Design Patterns: C++ Idiom RAII
  24. Fuuuuuuuuuuuuuu (Opera)
  25. Template metaprogramming XI: Hidden Agenda
  26. Thanks for flying vim
  27. The truth about SNMP
  28. Opera borks gmail
  29. Elvis is alive!
  30. Vim tips: make things work again
  31. There's still hope
  32. Nooooooooooo
  33. C++ pretty functions
  34. Template metaprogramming X: Zero Minus Ten
  35. Binary portability in Linux
  36. Vim tips: make things work
  37. Template metaprogramming IX: Absolute Zero
  38. Just WTF
  39. Template metaprogramming VIII: A Rough Whimper of Insanity
  40. Oh shit, the stack
  41. Template metaprogramming VII: The Enemy Within
  42. Deleting > Writing
  43. Level up!
  44. Template metaprogramming VI: The Spider Webb
  45. Dealing with Office on Linux
  46. Template metaprogramming V: Face to face
  47. Random WTFs
  48. Template metaprogramming IV: Nightmares to come
  49. Ubuntu: Sound still FUBAR'd
  50. I'm a pirate!
  51. Buguntu family album
  52. Template metaprogramming III: Entering Pandemonium
  53. Ubuntu: Dual screen still FUBAR'd
  54. Template metaprogramming II: Openning the box
  55. Vim tip: Word count
  56. Company policy
  57. Template metaprogramming: A slow descent towards utter maddness
  58. Changing default file associations in gnome
  59. I hearth Berkeley
  60. Fixed string: POD String datatype
  61. POD types in C++
  62. Operator sizeof (AKA Reading Berkeley's FM, take II)
  63. Reading Berkeley's FM
  64. I hate Berkeley
  65. You know you're a geek...
  66. Cofeeeeeee
  67. C++: Composite objects and throwing constructors
  68. Valgrind – OCI: Suppressions file, Take II
  69. Back for round II

2009 73

  1. Console Ninja
  2. New talk on the way
  3. D.A.T.A.E
  4. Retrofitting unit tests for legacy code
  5. Vim Tip: Open file in new tab
  6. Methods and instance variables: should there be a difference?
  7. Zomg! happy (late) birthday
  8. Write in C
  9. Lighty WTF
  10. What I like about Linux and C++
  11. Grumpy Old Man: What I Hate About SQL
  12. Vim Tip: Folding FTW
  13. Your money or your life!
  14. gdb: debugging multithreaded applications
  15. Ubuntu Day
  16. CM WTF
  17. sed magic: a simple guide
  18. gdb: graphic (tui) mode
  19. First Ubuntu Day in Buenos Aires
  20. Vim Tip: Rot 13
  21. Console foo: Scheduling commands
  22. C++: incredibly useless stuff
  23. non-vacations
  24. "Good Linux users don't talk about Microsoft"
  25. More preprocessor wizardy: strings
  26. Tech Support
  27. Something to add to your news reader
  28. C++ oddities: Self initialization
  29. Ubuntu: Dual monitors
  30. Ubuntu: Annoying terminal warning
  31. C++: Magic callbacks solved
  32. mocp rand
  33. C++: Magic member callbacks
  34. GNU/Linux: Emergency Restart
  35. Vim Tip: Select everything
  36. LaTeX: Including Source Code
  37. LaTeX: including documents
  38. Vim Trivia
  39. LaTeX: Makefile
  40. LaTeX: LyX Revisited
  41. Welcome!
  42. Unique var name with C/C++ macros
  43. LaTeX: format basics
  44. Vim Tip: Easy Indent
  45. vimrc: Vim startup file
  46. apt-get install new computer IV: round up
  47. Editors Learning Curves
  48. Vim Tip: Know your blocks!
  49. Testing & mocking: C++
  50. Testing & mocking
  51. Quote of the day
  52. LaTeX basics
  53. Vim Tip: Partial Search & Replace
  54. self.uptime = 725328000
  55. Vim: Success
  56. A case for LaTeX
  57. apt-get install new computer III
  58. Everything is a file A.K.A. Battery state on Linux
  59. Latex
  60. Vim Tip: Visual Mode
  61. Fixing keyboard problems in Ubuntu J.J.
  62. Vim Tip: Find Next
  63. Ubuntu J.J.
  64. FLISOL / Presentación
  65. Vim Tip: Using markers
  66. Flisol
  67. Vim tips: Using macros
  68. Valgrind - OCI: Suppressions file FTW!
  69. Vim tips: Moving the cursor to a letter
  70. Tip of the Week
  71. Introducción a GNU Linux
  72. Valgrind FTW
  73. Changing default shortcuts in gnome

2008 10

  1. apt-get install new computer II
  2. Tdd
  3. Splitting flac and ape files in Debian / Ubuntu
  4. Back online!
  5. Ruby: Method chaining
  6. Lyx
  7. Blog post
  8. apt-get new computer
  9. self.start
  10. etc/init.d/blog start