Not boring, and a bit of a condescending prick
239 subscribers
32 photos
117 links
Semi-digested observations about our world right after they are phrased well enough in my head to be shared broader.
Download Telegram
Folks, just for my sanity, if the goal is to generate unique auto-incrementing uint64_t IDs in multithreaded C++ code, then:

1) std::atomic::fetch_add() is guaranteed to do the job correctly,
2) Also, if x is std::atomic_uint64_t, then uint64_t next_id = x++ is guaranteed to do the job correctly,
3) Furthermore, next_id = ++x would also work correcty,
4) Although, of course, mixing next_id_1 = ++x and next_id_2 = x++ is definitively buggy code.

Right?
Sorry in advance for bugging y'all with my work setup topic. It still interests me though, I'm counting on some help from the lazy web, and the thoughts may benefit others. So here they are.

Basically, what I'm looking for is a portable work setup where 𝘁𝗵𝗲 𝘀𝗰𝗿𝗲𝗲𝗻 𝗶𝘀 𝘀𝘂𝗯𝘀𝘁𝗮𝗻𝘁𝗶𝗮𝗹𝗹𝘆 𝗮𝗯𝗼𝘃𝗲 𝘁𝗵𝗲 𝗸𝗲𝘆𝗯𝗼𝗮𝗿𝗱. The number one objective is to prevent myself from looking down all the time.

From experience I know my neck and back and posture are immensely grateful when I manage to work straight. And, obviously, using the laptop with its built-in keyboard is an almost sure way to always look down neck-wise.

And I work from various random places a lot, so the setup should be portable. We're not living in a world where there's a decent coworking chain present in all the places I am finding myself in where I could just have a membership for a standing desk with my favorite keyboard. So, "Starbucks-friendly" is a good way to formulate this requirement.

The idea to have a built-in power bank is theretore optional. Originally I was assuming the setup would need some heavy & solid foundation to be stable, and the best thing to fit into this foundation was a power bank plus some USB-C KVM adapter. Batteries are good these days though, so this requirement is probably redundant.

What I'd love to have though is a MagSafe/Qi2-like magnet. These things rock these days. But then again: magnets are good even without the charging capability.

Stand-wise thus, I'm looking at some hybrid of the two attached images. Tall enough on the one hand, but nicely looking and compactly foldable on the other hand. It should not be embarrassing to set it up in a few seconds in a coffee shop, and it should fit the backpack nicely.

So, for the physics / geometry question, if you have suggestions for the above part, I'd be delighted to hear them.

Now, for the actual work part, as in, the computer. My setup will include an external keyboard. regardless. Mouse optional, I'm a vim user, and most screens these days are touch screens. With an external keyboard though, I'm finding myself to be OS- and platform-agnostic: even Android would do, as long as I can install a version of it that supports multiple users, to not mix my personal stuff with work, social media, banking apps, etc.

Now, at this point, I'm open to many options. It could even be a Microsoft Surface (!), which is lying flat at the bottom as the base (!!), so that what's magnetically mounted to the stand that butterflies out up and above is a portable external monitor (!!!). Seriously, I'd be fine buying a powerful "keyboard-equipped tablet" and sentencing it to be forever used "face-down", as the portable CPU + GPU + battery + LTE.

(Yes, I've looked into portable computers, but they do not come with batteries and are of the wrong shape. If there is a way to buy a "screenless" and "keyboardless" laptop, I'm down.

However, with modern-day glued-up-anything magnetic stripes, I don't think I'd be sacrificing the very Surface-et-al tablet if I take this path. Yes, I'd glue four thingies at the corners of its back side, and yes, in my backpack it'd stay "magnetically mounted" to the stand that unfolds, so that I could take it out with one move and put up the external screen with another one. The external screen could also be mounted magnetically. Heck, it could even be one of those foldable screens, so I get double the diagonal once it's opened up.

We're on to something with this thought experiment. But then again, power and cables. They would be a pain. Maybe then my "business machine" should "just" be a powerful Android phone, with an external monitor and a KVM switch + power bank remaining in my backpack for the duration of the "Starbucks work session".

What do you think? Have you seen / wanted / built anything similar? If so, please let me know. I'm down to experiments, up to and including ordering something custom-made from a local mechanical shop enthusiast and/or from Kickstarter.

Two pics in the comments.
If you are seriously considering an academic career, esp. in Europe, please do watch this video by Sabine.

To make it super clear: I personally believe Sabine is what a scientist should be attitude-wise and mindset-wise. Unfortunately, this breed of people is pretty much extinct from academia, "thanks to" incredibly effective negative natural selection.

So next time I politely ignore arguments that have to do with peer review and the number of citations, that's about the best way to explain my views of the field.
Tried on my Windows — true indeed!
My licensed copy of Windows (tm) 11 does not have a functional spreadsheets app out of the box. Excel does open ... and then it closes immediately as it is not "registered".

Lol and rofl that under Windows Subsystem for Linux (tm) there is ... drum rolls ... LibreOffice Calc, which works out of the box, and is even suggested from the Start (tm) menu as I've used it several times.

I mean, really, why can't we have nice things? Are PC consumers that indifferent these days?

The bottom line is that I did sincerely give Windows a try, but will be going back to Linux now. I spend most of my time in WSL regardless, and have to refer back to Chromium / Google since Edge / Bing are not perfect for tricky queries. Plus, the Copilot pop-up is annoying, and it's not easy to turn off (I've edited the respective registry key and now instead of opening Copilot Win+C "just" opens Edge, hehe).

And the fact that the "Recall" feature is even considered for development is already a red flag to my taste. Because even if MSFT walks back from it now, I know how corporations work — the product itself will not go anywhere, and even if they promise they've scraped it it'll keep lurking here, there, and everywhere.

Also, in some 2000s and 10s you would imagine the company's stock to tank after such an announcement, while today I actually believe it will go up — investors love "AI" and what is Recall if not more training data for next gen "AI" models?

Alas, so long, and thanks for all the fish.

The only thing I'll really miss is single-digit millisecond end-to-end mouse responsiveness, but oh well.

And there's always dual-boot. I'll still use Windows to record Full HD videos (several times a year) and to play Starcraft (several hours per year, sigh).
Сrazy thought on democracy and it working.

There's a growing wave — which I of course support in my heart — that goes along the lines of:

• If The People are not heard and the country/government acts against the expressed interest of The People, then this country/government can not be considered democratic.

While I — again! — agree with this in spirit, Norway presents and interesting "counter"-example.

• Norway has oil.
• Norway is quite wealthy per-capita.
• Norway maintains a sizable stabilization fund.
• Most voters complain along the lines of "why can we not have nice things when the country sits on this pile of money".
• The country chooses to keep investing this pile of money long-term instead of spending it.
• End result: not a single time in a lot of years the incumbent government won the elections.

Did I mention tax rates are quite high in Norway?

So we have a situation where the country, a clearly advanced one, routinely, decade after decade, goes against its own citizens' expressed interest.

Should "true democracy" win on Norway, people would vote to effectively redistribute this stabilization fund money among themselves. Handouts and/or lower taxes and/or whatever other means.

And yet this is not happening. And I, for one, would not bet on this happening any time soon. Even though, arguably, the average democratic voter in Norway would much prefer to see themselves have more money, not less.

Go figure.
☝️Sorry for the spam in Russian, but we're going live today with another Dima, just in a few hours.
My take on the CrowdStrike incident is exactly what @Komzpa half-jokingly said a while back.

“Catastrophies will ensure humankind prevails!”

I’m not _in favor_ of bad things happening. Of course. But the healthy attitude is to embrace them.

We, the technology sphere, have admittedly lost it. Boeing comes to mind first, well, second now. We have let the tech-illiterate career-driven bureaucrats run the show. We, the engineers, have crawled into our holes doing good work where we can, since fighting this corporate and enterprise monsteroucity is not our strength.

Game-theoretically, then, more catastrophies is a *good* thing. Because it is a wake-up call our industry, or maybe the whole planet, is long overdue for.

I’m an avid Linux user. FreeBSD rocks too. Open source kicks ass. UEFI et. al. are just terrible ideas, since they remove and obfuscate who and what really is in charge of pretty damn important things.

We were not listened to. I still have plenty of friends who sincerely believe the closed ecosystem of Windows is more stable and more reliable than “a bunch of freaks”. And who sincerely believe we should make our society cashless, but not properly-decentralized cashless but rather all the way around.

Well, I may be wrong and they may be right. Time will tell. So far though we have plenty of evidence in a very particular direction. I sure hope no one in their right mind would design a nuclear power plant to be operated by Windows 11.
A random idea, but it's about time for me to emit it into the wild.

Project (startup?) idea: An instrumented UI-first testing tool based on computer vision.

Effectively, Selenium but for everything non-browser.

Cucumber-style test descriptions, plus a set of pre-trained models that understand commands such as:

‣ Press the red "OK" button in the lower right corner.
‣ Scroll the top-level pane down until "Solution" appears.
‣ Wait until "Build succeeded" or "Build failed" has appeared on the screen.

Intended reference use case: DevEx teams testing the company-wide IDE setup, so that a new version of some PyCharm / VS Code plugin does not break some important flow.

"Page" load time testing: see how long an app, say, the IDE, takes to load until it is fully functional. I.e. until it can open the project, open a source file in it, and have code completion work with a trivial test case.

Also, works well for performance testing too. For example, to test responsiveness of some team messenger apps, open the same chat window (or a shared doc) from different VPNs around the globe, type the next character only after the one added by the "previous step" agent makes it there.

Would be quite big these days, huh?