Ghosts of OSI: The Spectre Haunting IP

The dominance of the Internet protocol suite has made it hard to think of anything else. Yet in the 80s and 90s, an alternative to the IP model (outside of the proprietary vendor-specific suites like SNA or DECnet) was challenging its rise: the Open Systems Interconnect, or the OSI protocol suite. The short story is while IP won, OSI didn’t disappear completely. It left its view of the world, the seven layer stack, in every CCNA course – even when it doesn’t fit IP at all.

More than that, it also left several protocols still in use today and made its mark on everyday software. They might be rebased onto IP, but their origins were in OSI. Who’s still out there?

Continue reading

Why ThinkPads are overrated and misunderstood

Before I begin, I’ll make a note that I actually do like and use ThinkPads. However, I hate how technologists (well, the ThinkPad enthusiast community, often seen on thinkpads.com, /g/, or /r/thinkpad) have constantly misunderstood them, be it celebrating workarounds for clumsy flaws, or are completely ignorant of their history. Nowadays, I’ve switched to a MacBook Air (since I want a compact laptop that was lightweight and got good battery life… and I am a sucker for an actually good RISC CPU), but I often buy ThinkPads as a “known quantity” for whatever age of machine I need. That is, I know exactly what I’m getting into, and they’re widely compatible with whatever you throw at them. However, I often recommend other lines of machine, be it something radically different like a MacBook or Surface, or something that’s actually more like what a ThinkPad enthusiast’s platonic ideal of a ThinkPad is, like a Latitude or Let’s Note. This post sums up my opinions why.

Continue reading

Fixing VisualEditor not being able to contact RESTBase server

If you set up a new wiki with MediaWiki 1.35 (since it adds the PHP-based Parsoid server), and you get this error trying to load VisualEditor:

Error contacting the Parsoid/RESTBase server: (curl error: 28) Timeout was reached

It’s because the server is trying to contact itself with the server name (hostname/IP). If it’s a DNS name, then make sure the name it uses resolves to itself; a quick fix was to add it to the hosts file.

RISC-V isn’t as interesting as you think

I had wrote this before the Unleashed was revealed, so some of the bits on economics have changed. As of writing this, I still stand by my other beliefs. One of the most hyped things in hardware design is RISC-V, the open ISA available without license fees. Many organizations including Western Digital have pledged support for RISC-V, and the open source community has a lot of faith in it, and with Nvidia’s recent purchase of Arm, people are concerned. However, I feel these hopes are somewhat misleading, as RISC-V’s openness is less at the benefit of the user and more for CPU vendors.

Continue reading

FreeBSD 12.1 on a QNAP TS-251

I had recently gotten such a NAS for dirt cheap (they didn’t know what they had!), and wanted to put it into useful service. The specifications include a Celeron J1800, and mine had been upgraded to 8 GB of RAM in its past life.

The OS on these things (QTS) is bizarre; basically a homelab in a box, but it’s sludge. The UI is some fake desktop thing, in the vein of eyeOS/YouOS of old. There are servers for things like LDAP, MariaDB (recommending you use phpMyAdmin…) and RADIUS, but I’m not sure who would even use them. There’s even an X server running, for some reason – with IR remote support! This thing is really a low-end SMB-for-SMB and Plex box through and through. I didn’t really like the OS though, so I decided to load something else on.

Continue reading

ARM64 programs built with Visual Studio crash with 0xC000007B

It’s because Visual Studio seems to copy an x86 version of the VC++ runtime into system32 on ARM64 systems. That’ll make it crash with a bad image format error. If you copy the ARM64 version of vcruntime140.dll (for me, found in C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.28.29325\arm64\Microsoft.VC142.CRT) into the build directory, binaries will work.