Skip to content

thoughts

Total Engineering

You've heard the expression "total war"; it's pretty common throughout human history. Every generation or so, some gasbag likes to spout about how his people have declared "total war" against an enemy, meaning that every man, woman, and child within his nation was committing every second of their lives to victory. That is bullshit on two basic levels. First of all, no country or group is ever 100 percent committed to war; it's just not physically possible. You can have a high percentage, so many people working so hard for so long, but all of the people, all of the time? What about the malingerers, or the conscientious objectors? What about the sick, the injured, the very old, the very young? What about when you're sleeping, eating, taking a shower, or taking a dump? Is that a "dump for victory"? That's the first reason total war is impossible for humans. The second is that all nations have their limits. There might be individuals within that group who are willing to sacrifice their lives; it might even be a relatively high number for the population, but that population as a whole will eventually reach its maximum emotional and physiological breaking point. The Japanese reached theirs with a couple of American atomic bombs. The Vietnamese might have reached theirs if we'd dropped a couple more, but, thank all holy Christ, our will broke before it came to that. That is the nature of human warfare, two sides trying to push the other past its limit of endurance, and no matter how much we like to talk about total war, that limit is always there…unless you're the living dead. For the first time in history, we faced an enemy that was actively waging total war. They had no limits of endurance. They would never negotiate, never surrender. They would fight until the very end because, unlike us, every single one of them, every second of every day, was devoted to consuming all life on Earth. That's the kind of enemy that was waiting for us beyond the Rockies. That's the kind of war we had to fight.

— World War Z: An Oral History of the Zombie War, Max Brooks


This was going to be a long post, but nothing I wrote makes much sense to me. The general gist is that AI reduces the cognitive cost of "engineering", of sitting down and do research or cost-benefit analysis, etc. "Winging it" was the rational choice, because the cost of doing better was higher than the expected value of the improvement. This has changed because of AI. And this is happening across all level of humanity: from the individual to the group (company, state/society, ideology/religion, etc.).

Everyone has their own story of how AI helps them with something. AI before healthcare visits, AI for "digital afterlife", AI companions, AI to rehearse hard conversations, etc. etc. etc.

Companies are throwing capital (human and financial) at documentation, which is a few steps remove of having "company as code", which is a few step remove from the theoretical one-person unicorn. But any industry or job that has a computer will be touched by AI.

Government AI usage I don't know much about, but I can only imagine that it's being used in a similar way to companies, but with more focus on public services and policy making. And other, more worrying, use cases like surveillance, propaganda, and warfare.

Now Pope Leo XIV already came out with Magnifica Humanitas, but some Korean Buddhists adopt their first Buddhist Monk. Could some day we have an official Christian AI accessible to everyone at all times? you can already go and converse with any notable human in history.

The point is that AI is going to transform everything.

Yet, this technology, this means of liberating the mind from from "cognitive load", is not free like the internet (yet?) and it's not open source (yet? kinda? Linux-of-AI when?) and it can be taken away from you.

So if we know that everything about life is going to be "engineered" by AI, the question staring down at all of us like the barrel of a gun is: Who owns the AI that is doing the engineering?

Betrayal is insidious

in·sid·i·ous — /inˈsidēəs/ — adjective

proceeding in a gradual, subtle way, but with harmful effects.

I've been thinking about betrayal, and how its after-effects spreads silently, hampering people, and teams, and projects, and partnerships, ultimately leaving a trail of just extra work and high-intensity emotions for both sides.

Specifically, the story goes like this. There is smaller company that is entering into a business partnership with a much bigger company. The bigger company only work with the small company because the small company already has a long-time partnership with a significant mutual client. At first, things went well, the big company just integrate with the smaller company's technology. People from both companies get to know each other a little bit. It's still business, but it's not uncomfortable.

That project went great, so executives from all sides decide to take things up a notch. This time, for this new project, the smaller company is going to create some custom work that the bigger company is going to integrate with, all under the eyes and expectation of the mutual client.

There were Slack channels created, shared Google docs, weekly meetings scheduled, statement-of-works signed. And like all technology projects, deadlines just seems to creep up on both sides. Soon, there were scores of Slack threads and email threads for engineers from both sides to interface on the inevitable quirks of the system being built. And it's not like everyone has communication hygiene, multiple questions are asked in one go, the other side would provide some answers the same thread, some were answered in totally different thread, maybe some are replied in a different medium or over video meets, etc.

The "betrayal" came when the project manager of the bigger company came to a meeting, in front of the mutual client — probably to either cover their ass or backed by their executive — with a Google Sheet they compiled of all the "unresponded questions" that the smaller company has not responded to. Were the bigger company's PM technically correct? Sure. Were they right? Absolutely not. The smaller company's executive was baffled, the project manager wasn't prepared and couldn't give a good defense, the engineers (which weren't in the room) had to scramble and play catchup after the fact, going back over weeks of conversation to compile when and where answers were provided.

Did business goes on as usual? Of course. the smaller company stuck to the statement of work after that. Were appropriate information relayed in backchannels to the mutual client? Sure, they still like the smaller company afterall. Did communication slow down by alot? Absolutely, for now the smaller company is also always going to be in "cya" mode.

Letter to an incoming CS Undergrad

Dear Jiana,

I heard from your mother you are enrolling as a Computer Science major in undergraduate.

First of all, I want to congratulate you on successfully getting to college. Though it might seem "everyone goes to college these days", that does not diminish your achievement in the least. Comparisons matter, but by definition only relatively. The work you put in through 12 years of schooling and then college application and everything else were tasks given to you as a child explicitly or implicitly. Maybe you did or did not like them, but what matters is you saw things through to completion. So again, congratulations.

Second, I want to welcome you to the field of computers. It's a friendly field; the hacker ethos means there is always someone willing to reach out and help -- as long as you put in the work first ;). It's also, very surprisingly, very accessible. Programmers like nothing else than to extoll and trumpet their works; fortunately for programmers, they also invented the internet. You will soon hear and see and meet many many bright, talented and industrious persons in this space that you can learn from. Have fun making new friends!

Third, it's alright to take a while to being "good". Maybe you won't even want to be a good programmer. But if you do, it takes time. There's no instant cheat code. The only cheat codes I know are to study a lot, do side projects a lot, meet and follow interesting people and see what they're doing alot (find "Hacker News" and make it your daily ritual to skim through the headlines). Admittedly, I'm not very good or was very late at doing any of those, but maybe you can make use of it. There's no cheat code to being "good", work hard!

Fourth, I think the aspect that makes programmers fall in love with programming is the freedom. With software, you have freedom to do almost anything. If you can think of it, it can be done. I've been doing this for 5 years now (including time in college), I don't think I got it until this year, so don't fret if you don't get it right away. The freedom to do what I want is honestly intoxicating. I am only limited by my thoughts and transferring them to my fingers. I hope you will find that freedom as well.

Finally, it's ok to switch direction. I was in chemical engineering for 2 years in college before I landed on computers. At first, I thought CS would be my minor. That intro class got me hooked and I went all in. Maybe for you it would be the other way, you don't like computers at all, you hate looking at screens all day, your posture has gone bad and your eyes hurt, you just don't enjoy it the way others seem to. That's fine. Don't make decisions you feel you will regret later. Do things because they make sense to you and your priorities. Be careful of sunk-cost fallacy. People's advice are just that, advice. Remember that it's your life and your future. At 18, you became an adult legally, that comes freedom and responsibility to yourself. Lookout for yourself!

Finally, the only concrete advice I'll give you is going to be in this paragraph. get a Mac computer or install Linux on your machine and know that Windows sucks. Use the command line. Put all your homework and notes and diaries and projects on GitHub or something similar, even if they're only private to you. Use the command line. Self-marketing doesn't have to be icky, think of it as "increasing the surface area for luck to land on"; or, in other words, start writing a blog and share. Use the command line. Protect your eyes, I suggest doing something physical once every two days at least. Use the command line. Slow is smooth, smooth is fast, and we must be as fast as possible because it's always better to be fast; so learn how to type faster, learn how to read faster, learn how to learn faster. Use the command line. Read Hacker News. Use the command line.

Good luck and hack on!

from your mother's colleague,

Viet Than

experimental films with Linh p1

I had nowhere to go by Douglas Gordon is an audio experience where I wince as a man continually hack a beet dangerously close to his fingers and have a staring contest with a chimpanzee. Also, entirely carried by the tales of Jonas Mekas's escape from war-torn Europe and his early years in New York City.

binge

About 4-5 weeks ago, it started with Legend of the Northern Blade, well really it starts with /r/manga. Now, of course that little few chapters won't get me anywhere, so next came Red Storm cause it's martial arts, and ki, and that was oh so so exciting! But the ending was a little weird, and the mentor character was interesting but not explained, thankfully there is Peerless Dad which is set in the same universe. That was Korean, and martial arts excitement hasn't ended, of course we've got to at least check out Gosu S2 a little bit. At this point, I am a little bored with manga/pictures, so we have to swtich to webnovels of course. The first one was Omniscient Reader's Viewpoint, but that was dark and depressing by the end. Not like horrifying, more like gut-wrenching in how people would sacrifice themselves for others. I clearly needed something way lighter to cleanse my palate. That's when I stumbled on A Stay-at-home Dad's Restaurant In An Alternate World, that was a light, easy read. But very frustratingly, it didn't have an ending. Can you understand that? like reaching for the "NEXT" button but nothing's there. It was close to finishing the thirst. I took the plunge and browsed Completed on b o x n o v e l. Finally, I landed on Rebirth to a Military Marriage: Good Morning Chief. I felt complete, I felt really complete then. It was an amazing novel. An amazing amazing story.

PS: Wed Jun 1 2022, lol, let's also add The Legendary Mechanic

PPS: Sun Jun 26 2022, ok, let's really really end this binge-ing with Tales of Herding Gods. Which is so good I would re-read and do a YouTube channel on it if I could.

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" %}

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.

society is not ready 2

I had a thought the other day, that if there really is a Superman. he would have used his superhearing and hear the cries and whispers of people locked in cellars/basement all over the world.

I dare WarnerBrothers to make a movie about that.

Why write blog?

Steve Yegge already say this better than I do.

Also, looks like google site is where old blogs migrate and archived

Starting a log

So I've noticed that I read alot, share what I have read a lot, but I don't store them anywhere for searching later. So I'm using GitHub Pages to do it. Should be fun.