I never learned about containers. The OS-level virtualization kind. In this article I'm documenting my journey of trying to understand what it is all about and hopefully getting excited about virtualization. Continue reading..
I recently quit my job at Butterfly Network and am now spending some time writing code I am excited for, covering topics I want to learn more about. It is an incredible feeling to start with a blank source-code file. It can also be somewhat intimidating - many decisions must be made. But in my case it was quite liberating as I did not care about technical debt or making the perfect decision. I am just tinkering. Continue reading..
As a computer scientists working on image processing algorithms I know about the frustrating process of hunting bugs on massively-parallel architectures like GPUs. Sometimes those bugs can produce completely incorrect images or sequences of images but with a certain aesthetic appeal. Continue reading..
Inspired by an old but brilliant Clifford Stoll [video](https://www.ted.com/talks/clifford_stoll_the_call_to_learn/up-next?language=en) and by my desire to get back into running experiments and reporting the results, I recently set out to measure the speed of sound using a set of Roland CS-10EM binaural microphones and a Zoom H2n I borrowed. Continue reading..
As sometimes is the case I'm a bit late to the game when it comes to new technologies. This has the effect that when I try out those new technologies I get excited in the same way folks got excited for it months or years ago. Continue reading..
Over the last 3 years I read and listened to a number of books. Some of them stood out to me for one reason or another. I am listing those books here. The list serves the purpose of reminding myself of the interesting tidbits in the book, why I enjoyed it and why I might want to read it/listen to it again. I tried to categorize them but I don't think that is particularly helpful - it is also hard. The box are all fiction books and a mix of history, technology, science, aviation, memoir and biography. Continue reading..
At a high level backfilling in Airflow is a mechanism that allows (re-)execution of Airflow DAG instances for a specific time interval. It is a useful but inherently fragile and brittle process in Airflow. Continue reading..
If you ever wrote software or designed hardware in a regulated industry, it is very possible that you interfaced within a Quality Management System (QMS). I personally have seen a couple of different incarnations of such a system: from paper-based with wet-ink signatures to fully database driven and smart-card sign-off. Especially at smaller companies, paper-based systems are common. Templates, checklist, manuals, SOPs and protocols are created often as Word documents, are edited, sent, printed, signed, revised, edited again, etc. Continue reading..
A common gotcha when working with airflow is to determine when a DAG is going to execute, and what the execution date-time is going to be when it executes. Especially if a DAG relies on processing data for a given execution date-time only to ensure idempotency. The best way to think about this is not in dates or timestamps but time-spans. An Airflow DAG run is going to cover a times-span - i.e. it is going to process data that was generated/received/added etc. in a given time-span. Continue reading..
More posts can be found in the archive.