Haupz Blog

... still a totally disordered mix

A Free Cloud Offer for Personal Projects

2023-11-26 — Michael Haupt

For some personal experimentation projects, I’d like to use a virtual server somewhere out there. Since I have my personal domain (including this blog) hosted at Strato, I decided to use their offering, and got disappointed quickly. It costs money (not too little either), but the performance, reliability, and connectivity are rather bad. (10 seconds to establish an ssh connection? Come on.) Customer service offers the most basic helpfulness. So I closed that chapter.

Cloud providers looked like an interesting alternative. Google and AWS have good, industry-standard, offerings, and I had dabbled with them in the past in personal projects. Also, my previous and current companies use them.

But I was curious about my former employer, Oracle’s, cloud offering. They offer an “always free” tier that has some limited (of course) but interesting characteristics. After all, there are people running Minecraft servers in that tier, so it can’t be all weak and lame. In fact, the Ampere (ARM) server with up to 4 CPUs and 24 GB memory looks rather interesting.

Sign-up was weird but, given I know the place a bit from the inside, not too surprising. The sign-up confirmation page told me I’d receive an e-mail with the details within 15 minutes or so. Having not received that e-mail after several hours, I reached out to customer support, only to be told that approval for the provisioning had to be processed by several teams, which could take a while due to full queues. Yup, that’s typical bureaucratic Oracle, nothing unusual to see here.

Two days later, the account was provisioned in the German data center. I logged in, only to find a well structured and rather clear console. I worked my way through a tutorial for setting up a Docker environment, adapting it to the newer version of Oracle Linux I found in my VM, and it worked flawlessly. Performance was pleasant, ssh access instant. As mentioned, the console is fairly clear and usable.

What next? Should I set up that Minecraft server?

(Note that this isn't a paid ad at all.)

Tags: hacking

WIP Gets in the Way

2023-11-24 — Michael Haupt

At some point, I needed something rather important to be completed (in an asynchronous work collaboration with some folks) that ended up not being completed. I was really frustrated, because I thought we had a clear agreement on both the work that needed to be done and the time by which it needed to be done.

That kind of thing always gets me wondering about my communication of expectations and objectives.

And then Twitter dropped another piece of John Cutler goodness in my lap, and it all becomes clearer. Watch him explain, in a 5-minute video, the maze of circumstances and consequences that lead to things that everyone agrees should happen, well, not happening.

So it’s not just my communication, it’s also my and others' work in progress (WIP) level. Addressing that involves emphasising the exercise of mutually providing the right degree of transparency about what keeps everyone busy, and amplifying the feedback loops around that.

Tags: work


2023-11-18 — Michael Haupt

When it first came out, I found myself being drawn into watching Netflix' adaptation of The Sandman, storyline by the great Neil Gaiman. I hadn’t previously read the comic books, so I could judge only from my watching experience.

The series is amazing. It succeeds at creating a mood that’s constantly ever so slightly eerie (with some really gross parts that are however never exaggerated). The mood is sustained by perfectly fitting music, and some really good acting. Visually, it’s stunning, and the stories are surprisingly deep. This is a masterpiece.

I then also checked out the comic books, and that made me appreciate the series even more: it's congenial. This is all fantastic.

Tags: the-nerdy-bit, books

The Secret Life of a Mathematica Expression

2023-11-18 — Michael Haupt

The Mathematica software has been around for quite a while now. It pioneered notebooks (eat that, Jupyter) and was already pretty advanced when it first came out.

Most of the time, Mathematica is seen as that super powerful and rich environment for doing all things math. Which it is. What’s less appreciated is that it comes with a complete programming language that enables all these things. The language is based on just one fundamental principle, pattern matching. It may be a little awkward to appreciate that 3+4 isn’t just simply an addition, but involves some pattern matching before doing the computation.

A former colleague at Oracle Labs, David Leibs, has put together a nice (and increasingly nerdy) presentation on The Secret Life of a Mathematica Expression that I highly recommend. Be warned, it goes pretty deep on the semantics and how they can be used to build that big math brain extension called Mathematica. But it’s also highly instructive as a deep look into how a different and definitely not mainstream programming paradigm works, and how powerful it is.

Tags: the-nerdy-bit, hacking

A Quote on Meetings

2023-11-11 — Michael Haupt

Recently, I found myself in an internet debate with someone over a Peter Drucker quote. Before going into the details, I’d like to mention that Mastodon is really not that different from Twitter; it really is the people that create the atmosphere, not the protocol or owner. Also, the “debate” ended up being pretty one-sided; I found that there really is no point in playing chess with pigeons. Anyway. I’m grateful there’s a block list.

The quote goes like this: "Meetings are by definition a concession to deficient organization[.] For one either meets or one works. One cannot do both at the same time."

Of course, my take on meetings is a very different one, and I don’t appreciate oversimplifications of the matter. The quote, without any context, certainly reeks of oversimplification. All the details of my brief pigeon chess episode aside, I ended up reading relevant parts of the original source of the quote, Drucker’s 1966 book “The Effective Executive”, because I wanted to understand the background. The quote is from chapter 2.

Since the book is about “executives”, let’s establish clarity about whom Drucker is writing. In his words from chapter 1: "Every knowledge worker in modern organization is an “executive” if, by virtue of his position or knowledge, he is responsible for a contribution that materially affects the capacity of the organization to perform or to obtain results." This clarifies that Drucker’s term “executive” includes knowledge workers with the quoted capabilities, not just people from the higher echelons of management.

In other words, the notion of “meeting” applied here is broader than “executive board meeting”. That’s really important to know, because the assumption now is that - slightly simplifying - whoever spends any time in a meeting is wasting time, always, with apodictic certainty. Since I have earlier branded this kind of take on meetings as nonsensical, the quote warrants a closer look.

Here it is, again, including some sentences following it: "Meetings are by definition a concession to deficient organization[.] For one either meets or one works. One cannot do both at the same time. In an ideally designed structure (which in a changing world is of course only a dream) there would be no meetings. … We meet because people holding different jobs have to cooperate to get a specific task done."

In other words, Drucker is describing a utopia and blames reality for not being that utopia. He immediately concedes that, to get work done, knowledge workers need to cooperate: a truism. This cooperation takes place in: meetings. And it is, consequently: work.

Drucker may be a management guru, but that piece, right there, is just plain incoherent. And 1966 is long, long ago. I'm done playing chess with pigeons.

Tags: work

Executive Communication

2023-10-28 — Michael Haupt

Executive communication is a relevant skill not just for managers. In smaller companies, individual contributors can easily get some exposure to execs to give them relevant input for decisions. I’d like to share some things about exec communication that I’ve found useful. (I learned some of these the “hard way”, no need for you to do that as well.)

When you approach an exec for a decision, always make clear first thing what it is you need from them, and provide only the most crucial information at first. Don't lose yourself in story telling and providing all the details. You think they're important because they fuel your point of view and recommendation (and you prepared them all, dammit), but they might not be necessary because the value they add might be limited in the context the exec is operating in. The exec will ask if more information is needed, and if you have it ready, that will be great.

I learned this one the “hard way” - in quotes, because the person who was my VP at eBay at the time is an extraordinarily gentle and kind human being. I made the usual mistake: I brought a meticulously prepared slide deck (18 slides or so), with all the important details clearly laid out, a thorough narrative with a really good story arc, only to land precisely on my recommendation for how to proceed on the last-but-one slide. On slide 4, my VP interrupted me and asked the plain question: “Michael, what do you need from me?” I fast-forwarded to the last-but-one slide, and three minutes later things were settled, which involved me going back to one or two of the detail slides at the VP’s request.

The best compliment you can get from an exec when providing input for a decision is "no further questions"; it means they have all the information they need to make that decision. So even if the decision in the end might not be the one you wanted, you'll still come across as capable of preparing the decision making very well. The more senior an exec is, the better they should be at making decisions with incomplete information, and at pulling in the information they might still need.

Tags: work

A Spreewald Roundtrip

2023-10-27 — Michael Haupt

It's been about a year ago, but still interesting to share. In September 2022, my family and I had gone to the Spreewald “capital” Lübbenau for a short weekend trip, and it was beautiful. The four of us spent most of Saturday kayaking from Lübbenau to Lehde and back - a most wonderful experience. My wife shared a kayak with our son; and I, with our daughter. See below for the route (I omitted the detours). Of course we had lunch at some point (note the red star).

It’s a very different way of hiking, very calm. There are almost no boats with motors around - we met but one during the entire trip. Punt boats were a thing, most were heavy with tourists, and because it’s the rules, we had to make way for them. They were very tolerant of our low skill level at steering our kayaks and had some helpful advice for which way to go.

Lehde is a fascinating little village - there are very few streets there, and they’re not necessary, because the many canals serve the same purpose. Even Deutsche Post (our national snail mail provider) comes by punt boat.

We could not say no to having some food typical of the region, and that means bread with lard, and gherkins. Delicious.

Tags: misc

Google Meet Hardware Support

2023-10-22 — Michael Haupt

You know the feeling: you’re in a Google Meet call, have some relevant things open in several browser tabs on the other monitor, you want to push some button in the Google Meet window (or leave it), but you first have to find that mouse pointer, move it over to the right window, navigate it to the right button, and finally, with an exasperated sigh, click it. Maybe there are keyboard shortcuts, but for those to work, you still have to bring the focus to the meeting window first. If only there was a thingamajig that could do the trick.

Turns out there is. Enter Stream Deck. (Unpaid ad.) Add to that a dedicated Chrome plugin for Google Meet, et voilà:

So this thing, which connects via USB, has 15 buttons with little LC displays in them that can be programmed to trigger just about any activity by using its standard app. It’s apparently popular amongst streamers, but why should they have all the fun?

The aforementioned Meet plugin is a dedicated thing that directly talks to Chrome’s implementation of WebHID. That’s beautiful because no device driver is needed. The plugin is very well done: it reconfigures the buttons depending on the context Google Meet is in. On the Meet home page, it will show buttons to enter the next scheduled meeting, and to start a new unscheduled one. In the meeting, it shows the buttons you can see in the photo above. They also change when pushed: for example, the image for the mute button (bottom left) will turn red and show a strike-through microphone image while muted; and the button for raising your hand will get a blue background while the hand is up.

Since I took the picture, the features have changed: the Stream Deck now displays more buttons for interacting with the meetings, e.g., switching on/off the emoji reaction bar, and so forth.

Occasionally, Google decides on a whim to change the DOM ID of some of the buttons on the Meet page. That means the respective buttons on the Stream Deck stop working. It's an easy fix, though: simply inspect the page elements with the Chrome built-in tooling, change the plugin JavaScript source in the right place, and reload the plugin.

All in all, this is a productivity booster.

Tags: work, hacking, the-nerdy-bit