Cpt. Kobra

Software engineer & host of the Post Mortem podcast. I write about the stuff I build and learn.

Optimizing Productivity: My System for Impactful Work Without the Overhead

Finding the balance between planning and executing Today I'm sharing the productivity system I developed over the past 3 years that shapes the way I work. If you, like me, have often felt that you spend more time planning than actually doing, or if you've been searching for a method that prioritizes impactful work over meta-work (think: scheduling, planning, task management), then this read is for you. Below are concrete tools, methods, and examples that I found useful to streamline my workflow...
Read post

#9 Tips to have in mind when listing your place on Airbnb

I started listing my apartment on Airbnb a few months ago. I couldn't bear the idea of having an asset worth hundreds of thousands of $$ just being unused whenever I'm away from Paris. After having rented my place a dozen times I learned a few things. 1 Don't be cheap. Cheap places attract cheap people. In my experience, I got more questions asked about nitty-gritty details of the studio and things already mentioned in my listing description when I listed my studio for cheap. Also, I usually ...
Read post

How to process & export rich text in Qt

As a freelance Software Engineer, I get the chance to work on a vast set of technologies. For one of my clients, I often need to implement features in a C++ backend using the Qt framework. If Qt makes lots of things easy with its built-in modules, sometimes it's unexpectedly hard to achieve something you thought would be trivial. I just had an example of it for rich text processing. So let's dive in and see how you can iterate over rich text in Qt and export text and formatting information in ...
Read post

Finding bottlenecks in your python app

"Early optimization is the root of all evil." is a common mantra in Software Engineering. Why profiling? Optimizing for a specific computation when the bottleneck is at the network level isn't the best use of your time. How do you find out which module needs a critical redesign, a better choice of algorithms, or data structures? You can use your intuition and test the water using a few print statements here and there. Let's say you time a DB operation against an image processing task to see...
Read post

ffmpeg, this under rated tool

A few days ago, I needed to convert a recording from .mkv to .mp4. On Google you find a bunch of free online tools for format conversion, but uploading an hour long video just to do a format conversion, and then downloading it back seems overkill. Then I remembered this CLI I heard about a while ago: ffmpeg. As per the the official documentation: FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans a...
Read post

5 Tips to get better at your next technical interview

To become a Software Engineer at a BigTech, you need to ace several rounds of technical interviews. In most rounds, you're asked to implement a solution to a challenging programming exercise and explain your reasoning. They're plenty of resources available online detailing the concepts you should master, graph traversal, big O notation, dynamic programming, etc. to maximize your chance the interview day. But there's one thing that's seriously under looked in the literature: how hard it is to b...
Read post

Why you should use a Reference Manager, as a Software Engineer

The little secret no one told the non Academic folks. We tend to see the world through the lens of the cumulated media that influence us. The same goes for your Software Engineering career; every technical blog posts, research papers, books, online courses, videos, etc. you consume shape the way you tackle a problem. Some pieces of information stand out more than others. And some pieces even give you that Ahah! moment where a foggy concept becomes crystal clear. It would be great to keep those ...
Read post

The secret for a great podcast interview

Preparing for your next interview In my previous article, I wrote about how to find new guests for your show and how you can reach out to them. Now, let's focus on how you can best prepare for your conversation. Doing a solid interview preparation enables two things: 1) You know exactly what you're looking for when discussing with your guest. You've got your direction clearly defined. 2) Freed of the hassle of thinking what to ask next ; you can listen to the speaker and give them your undivi...
Read post

Finding guests for your podcast

I host the Post Mortem podcast where software engineers come to the show and reflect on a challenging project or incident. Since each episode is a 2 way interview, I need to find a new guest every month. Here's the flow I've refined over the past 6 months to ease this booking process: Identify potential guests - be curious & prioritize Reach out - a few rules of engagement Follow up - some bookings take more time than others. Now, let's break down each step. 1.Finding potential guest...
Read post

Getting better at git once the basics are covered

git learning curve is weird One can understand the benefits of using a Version Control System (VCS) in minutes, be familiar with the main commands in a few hours, but it can take years before confidently running a command with --force. Worse, sometimes you just don't know that a command exists, one that could save you hours! I had an ahah! moment three months ago when discovering git bisect, it helps you find a faulty commit in O(log(N)) steps, where N is the number of commits to inspect. In...
Read post

Notes on audio processing

Lost in the spectral domain Starting my journey with deep learning for audio processing As I'm getting into machine learning applied to audio signals, I realize that there's very few ressources available to craft yourself a curriculum. On the other hand, googling for deep learning applied to image processing or NLP will return more results than you can use. Of course more content, blog posts, GitHub repos, online courses, etc. will be available over time. But still, how do you get started in ...
Read post