Thefoggiest.dev

“Why yes, I do have the foggiest”

On migration, freedom and wokeism: is the right all that's left?

May 02, 2024

Throughout most of the twentieth century, season bound cross-border immigration by people looking for work was considered normal in Europe. People, usually men, would migrate, largely unhindered, into countries like the Netherlands who needed a greater working population for a few months. When the work was done, they would migrate back, certain that they could return the next season when they were needed again. In market economy theory, migration in this form is considered healthy, since it allows for a flexible labour market where companies can easily expand their workforce temporarily when needed.

In the seventies, socialist Dutch prime minister Joop den Uyl vocally regarded this phenomenon as an unequal form of workplace competition, since migrant workers would usually be paid lower wages than native Dutch workers. This was largely a populist stance, since native workers mostly had protected permanent positions and would normally apply for different, higher skilled, jobs. These native workers would also more indirectly benefit from their temporary colleagues because it allowed their employers to service the market in a flexible way without requiring that flexibility from their permanent workforce. Den Uyls policies to close borders for these workers also didn't have the intended effect. Knowing that once they migrated back, they wouldn't be able to return, most immigrant workers opted to remain in the Netherlands.

That is was the left, who originally took that position, does not surprise me. Socialist politicians are traditionally concerned with the fate of the worker. What does surprise me, is that it is the right, traditionally more indirectly concerned with the fate of workers, through the growth of companies and the unhindered functioning of the market economy, have taken over this position. This was nicely illustrated when Dutch chip machine maker and national pride ASML, heavily dependent on high skilled migrant workers, publicly considered moving to France after the radical right won the Dutch elections, last November.

Right-wing parties in the Netherlands tend to use the word freedom a lot. Current prime minister Mark Rutte's party Volkspartij voor Vrijheid en Democratie (People's party for Freedom and Democracy, VVD) is an example, as is incumbent prime minister Geert Wilder's party Partij voor de Vrijheid (Party for Freedom, PVV). While the PVV's vision of freedom has never been sufficiently explained, the VVD's idea of freedom refers to concepts from market liberties. This is why liberal in the Dutch political context refers to the right, not the left.

Ignoring this narrow definition of freedom, right-wing politicians usually maintain that freedom, individualism and personal self-determination are in good hands with them. In this regard, to find wokeness to be a left wing thing is at least as odd as finding measures to protect workers against immigrants at the right. Wokeness, which Wikipedia defines as a broader awareness of social inequalities such as racial injustice, sexism, and denial of LGBT rights, can be regarded as the ultimate expression of personal freedom.

The left is traditionally considered more collectively oriented. Think for example of labour unions, which exist to counter the power of capitalism by standing up against it collectively. One-person strikes are normally not successful. While traditional socialist parties, however, appear to have trouble retaining voters, the progressive left has reoriented itself to views such as wokeness, internationalism and nature and climate preservation, which are of less interest to people trying to make monthly ends meet. Still, this shift was to be expected. When at the beginning of the seventies, the Keynesian economy had successfully elevated the masses to middle-class citizenry, the left needed a new direction. Post-materialism formed the presumed outcome, and in such an economy this would not have been surprising.

The economic crises at the start of the eighties and the subsequent reorienting of the right towards neoliberal ideas, however, appeared to have put an abrupt stop to this. The crisis left countless young workers unemployed, and right-wing politicians catered to their chagrin. The ultimate fall of Eastern European communism had post-materialism replaced with a reinvigorated consumerism, and the left couldn't help but shift right. What was left of the left, was left with wokeness and nature preservation, which never delivered them the votes of the masses. Meanwhile, the current coalition forming process, at the precise moment that I'm writing this, seems to be talking about maximum speeds on motorways. To drive fast is to be free, I suppose.

Dutch people say they are living in a right-wing country. Based on what I observe here, they're really not. They want their government to look out for them and protect them against dangers. When media parrot politicians telling voters migrants or wokeness are dangerous, that's what they believe and what they want them to protect them from. When the four parties, currently negotiating about what to base their government on, finally start ruling, they will have to find a way to protect Dutch citizens from what really never was a danger to begin with.


My Philips VG-8235

April 29, 2024

The MSX2 standard (1985) differed from the original MSX standard (1983) on just a few points. MSX2 computers had at minimum of 64 kB RAM and 48 kB ROM with an updated BIOS and MSX-BASIC, a new backwards compatible video chip with at least 64 kB VRAM and a real-time clock. The CPU was still the 8-bits Zilog Z80 clocked at 3.5 MHz and the sound chip was still the three channel General Instrument AY-3-8910. Considering that in June of that year, Atari presented its ST line and in July that same year, Commodore presented its Amiga 1000 computer, one would have expected at least a 16-bit CPU, smooth scrolling in all directions and a sound chip with sample RAM.

Luckily, many MSX2 manufacturers, like Philips, produced computers with more than the minimum. 128 kB RAM and 128 kB VRAM was not uncommon, and the VG-8235, Philips’ second MSX2 computer, had a distinct Amiga/Atari ST form factor, with an internal disk drive, an RGB output port and two joystick ports on its right side. Combined with its 256 colours and multicolour sprites, it was a far cry from being an Amiga, but it really was a step-up from an already owned MSX1 computer. The VG-8235’s manual even calls the VG-8235 “the most versatile and most easy-to-use home computer existing today.” Quite a claim, considering it was launched in 1986, well after the Amiga 1000 and the Atari ST.

Philips VG8235 MSX2 computer, top side

My VG-8235. The wear and tear is the result of an ill-prepared cleaning project by me.

But it wasn’t only the computer manufacturers who had little patience with the meagre update of the MSX standard. Konami, who had established a name for themselves with titles such as Knightmare, The Maze of Galious, Penguin Adventure, the Nemesis (Gradius) series and its spin-off Salamander, upped the game so to speak by adding a sound chip in their game cartridges with a much more grim sound. One of those games was Salamander, of which I had a second hand cartridge. I had a switch installed in it that allowed me to skip the game during boot so that Konami ROMs, loaded from disk, would be able to use its sound chip.

I bought my VG-8235 at an MSX fair in Tilburg in the south of the Netherlands, around 2000, plus or minus 2 years, I think. Anyway, this was the time I already used PCs for more serious work, but I was still heavily invested in my MSX games library. To collect the money for this machine, I had to sell my beloved NMS-8250. The reason I wanted this machine that badly, was that it had received a few upgrades. Its RAM had been expanded from 128 kB to 1 MB, a switch on the back would accelerate its CPU from 3,5 MHz tot 7 MHz, its single-density 360 kB disk drive had been upgraded to a double-density 720 kB drive and two RCA output ports, one for audio and one for video, had been added as well.

Philips VG8235 MSX2 computer, back side

The picture above shows the backside of the VG-8235 with from left to right: the second cartridge port, the newly added CPU speed switch, an RF output port above the cassette tape interface, a Centronics printer port, a SCART output port left of a dedicated interface for a second disk drive, the two added RCA ports, above those an RGB output port. To the right of that is a power switch and an AC in. Including the RF output, the machine has four distinct ways to connect screens.

Philips VG8235 MSX2 computer, right side

The right side of the VG-8235 shows the new beige but heavily discoloured disk drive above the two standard Atari joystick ports. Below the keyboard, you can see a tilt adjusting mechanism and room for it to be put more horizontally. Left and right of the keyboard were two slider buttons that allowed the user to adjust the tilt. This was a very considerate thing for time. Ergonomics almost always took a back seat behind design and production cost in home computers.

Philips VG8235 MSX2 computer

My Philips VG-8235 playing Konami’s Space Manbow (1989) using the sound chip in a modified Salamander cartridge

The VG-8235 originally came with two disks, one containing MSX-DOS1 and the other with Philips Home Office, an office suite. Mine didn’t, but I didn’t mind. I bought this machine to play games. These games were stored on a PC IDE hard drive. Sunrise, an MSX hardware manufacturer at the time, had produced IDE cartridges that contained an MSX-DOS2 ROM, which was what I used to connect that drive to the VG-8235. If you look closely at the picture above, you can see the hard drive sitting on to of a Philips NMS 1510 data recorder and its flat ribbon cable disappearing behind the VG-8235 right where its second cartridge slot is. That Molex connector that is feeding the hard drive is one that I ripped from an old PC power supply. I’m unsure why the mouse is in the picture.

Visible in the top right of the picture is a Philips NMS 1205 Music Module, a sound cartridge with MIDI IN/OUT/THRU connectors, RCA audio output, an internal microphone and a Yamaha Y8950 sound chip with 9 channels of FM synthesis and a 16Khz ADPCM channel with 32kB Sample RAM. Still no Amiga sound, but certainly a step in the right direction.

The original period, in which four generations of MSX computers were created and sold, ended in the first half of the nineties. The last professional MSX magazine in my country lasted until 1997, a year after msx.org was started. Around that time, I expected the platform to silently die with no more games, and certainly no more hardware, but I was content with the collection I had.

I was wrong.


Counting visitors without WP Statistics

April 28, 2024

This blog has a few, mostly self-serving purposes. Still, it's nice to know if anybody is, in fact, reading what I'm writing, or, that the only thing this blog is used for is trying to break into my server. The line blow, for instance, looks like someone hasn't been paying attention to my writing, while still trying to get somewhere they're not supposed to be:

root@server ~# cat /path/to/access.log | grep "wp-login" | wc
 20337  436804 4026846i

Those are the number of times someone has requested the login page of my WordPress site. That's a lot more than the number of times someone requested the post announcing my new homebrew blogging engine:

root@server ~# cat /path/to/access.log | grep "homebrew" | wc
    135    2572   30118

Quick explainer: in unix (so also Linux) the |-symbol passes the output of the command to its left on to the command to its right. cat gets the content of the log, grep filters that, leaving out any line not containing the given string and wc will count how many lines are left.

Of course, next to (or before) the requests to my current blog, these access logs also include the requests to my old WordPress blog. This means they go a lot further back in time than that post in the line above. But I can also grep for "28/Apr/2024" and see that today, so far, three people requested that post and nine received a 404 Not found when trying to login to my no longer online WordPress instance.

On WordPress, I used, as one does, a growing number of plugins, one of which was called WP Statistics, a plugin that showed me nice aggregated graphs of visits, broken down into country, device, operating system, browser and such. It had a very nice look, but I hadn't the foggiest of what it did with requests that showed up in my logs like this one:

"\xAA\xAA\xAA\xAAUUUUUUUU\xAA\xAA\xAA\xAAUUUU\xAA\xAA\xAA\
xAAUUUU\xAA\xAA\xAA\xAAUUUU\xAA\xAA\xAA\xAAUUUU\xAA\xAA
\xAA\xAAUUUU\xAA\xAA\xAA\xAAUUUU\xAA\xAA\xAA\xAA" 400 157 "-" "-"

By the way, these are always a reminder to keep looking at your logs, in case you thought aggregator and plugins are all you need.

Anyway, I want to keep things quite simple but a few coloured graphs would be nice. Grepping through logs won't give me those, so I found goaccess.

goaccess

Goaccess is a command line web server log statistics aggregator. Below the three panels visible in the screenshot above, there are twelve more with data on geo location, status codes, referring sites and more. Each panel can be expanded. It also has some vim key bindings for navigation, so using it feels natural and easy.

Also, considering the number of requests for my none existing .env-file, I have half a mind of just creating one and make it a nefarious executable. That would serve them right, I presume.


W.E. Peterson: Almost perfect

April 25, 2024

W.E. Peterson: Almost perfect book cover
TitleAlmost Perfect
AuthorW.E. Pete Peterson
PublishedPrima Lifestyles (1993)

Almost Perfect is a fascinating autobiographical tale about the rise and fall of the WordPerfect Corporation from the point of view of one of the board members. Petersen recounts how they initially built their word processor for Data General machines, then expanded to MS-DOS, the platform that would bring them their greatest success. Despite fierce competition from WordStar and later MS Word, they managed to become the market leader from version 4.0 onward, thanks to much greater functionality such as line numbers (important for lawyers) columns and footnotes that could continue on the next page. Despite this success, they continued to expand to other platforms such as Wang, Atari, and Amiga. During the rise of the GUIs, WordPerfect Corporation initially bet on the wrong horse, namely IBM’s OS/2. This wishful thinking was motivated by the concerns that expanding to MS Windows meant playing on the competitor’s platform. Peterson does not mention that this was also the case with MS-DOS.

One look at Word, however, erased all our worries. The product was no more innovative than its name. Microsoft had designed Word to work like its spreadsheet, Multiplan. It was clumsy to use, and came with no new or interesting features.
WordPerfect 4.2 screen shot

WordPerfect was the best word processor from the second half of the eighties. Everyone who went to school or to work in that period knew about it, and many worked with it. I wrote book reports, essays and other documents using primarily version 4.2 and later 5.1. What was so good about WordPerfect was that, apart from a few indicators in the lower-right corner, it was just you and your document. No rulers, ribbons, or pull down menu’s taking up space and brain energy while doing nothing. And because MS-DOS was a non-multitasking OS, nothing else demanded attention either. You were set up perfectly for productivity.

Peterson pits WordPerfect Corporation against Microsoft. Where the former is driven by selling and supporting the best possible product, the latter is driven by a desire for money and power. The secret behind WordPerfect’s success is its flat company structure. He imagines a company with only directors, advisors and managers. The directors set the direction, the advisors from the layer below and facilitate the managers who do the work.

I hoped for our sake that Excel was merely an accident.

Peterson occasionally discusses the many problems he has internally, despite his hard work and good intentions. The reader must see for himself how unpopular he is when seemingly a single disagreement makes the other two members of the board decide to throw him out. Employees are celebrating in the offices, and later Peterson receives an anonymous hate letter at home from an employee he never knew. Peterson just thinks it’s abnormal that this employee is using their employer’s time and resources to send him that letter.

We still seemed determined to try to release as many unsuccessful products as possible

The book concludes with a short piece about the decline of WordPerfect. First it is bought by Novell and later by Corel, for a fraction of the price it once was. Peterson expresses the hope that the reader learns from his biggest mistake, not taking enough time to convey his ideas about business to those around him.


My Mitsubishi ML-FX1

April 22, 2024

My first computer was an MSX, made by the Japanese giant Misubishi Electric (三菱電機株式会社, Mitsubishi Denki kabushikigaisha). It was a brilliant machine, especially since the only computer I had used before it was my father’s ZX Spectrum, a fine machine, but it looked like a very complicated little children’s toy. My MSX had a proper keyboard with a numerical island, an actual power switch at the back, an internal PSU, two Atari-standard joystick ports, a printer port, RCA audio and video out and two cartridge slots for games or hardware expansions, such as sound cards or disk drives. Rather standard for the time, you’d say, but the ZX Spectrum had exactly none of those.1

Like any MSX computer, the ML-FX1 had a Zilog Z80A equivalent NEC D780C-1 8-bits CPU clocked at 3.5Mhz. It had 64 kB RAM and 16 kB VRAM. A Yamaha S3527 chip integrated a General Instrument AY-3-8910 sound chip, controllers for joystick ports, cartridge selection, keyboard, printer and cassette interface and more. If the Z80 and the video had been integrated as well, it would have constituted a Sytem on a Chip (SoC) avant la lettre. The video controller was a Texas Instruments TMS9928ANL.

My Mitsubishi ML FX1

My Mitsubishi ML FX1 connected to a Philips VS0080 monitor and a Sony disk drive, playing Elite

I bought the Mitsubishi second-hand from my brother, who had bought it from a friend, who used the money to buy sneakers. My brother’s friend was actually the Mitsubishi’s first owner. He had bought the ML-FX1 on December 12, 1985, at least according to the handwritten date on the shop’s sticker that’s still on the underside of the case. The shop was from a chain called Funtronics, which was bought in 2003 by another Dutch computer manufacturer and shop chain, Paradigit. Until then, Functronics was the place to go for anything computer related, like floppies and magazines, in our sleepy border town Emmen.

Mitsubishi ML FX1 back

On the back, from left to right, are the second cartridge slot, mostly used for hardware expansions such as the floppy drive unit seen above, a Centronics printer port, RCA audio and video output ports, an RF output, a power button and an integrated power cable.

My Mitsubishi ML FX1 right

The right-hand side of the ML-FX1 had the two standard Atari joystick ports and a cassette recorder port. Even the cassette experience of this computer was superior to Sinclair’s. The sound was muted, the tape deck’s motor could be controlled from the computer and the data transfer speed could be set to 1200 or 2400 baud.

RCA ports are by no means of RGB or SCART quality, but far better than an RF output that combined both video and audio into something that could be selected as a TV channel, much like a VHS video recorder. I didn’t own a monitor right away, but even the small CRT bedroom TV that I used at the time had RCA inputs, so the image quality was pretty close to that of an actual CRT monitor.

I also, sadly, didn’t own a disk drive right away (they were expensive), so I was forced to use cassette tapes for any game I didn’t have on cartridge. Those tapes were easily copied with double tape decks in those days. Each tape contained ROM dumps of a couple of games, prepended with a small BASIC program that would automatically run on being loaded. It would then proceed to load the next binary file on the tape, byte for byte, into one or more free memory segments as needed and when it was done, tell the CPU to start at the first memory address. The computer wouldn’t care whether the game was in ROM or RAM, as long as someone told it where the game resided.

With a black case, there hasn’t been any decolouring since 1985, like you see with so many PCs, Amigas, C64s and other beige machines. The keys, however, needed some cleaning not too long ago. Pulling them from the case was easy with a standard key puller.

Cleaning the keys of a My Mitsubishi ML FX1

Don’t let the domes fool you. Underneath is just a rubber membrane. But that didn’t matter. We hadn’t used a good keyboard ever, and that was not something we were going to be opinionated about. We used the internal BASIC editor to type in game listings from magazines and even let them inspire us to create our own games. MSX BASIC provided ways to control the audio and video chips without any machine code, like a command that would accept strings with the actual names of the notes we knew from our music lessons to play, for instance, Frère Jacques in canon:

PLAY "cdeccdec","efggefgg","l8gagfl4ecl8gagfl4ec"

The PLAY command was asynchronous and would end as soon as it had pushed those strings to the audio chip, so that the music and other sounds could play in the background while the rest of the program continued.

We used matrix paper to design 8 x 8 pixel sprites which we could give a single colour and put into one of 31 layers using:

PUT SPRITE layer,(x,y),colour,sprite

BASIC provided a simple hook to detect collisions and tell the program at what line in the program to continue when that happened. It was very convenient. And how did we know all this without an internet? Simple. Books. Books that told you in a few chapters how to use all the functions, but forgot to tell you how to program. It didn’t matter. Creating the games was an adventure in itself. It had to be. Our games were too slow to be playable. That wasn’t the fault of the machine. We were children. We didn’t know the first thing about programming.

But for the ROM dumps and other commercial games, we mostly didn’t need the keyboard. We used big joysticks (no controller pads) like this one:

A QuikJoy JetFighter joystick

The mighty QuikJoy JetFighter had an auto-fire switch that would, when holding the fire button, send a fast pulsed signal to the computer, instead of a continuous one, making games like Nemesis and Salamander a lot easier, if not actually playable.

I still own the ML-FX1 and I did finish Elite on it, although I had already owned several MSX2s at that point. Sometimes I feel like playing MSX1 games on an actual MSX1 instead of the Sony MSX2+ I normally use. That, after almost 40 years, I can still grab the ML-FX1 from its shelf and hook it up to a monitor and speakers for some gaming, without any maintenance, except for a single keyboard cleaning session, is a testament to its build quality.

Notes

  1. In fact, Sinclair’s corner-cutting went so far on their ZX Spectrum that instead of a female cartridge connector, they added the cheaper male part to the computer, making the computer cheaper and potential cartridges and hardware expansions more expensive.

CC-BY-SA 2006-2024 thefoggiest.dev