Index ¦ Archives  ¦ Atom  ¦ RSS

Dev onboarding, then and now

Fri 15 December 2023

Onboarding to a new project can be a wild ride. Sometimes, you just have a codebase that "worked on the dev's machine" and no instructions beyond that. Other times there's a documented series of commands to run on your machine that you're generally expected to just trust to not mess …continue

Continue reading →


Running Too Much Kubernetes

Sat 01 July 2023

In my previous post, I mentioned running vouch-proxy to protect internal apps. In it, I didn't mention that I over-complicated it by running it under Kubernetes using nginx as an Ingress instance rather than just running nginx itself.

Turns out, I've been on a kubernetes kick for a bit. As …continue

Continue reading →


Protecting Internal Apps

Thu 13 April 2023

I've been an early engineer/team member of a few companies/startups, as well as an engineer at Google (and later, a second time, at Waymo). One of the big things I missed in the small companies (well, when they were small) that I remembered from my time at Google …continue

Continue reading →


Free Solution #2: Amazon's Item reuse/scam problem

Sun 26 March 2023

Have you ever searched for a common item on Amazon and found items that have strange names, descriptions, etc but have great reviews?

I sure have.

And in the rare instances where I've bought those things, or friends of mine have, they've basically been a lottery ticket in terms of …continue

Continue reading →


Free Solution #1: Uber Eats' Swapped Order problem

Sat 18 March 2023

While at a restaurant recently, I noticed they had multiple shelves of pickup orders. It's a popular local restaurant, so they had orders from all the major food delivery companies, Doordash, Uber Eats, Grubhub, and they all had little receipts on them.

Each receipt had one line printed really large …continue

Continue reading →


Introducing the Free Solutions series

Sat 18 March 2023

There are a lot of problems in this world, and while it's easy to point out problems, it's a lot harder to proffer solutions, especially ones that might actually be reasonable to implement.

I would like to offer the following series as my attempt to do so. If you have …continue

Continue reading →


Completing tasks, even prerequisite tasks, does feel good

Thu 16 March 2023

Another few weeks have gone by, but now there is good news!

The new desktop is fully working, the old one is now relegated to being part of a cluster. My home network is now capable of gigabit transfers, including > 100Mbps download speeds. My laptop is going through the final …continue

Continue reading →


Prelude to actually getting anything done

Sun 05 March 2023

A few weeks ago, I mentioned I would be started this blog up again, and I mean it. However, in the past few weeks I hit a few snags with my personal hardware, and realized how out-of-date it all is.

I initially wrote out a thousand words on my current …continue

Continue reading →


Restarting this blog

Sat 11 February 2023

There's been a pretty long gap here, a little over 5 years, which matches almost exactly with my time at my previous company. I was the second employee, fifth in the room, and spent those 5 years building simulation software and tooling for the autonomous vehicle industry. As a result …continue

Continue reading →


Jumping to the bootloader of an embedded device

Fri 08 December 2017

Jumping to the bootloader from application code is highly desirable for many reasons, such as wanting to be able to reprogram devices in the field without any extra hardware (such as a button) to increase complexity, BOM cost, etc.

The code in this post will be tested on the STM32F070xB …continue

Continue reading →

© Fahrzin Hemmati. Built using Pelican. Theme by Giulio Fidente on github.