Author: rendon

  • C++ split & replace

    It’s hard to believe, but after many revisions of the C++ standard, we still don’t have built-in implementations for basic operations like split and replace. See the discussions on Stack Overflow for split and replace. Here are my basic implementations, they should work for most purposes. Split Replace Some tests These implementations seem short and…

  • Productivity notes

    Firefox bookmark keywords for quick search Add keywords for quick search on frequently visited sites. For example, it’s so convenient to simply put m car on the search bar and go directly to the definition on Merriam-Webster. Disable search from the address bar in Firefox I don’t like it when Firefox automatically searches for a…

  • Operations notes

    Reverse lines in a file In vim, you can select the lines you need to reverse and issue :'<,’>!tac. Source: https://stackoverflow.com/a/742485/526189 Compare two files and get only the difference Source: https://stackoverflow.com/questions/4544709. Prepend data to a file Have rsync print timestamps Use the –out-format option. For example: Source: https://askubuntu.com/a/652532/118883 Upload folder to S3 NOTE: S3 is…

  • Software engineering concepts

    Sorted Strings Table (SSTable) “An SSTable provides a persistent, ordered immutable map from keys to values, where both keys and values are arbitrary byte strings. Operations are provided to look up the value associated with a specified key, and to iterate over all key/value pairs in a specified key range. Internally, each SSTable contains a…

  • Must read

  • Rust notes

  • Programming notes

    General concepts Ruby

  • Exclude directories in IntelliJ’s Find in Files

    So, I’m working on a small project. Once in a while I open Find in Files to look something up, but I notice that the search is a bit slow even though I only have a few files. I’m aware of a directory called build/ in my project which contains generated code, but it is…

  • C++: Unordered maps and sets for non-primitive types

    Since C++ 11, we can use unordered sets and unordered maps. However, these data structures only seem to work with primitive types and strings. If you need a pair or a vector as the key, you’re out of luck. Fortunately, it’s possible to use unordered containers with other types, we just have to do some…

  • QuickSelect

    Theory Implementation in C++ Practice