Rubenerd logo



This was written quickly in a brief fit of anger, and may not be up to the usual quality of posts here on Rubenerd. Because if I’m known for anything, its quality writing; see what I did there?

Clara and I got some face wash last night. I was about to slather it all over my mug in the shower, like a gentleman, before I noticed these tiny, bright blue grains of crap in it. I spend a solid five minutes picking it out because I didn’t have another immediate source of face cleaning in my soapy, bleary-eyed morning state.

Yes, this abomination had plastic micro‐beads; those grains of non‐biodegradable plastic.

I’m willing to give the benefit of the doubt to so many companies. When they released the first versions of their product years ago, they weren’t aware of the future consequences of their use or disposal. Mr Carrier didn’t set out to destroy the ozone layer with his air conditioner, for example.

Plastic micro‐beads are comparatively recent. They were proposed and developed with full knowledge that it’d be washed down sinks, and end up in the oceans. And they didn’t care. These are incontrovertible facts; I don’t buy any defence of this decision.

Oil spills garner headlines, but I put these people in the exact same league. Possibly worse, because while oil is used to power things, micro‐beads are an entirely useless marketing gimmick. They saw a potential environmental disaster, and thought they could make a quick buck off it.

Get this out of toiletries, now. Governments, legislate against this shit, because we can’t trust businesses to act in our collective interest here. And to the people who thought this was a good idea; choke on a plastic-filled fish. Bon Appétit, halfwits.

Kline bottle limerick

Leo Moser being quite delightful, as quoted on Wikipedia:

A mathematician named Klein
Thought the Möbius band was divine.
    Said he: “If you glue
    The edges of two,
You’ll get a weird bottle like mine.”

New York’s C Trains

R32 set J train at Marcy Avenue, by R38R40 on Wikimedia Commons

Clara and I loved riding the New York City Subway in 2016. It was perfect for tourists, save for the grime. But it seems since it’s only got worse for commuters since we left, with problems culminating in a declared state of emergency. Damn :(.

Marc Santora wrote this article a year ago for the New York Times for the oldest trains in the system, with some amazing photos:

…the C train cars, once the pride of the subway, are now, according to New York subway officials, the oldest in continuous daily operation in the world.

Keeping the 53-year-old trains [Ruben: built 1964–65] running is not just an aesthetic problem. The cars, also known as the R32, break down far more often than any other train in the system, averaging just 33,527 miles between failures. The average subway car can travel 400,000 miles before breaking down. And the newest cars in the fleet average more than 750,000 miles.

Sydney still has many of its S-class trains in service, that we all dub tin cans. They have similar stainless steel construction and panel fluting, though they were built a decade later in the 1970s.

In defence of the C trains, from the Wikipedia page:

According to railfan James Greller, they often cited for their superior durability and craftsmanship, along with the structural reinforcement done to their bodies during the GOH period; four other B Division models built after them have been mostly or completely retired.

Given the build quality of Sydney’s Warratah trains, and the door problems on the Tangaras, I wouldn’t be surprised—only half tongue in cheek—if the S-class trains in Sydney outlasted them as well.

The only other metro I’ve travelled on daily for years is Singapore’s MRT, but their oldest rolling stock was built in 1987, and refurbished in the 2000s.

Photo above is of an R32 set J train at Marcy Avenue, by R38R40 on Wikimedia Commons.

My FreeBSD desktop from ten years ago

Here’s a blast from the past: a screenshot of my FreeBSD desktop from almost a decade ago to the day!

The aforementioned FreeBSD desktop

It was a DIY Intel Core 2 Duo E8400 tower in a slender white case with a Coffee Bean and Tea Leaf sticker, hence the hostname “Espresso”. The depicted character is C.C., everyone’s favourite pizza fan. It shows 29 degrees at 5am, that’s even warm for Singapore at that time.

I was going through a lot of desktop environments back then; 2008 was my KDE and GNOME experimentation days before going back to Xfce that the Cobind Desktop first introduced me to. The cool kids were still using tiled window managers or OpenBox.

To expand on the nostalgia, my primary portable machine was still my first-gen Intel MacBook Pro at the time. I had to be careful to get universal binaries for it; PowerPC stuff worked decently, but not needing Rosetta was a bonus.

Peppperidge Farm and Lelouch remember.

Concat VMDKs with VMware Fusion

VMware Fusion—and as far as I can remember, VMware Workstation—default to splitting disk images into multiple files. There are benefits to doing this, but it might not be what you want depending on your use case.

If you’ve been given a bundle with multiple VMDKs:

$ ls *vmdk
==> disk.vmdk
==> disk-s001.vmdk
==> disk-s002.vmdk
==> disk-s003.vmdk
==> disk-s00[n].vmdk

You can merge them graphically, like a Boss:

  1. Open the .vmx file in Fusion to import the VM
  2. Go to Virtual MachineSettings
  3. Click the first Hard Disk under Removable Devices
  4. Click ▸ Advanced Options
  5. De-select Split into multiple files

It will sit there chewing away for a few minutes while it concatenates, depending on the size and number of files. And you’ll be left with:

$ ls *vmdk
==> disk.vmdk

Now you can run it through a converter, such as to RAW to boot it on Xen, or something else. Boom!

From the not‐this‐again department

The Catholic Church… you know how this ends. Nancy Notzon filed this for ABC News Australia:

The most senior Catholic to be charged with concealing child sexual abuse — Adelaide’s Archbishop Philip Wilson — has been found guilty by a New South Wales court.

I post this in the sincere hope one day we’ll be surprised by news like this, because it’ll be uncommon again.

A cut-open 737-200

I loved this photo by Eric Freidebach!

US Airways 737-200 N213US fuselage section on display at the Museum of Flight.

The 737 is my second-favourite airframe, after the Lockheed L-1011 TriStar. I likely won’t ever get to fly in a 707, but the 737 shares its distinctive cockpit windows and fuselage cross-section. Note also the simple, rounded rectangle cabin windows; I reckon these are much nicer than the slightly-bulbous ones of most contemporary jets.

What struck me about this photo though was how slender those wings were! And to think all its fuel had to fit in that space. Wild.

The photo is preserved on Wikipedia Commons, because Google bought Panoramio and subsequently shut it down. Of course.

Using rsyncd instead of rsync over SSH

The easiest way to use rsync is with the default SSH transport option. It’s easy, secure, and reasonably fast. Machines will bottleneck elsewhere before your CPUs will encrypting/decrypting the ssh streams, from my experience. And you get all the SSH niceties, like pre-shared keys and host config files.

But this weekend I needed to transfer to an older machine without AES-NI. And in this case, it was most definitely pegging the CPU long before the network link was saturated, as htop showed:

1 [||||||||||||||||||||||||||99.7%]

There are two ways around this with rsync:

  • keep SSH, but enable a faster cipher like arcfour; or
  • use an unencrypted rsync stream with rsyncd, like rsync used to do.

I thought I’d try the latter, like a gentleman.


rsync used to ship with a client-server system using rsyncd as its default operating mode. If you install it on FreeBSD thanks to rodrigo@, the rsyncd rc script still exists:

# pkg install rsync
# ls -F /usr/local/etc/rc.d/
# ==> rsyncd*

The manpage is your friend, but this Everything Linux guide from 1999 is still the nicest I’ve found online to get started.

It goes without saying you’d only want to run it on a trusted network. No really, if you do these on a production site over the internet or another shared network, you’d better hope the data isn’t confidential!

A quick and dirty test

I transferred a 1GiB test file generated with urandom three times, and averaged the transfer times. These were the rough results:

Transfer method Reported speed
rsync with default SSH 28.11MB/s
rsync with arcfour SSH 32.61MB/s
rsyncd 48.77MB/s

And the CPU on the target box went from full utilisation, to hovering around 30%. I was surprised at this drop, given rsync would still be computing hashes to verify file transfers. This would seem to confirm my suspicion the CPU was bottlenecking on the SSH side.

There are plenty more optimisations available, but this wasn’t a bad effort for 10 minutes of work!


I followed the rsyncd.conf manpage for configuring rsyncd on the FreeBSD server, but I kept getting stream closure errors. I like open streams, they let me transfer data.

So I enabled logs in rsyncd.conf, like a gentleman:

log file = /var/log/rsyncd.log

Then restarted the daemon, and tried the transfer again. From the logs:

2018/05/06 12:08:37 [23834] ERROR: module is read only

If you read the documentation—what a concept—read only is the default. Whoops!

DOS and sex-ed feedback by @ozzmosis, @Georgiecel

The @ozzmosis commented on my DOSKEY post:

@Rubenerd Re: DOSKEY, 4DOS ( replacement) also does tab completion. Worth a look if you’re not familiar with it. PS. You’ve misspelled “enhanced” a few times on your blog.

I was aware of 4DOS in the context of people doing tricks to get more conventional memory, but thus far I haven’t tried it. I’ll take a look.

Also, I have no friggen idea why I spelt it enchanced. The superfluous letter C is nowhere near the other letter keys that make up that word. A recursive grep across my post folder didn’t come up with anything else, so it was hopefully a one time copy-pasta derp.

And @Georgiecel commented on my sex education post:

@Rubenerd Round of applause 👏 for your blog post on respecting sex education. What you mentioned is true of conservative families – I grew up in one, and what I learned in school was my first knowledge in that area. It needs to go hand in hand with physical health education.

Thanks! Hope the leg is getting better :O. My broken ankle was easily the most amount of pain I’ve ever experienced on anything ever ever ever. What’s worse about legs and feet is you can’t just throw them in a sling and call it a day, it affects your mobility for everything. I definitely had newfound respect for people using canes and wheelchairs, I had to do that for six months and I was a whinging little crybaby the whole time.

But I digress! I must plead ignorance to knowing what it’s like to grow up in that kind of family environment, though I had plenty of friends for whom sex education was the first time they were made aware of it. This is why education is so critical.

Physical health is another important aspect to this. I’ll admit I didn’t take PE seriously in high school; in fact I openly mocked it. Much of this stemmed from our teacher repeatedly brainfarting “cancer is always a lifestyle disease” in class, one time then looking at me and saying “no offence”. Without thinking, I called him a fuckwit, and walked out. My parents were proud, and curiously I didn’t get detention or anything.

But I digress, again! I remember learning the food pyramid well into the 2000s in those classes, I hope they’re onto something else now.

Sting and Shaggy, 44/876

Cover art for 44/876

My coworkers and I are obsessed with this unlikely collaboration album that came out last month. This the first of many blog posts dedicated to each song, in the style of my Ben Sidran posts of yore.

The first is the titular track 44/876, taken from the country phone codes for the United Kingdom and Jamaica respectfully:

Shaggy and Sting in a combination!

That’s what it is, yes!

And the ghost of Bob Marley, that haunts me to this day.
There’s a spiritual truth; to the words of his songs.
And the carribean nation; to which they belong. ♫