Category: Posts

  • Disjoint Set Union (aka Union-Find)

    Theory Algorithms, 4th edition by Robert Sedgewick, Kevin Wayne 1.5   Case Study: Union-Find Union Find on Cubits.ai Implementation in C++ Practice https://atcoder.jp/contests/practice2/tasks/practice2_a

  • Must read

    Retries Exponential Backoff And Jitter AWS SDK Retry behavior Error retries and exponential backoff in AWS Example in Java The following example is not meant to be complete, its goal is to give you a good idea of how to configure your AWS clients.

  • Isolate the rightmost (least-significant) bit

    Fast & elegant: Tests Output Brute force Output for the new version Practice 231. Power of Two 191. Number of 1 Bits Related concepts Two’s complement

  • Generate files with random bytes

    The following command grabs 20 Mb of random bytes from /dev/urandom and saves it to rnd.bin: Generate a bunch of files:

  • Kadane’s algorithm

    I just learned about this algorithm, which is considered a dynamic programming approach. However, depending on the implementation, it might not resemble dynamic programming at all. Check out the implementation presented on Wikipedia: That does not look like dynamic programming to me. Now let’s look at the following implementation: Can you see it now? I’m…

  • AES encryption in Go

    Here is a program I wrote to learn how to use the Go libraries for AES encryption. Build & run I hope it helps. References Advanced Encryption Standard Advanced Encryption Standard (Wikipedia)

  • Build C/C++ libraries with debugging support

    I’ve been debugging a program which uses certain library on CLion. The IDE is great, but I cannot see most of the code from the library, the debugger shows me assembly code, and that’s not very helpful. The solution was to build and install the library with debugging symbols: The actual commands for my particular…

  • Hello-World AWS Encryption SDK C/C++ program

    In one of my projects, I need to encrypt and decrypt data in C, specifically using the AWS Encryption SDK. The SDK supports C, but the documentation is not very clear, in my opinion, so I decided to share my hello-world implementation with my learnings. Setup I’m working on Ubuntu, however, not all distributions are…

  • Hello-World CGO program

    I’m sharing my first CGO program, I hope it helps. File structure: hello.c hello.h main.go Build & run References I followed Cgo: First steps tutorial, but the examples provided didn’t compile for me (see error down below), I had to create a header file (hello.h) and a source file (hello.c), as shown in this post.…

  • Interesting programming problems

    The following problems were either difficult to solve, provided a valuable learning, or both. I’m putting them here so as not to forget a bout them. Drinks Three Pairwise Maximums FashionabLee Captain Flint and Crew Recruitment