Skip to content

2022

The Internet Changed My Life (2022)

A search engine that favors text-heavy sites and punishes modern web design

Why russia's economy is immune to western sanction - Money & Macro (2022)

/r/WaxSealers . a subreddit for people who like to seal their letters the old fashioned way

\<scirDSL> I hated going to weddings. All the grandmas would poke me saying "You're next". They stopped that when I started doing it to them at funerals

"Everyday a fool and a smart person wakes up. When they meet, business are made" - Brazillian saying

"What's the silliest thing you staunchly believe, support, or will do to support what you know is an otherwise unreasonable stance?

For instance, I refuse to read The Infinite and the Divine because I think Necrons are boring and I don't want to find them interesting. I've heard its really good and but I just can't risk it."

"GPS". or how Viet spent 15 minutes manipulating a rope

"Research is just learning something no one knows yet"

"It is extremely hard to be an investor and a doomer". or climate change analyst meet trying to build wealth

The shortest tallest building by state is in vermont at 38m. It has 11 floors.

How a democrat turns Republican. - /u/VelveteenAmbush

How a Trump voter turned on Trump cause of Jan 6. - /u/VelveteenAmbush

"In this comment I want to make the case for why I think there was a plan to keep Trump in power even though he had lost the 2020 election and the factors that prevented such a plan from being executed." - /u/Hailanathema

Frodo

I told this to close friends before, but it's worth writing again.

When I first read Lord of the Rings, I thought Frodo was boring. He wasn't heroic like Aragorn, nor was he wise like Gandalf. Frodo was just walking and "suffers" from the ring. I would skip Frodo's parts when I re-read.

Having now been through what I have experienced, I would still skip Frodo's parts on re-read. Not because I thought it's boring, but because the invisible pain hits very close to home.

Rob of Cinelabs

In tech, we use many words for old hands at coding that can weave miracles out of scraps such as wizards, greybeards, or Old [insert name here]. Today I met a wizard, and as such I would like to write about Robert Houllahan of Cinelabs.

I was at a "swimming party" for film processing, "swimming" because manual processing so much film takes boatloads of water, and found my way to the couch with some salad for dinner with my gf. My girlfriend then tugged on my sleeve and pointed out a quiet, unassuming man, definitely 50+, maybe even 60, beer belly showing with a camera in his side bag and one of those camo pants with lots of pockets. Oh and a man bun. Go see his linkedin for a profile lol. "That's Rob!" she said, "That's Rob!". "Who?" I asked. "Rob of Cinelabs! All Vanderbilt's student films get scanned there and I remember writing a long email to Mr. Houllahan for the first time asking.....". (Imagine a Kpop fan seeing a kpop star from afar). Somehow, Rob came to sit next to us as we had dinner, just ambled himself onto the armchair next to our couch.

My girlfriend, obviously, had to introduce herself. And then Rob told us that he is the man that helped setup Steve Cossman's scanner that I wrote about in niche tech in film. At that point I am piqued. One simply knows that Rob is gonna be absolutely delightfully interesting. And so 25 minutes of scanner tech talk begins.

From resolution dimensions, lens specifications, stabilization software, databus sizes, storage problems, SSD vs HDD and accompanying tools, operating systems, to supply chain origins, UI/UX improvements, historical (brief) walkthrough of scanner tech history and recent developments. Rob lists every detail on any topic, in a chain unending. There might be an intro to his answers? maybe a topic sentence? but never a conclusion. Sometimes, I knew I had to cut in because time is short (party conversations has a certain energy gauge you have to ascertain constantly), but I was enthralled. Here was a master, and even though I only understand about 33% of what's going on, I had to ask them.

At one point, Rob stood up and goes to get more pizza. I think that meant my time was up. I had a feeling Rob is a solitary man, and goes where he pleases (even if he really doesn't show it). We didn't interact much afterwards but I did get a handshake before heading home. His hands were warm.

Last note: Researching online about Cinelabs, I get a distinct feeling modern filmmakers are sometimes frustrated about the lack of communication when put in an order. I think they don't realize the work that goes in processing millions of feet of film a year in such a tightly run ship. Also, since it's so very very unlikely that Rob would see this blogpost, I like to hypothesize, based on my short interaction with the glacier that is Rob Houllahan, that the man could be on the spectrum. He is a wizard though, that's for sure. Not to mention, he is a site sponsor of cinematography.com, and is ALWAYS ONLINE! Seriously, check his profile! He even has a tiktok!.

{% include centerImage.html url="/assets/rob_of_cinelabs.jpg" desc="Rob and me" title="A meeting at Gowanus Darkroom" %}

GF on UNSC

My girlfriend had an off-day today, which meant she spent her afternoon watching YouTube videos on the current Russian invasion of Ukraine. Through a segment on Seth Meyers, my gf found her way to the live recording of the United Nations Security Council giving their votes on a (largely symbolic) resolution. Here's how she summarizes it:

It's the tone. you have to watch the tone! Everyone is like "you suck!", US was like "that's right!", UK was like "that's right!", but Brazil was like "we find the situation deeply troubling...."

It was cute. That's all. Not a good day for many people today, so we should appreciate the treasures along the way.

a few thoughts today

So we heard the CVS on 3rd Ave near us will be closed. I was somehow under the impression that that location is a CVS franchise, and was saddened because the Chinese woman owner seemed like a hardworker. Now that I've done my research I am glad at the very least she's just another worker and hopefully they didn't lay her and her staff off.

Also, https://whimsicalkyle.wordpress.com/.

niche tech in film

I just want to post about this sexy beast that is currently situated at the Mono No Aware film lab in Brooklyn, New York. Let me try colorfully recount what Steve Cossman, Mono's director, tells me:

This is 1 of 18 machines in the world. The hardware is handbuilt by one guy and the software is handbuilt by another. Its full cost is \$250,000 but they made one at \$30,000 for Mono. It's got 32TB of hard drive temporarily as the guy will come next week to upgrade that. It's hooked up to a Windows PC that host the processing software, export to the data tower and we've got a Mac hooked up to that for ease of data transport. Scans 8 frame a second at 4K resolution. We drove it to the lab in the middle of a snow squall, and I have to thank a cinematography.com guru for helping set it up for us.

{% include centerImage.html url="/assets/niche_mono2.jpg" desc="what a sexy scanner" title="Xena Film Scanner" %}

{% include centerImage.html url="/assets/niche_mono1.jpg" desc="Xena control module" title="what are all those knobs?" %}

That's it, just niche tech that most will not get to see. Unless they come to Mono No Aware.

scaling with openvpn

You know your company is growing if your openvpn --max-client limit suddenly needs to be made bigger than the default 1024 or else the OpenVPN server suddenly dies and everyone thought it's a firewall issue.

It started around 2PM, our resident SysAdmin-Extraodinaire Dave, was sitting in the seat next to me when he suddenly says out loud "I can't connect to any jbrains". Ray who sits opposite me reached for his keyboard, typed a few things, and confirm "huh, I can't connect to any either". Hearing that, the other support engineers started doing the same thing, verifying that they too can't connect to any jbrains.

At this point I should explain what are the jbrains. They're AppCard's brains in the field, deploying one to each merchant that we work with, handles any business logic, watch and alter POS transactions, send back data to our remote servers. From our servers, we can ssh into any of the jbrains to do maintenance, debugging, retrieving logs, etc. In short, they're the most important component in the AppCard hardware system, and now none of us can connect to them.

Almost instantly, the entire Ops team was roused into a flurry of activity. The Ops Manager didn't notice at first (he's very plugged in), not until the first of the Account Manager started pinging him on Slack, and then physically walked over to ask what's going on. Dave has left only one message on the prods alert channel saying: "jbrains are down. looking into". Within 10 minutes, a Google Meet where every engineer that has not yet left work was invited to join (in Israel it was dinner time). The CTO couldn't join but he was able to guide debugging through Slack, with some very insightful questions on "are the iptables up?". Dave himself went into the jbrain provisioning room all by himself, for focus I guess, and did his furious typing there.

Are the jbrains down? No, Account Managers are reporting discounts are still being applied. Are the servers configured correctly? Yes, and no one was changing anything recently. Is OpenVPN up? yes, we have multiple and none died, and failover processes would have been triggered. Can we connect to jbrains we have in the office? No, well, yes, but not through our VPN servers. Is it AWS? No, we can get into the servers and we can connect to the jbrain through network IP. What do you see when you connect to the jbrain directly and look at its log? it says they cannot reach the VPN server. Can't reach or can't connect? Can't reach, "no route to host". Can you connect to the VPN server? Yes, lemme attempt restart of servers. This reminds me of something, is iptable on? No, it's not on, wait, it's only disabled, not stopped, and the server restart restarted iptable. Disabling now.

It was like the sunrise. Green numbers started popping up on all the dashboards, jbrains flood the connections, logs started sprinting, the database suddenly see a spike in CPU and memory utilization due to backlog of transactions needed processing. For a moment, things were alright. People could breathe and ask "what happened? why did it happen?". Only Dave here suddenly ping on slack, "wait, nightmare not over, jbrains connections started dropping".

At this point I phased out, I knew Dave could fix it, and he did, because with the second time having to restart servers, Dave noticed when the number of connections reached 1024, the VPN servers started dropping connections. It was because of the default --max-client on OpenVPN.

Fun.

how do you database?

At my previous job, govtech/tax-tech, the database was just as important as the code. Now what do I mean by that? Mooney explained it best on this exact topic:

Given how much thought and effort goes into source code control and change management at many of these same companies, it is confusing and a little unsettling that so much less progress has been made on the database change management front. Many developers can give you a 15 minute explanation of their source code strategy, why they are doing certain things and referencing books and blog posts to support their approach, but when it comes to database changes it is usually just an ad-hoc system that has evolved over time and everyone is a little bit ashamed of it.

I believe the quote above is true. Admittedly, I'm only a 1+ YOE software engineer, but having jumped ship from a govtech consultancy to a startup, I find there is a lot to compare between how databases is treated and how this leads to a better developer experience.

What follows is a series of features I found missing at my current place of work.

1. Version Control

Schemas have version control. The system detects any changes made to the schema (In fact, the company never taught you to alter tables with SQL) because you would make table structure changes through the system. Deleting/removing columns, adding or editing comments, addibg/editing indexes (and probably many more), local changes are "synced" with the shared work server, where it assigns a version number for your structure. Migrations from local to testing environments and then, ultimately, to Prod, is simply having the environment point to the right version.