Category Archives: SoftwareEngineering

Software Engineering

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 … Continue reading

Posted in ShortPosts, SoftwareEngineering | Leave a comment

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, … Continue reading

Posted in Algorithms & Data structures, Posts, ShortPosts, SoftwareEngineering | Leave a comment

QuickSelect

Theory Quickselect on Wikipedia Implementation in C++ Practice https://leetcode.com/problems/kth-largest-element-in-an-array/

Posted in Algorithms & Data structures, Posts, SoftwareEngineering | Leave a comment

Fenwick tree (aka Binary Indexed Tree)

Theory TopCoder – Binary Indexed Trees Algorithms Live – Fenwick tree Wikipedia – Fenwick tree Implementation in C++ Practice Kattis – Movie collection AtCoder – B Fenwick Tree

Posted in Algorithms & Data structures, Posts, SoftwareEngineering | Leave a comment

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

Posted in Algorithms & Data structures, Posts, SoftwareEngineering | Leave a comment

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 … Continue reading

Posted in Posts, SoftwareEngineering | Leave a comment

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:

Posted in Posts, ShortPosts, SoftwareEngineering | Leave a comment

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)

Posted in Posts, SoftwareEngineering | Leave a comment

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 … Continue reading

Posted in Posts, SoftwareEngineering | Leave a comment

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 … Continue reading

Posted in Posts, SoftwareEngineering | Leave a comment