Tag Archives: SciTech

Science, technology (probably mostly around software development), various geekery.

The Thiel question

“What important truth do very few people agree with you on?”

Hashmaps are O(1). The number of people who don’t know this is astonishing.

Function documentation should include pre- and postconditions and invariants (since actual Design by Contract can be problematic due to side effects in call trees). I guess if you’re going to do real DBC, you should only access primitive data members without making function calls.

Logic does not belong in the database.

Caching is good. (Maybe these last two are indications that I’m not working at the right company.)

Developer documentation is worth the effort.

Slack (and MS Teams) is terrible. See above. Curation is worth the effort.

Long ‘switch’ statements are bad. Dispatch lookup tables are (probably) better.

What’s really behind Microsoft’s love of open source – TechRepublic


I guess the old Microsoft really is finally dead*, killed by open source (with a personal note at the bottom).

For decades, MS’s appeal was “let us handle the details, don’t you worry, just click here”, and C-level business types made technical decisions based on that. Then you had the MCSE-type “technical” people who really didn’t understand much except which buttons to click when configuring TCP/IP and IIS.

And everybody who made the choice tried to justify it all as “Microsoft knows best”/”Microsoft is the best”, because nobody wanted to admit they were just clicking buttons in a GUI without really knowing what they were doing.

But the real world came along and crushed Microsoft like a dump truck running over a walnut. There was a lot of screaming about how “open source is a cancer”, but… the market decided that what open source could deliver (high-quality web browser(s), cloud computing based on Linux farms, an entire massive substrate for solution delivery (LAMP stack, as much as I hate MySQL and PHP, Javascript frameworks, CLI tools)), and even Microsoft can’t hold back the tide. Economics.

So, here we are. Everybody in the old Microsoft world that decided that Windows, Visual BASIC and SQL Server were all you need to know are at a disadvantage. I picked inflammatory examples, but more “modern” folks are just updated versions of that: Windows, C#, Razor/Blazor, Azure (which is 99% “click here and don’t worry about the details”, as far as I can tell). That whole “only stuff Microsoft invents (or buys or mentions at Build) is any good” mentality still persists, but it’s (slowly) on the way out.

So, it’s time for me to stop the bitter-old-man routine and realize that my people (-ish; I have no doubt whatsoever there’s a ton of hackers in the non-MS world, too) won and moved on, while I was holed up at a Microsoft shop being bitter.

*Of course, it could always rise up from the grave, a shambling zombie of anti-competitive practices, if it manages to recover its footing.

Coulda, woulda, shoulda. If you have to ask, I don’t wanna explain.

Thread by @oulasvirta: “Rant: Nine reasons why I don’t believe in current VR/AR technology. HoloLens, Magic Leap, and Oculus: Mind-blowing videos, and the market is […]”


Bomp, bomp, bomp. Another one bites the dust.

[I already retweeted this, but I forgot to add it to my blog.]

[Update: Sigh. Apparently, I did add it to my blog, but, for some reason, I didn’t think I had.]

On the Next Big Thing


Noah Smith 🐇 (@Noahpinion) Tweeted:

That answer surprised me. What about AI? Self-driving cars? Robots?

He basically said that none of these things seemed to be working out that well. Self-driving cars had disappointed, AI gains seemed to peter out in most areas after an initial burst of progress…


“Programming Sucks”


Can’t believe I never posted this to this blog.

« Every programmer occasionally, when nobody’s home, turns off the lights, pours a glass of scotch, puts on some light German electronica, and opens up a file on their computer. It’s a different file for every programmer. Sometimes they wrote it, sometimes they found it and knew they had to save it. They read over the lines, and weep at their beauty, then the tears turn bitter as they remember the rest of the files and the inevitable collapse of all that is good and true in the world.

This file is Good Code. It has sensible and consistent names for functions and variables. It’s concise. It doesn’t do anything obviously stupid. It has never had to live in the wild, or answer to a sales team. It does exactly one, mundane, specific thing, and it does it well. It was written by a single person, and never touched by another. It reads like poetry written by someone over thirty.»

TFW you realize SQL is KING at your organization

When an architect dings the new guy’s code review because he didn’t include a change log in a new stored proc because the change log helps support people track changes in the code, then you realize that SQL is king at your organization and will be for a very long time.

The logic will always be in SQL.

The application will always take many trips to the database, because all roads lead to Rome.

No matter what. Object-oriented programming, MVVM (MV*), Agile(tm), functional, whatever. The natural resting position will always be SQL, for all things except the UI.

And possibly even the UI, if we start generating HTML in SQL, which would not surprise me.