Paul Simon’s One Trick Pony

Media

Cover of Paul Simon's One Trick Pony

I’ve been listening to Paul Simon’s 1980 album One Trick Pony at work. It’s quiet, melodic, beautiful and typically clever. It’s also more conducive to systems development than I thought.

AllMusic’s William Ruhlmann dismissed the album as a “disappointment in both artistic and commercial terms” and being lyrically “not up to his usual standard”. I would disagree, with just a few examples.

From “How The Heart Approaches What It Yearns”:

After the rain on the interstate
Headlights slide past the moon

From “Oh, Marion”:

The more I get to thinking;
The less I tend to laugh.

The boy’s got a brain;
He just abstains.

The boy’s got a voice;
But his words don’t connect to his eyes.

From “God Bless the Absentee”:

This country’s changed so fast.
The future is the present;
The present’s in the past.
The highways are in litigation;
The airports disagree.

And the eponymous song, having viewed that One Trick Pony:

He makes me think about
All of these extra movements I make
And all of this herky-jerky motion
And the bag of tricks it takes
To get me through my working day


File `graphicsx.sty’ not found

Software

Got this error when compiling a LATEX document this morning, like a gentleman:

mactex ! LaTeX Error: File `graphicsx.sty' not found.

That’s absurd, I thought! I’ve done this a thousand times, with the standard MacTeX distribution, and never once had that issue. The pertinent part of my source looked perfectly legitimate:

\usepackage{graphicsx}

And then the realisation hit me like so many bad cups of coffee.

\usepackage{graphicx}

For those who can’t see, there’s no plural for graphics.

Adding for reference here, because I couldn’t find a single search result of someone else having this problem. Hopefully if you found this through a search, I’ve spared you the same frustration.


Mako wearing Senketsu

Anime

An entirely pointless, yet cute image of my two favourite characters from Kill la Kill. Darn, I guess I’d better finish watching it.

For the sake of completeness, turtle-lover73 has also made an SVG render.


Back to WordPress from Jekyll

Internet

UPDATE April 2015: Well, that didn't last long. I'm on Hugo now, which is as convenient as Jekyll but is crazy fast.

The cool people say you should never blog or podcast about your backend production, because its unprofessional and people don’t want to hear about it. If you’re one of those cool people, avert your eyes.

As I approach the big three-oh (dear god), I’ve identified two interesting trends. If a desired activity is easier to do, one will perform it more regularly. For others like exercise the reverse is true.

In 2013, I decided to lower the barrier to entry for blogging and move to Jekyll. All the cool people were going the statically generated site route again, and it seemed like an easier approach than juggling a WordPress stack.

From a technical standpoint, it is.

The novelty lasted until the end of last year. By that point, I was missing the rich metadata of hosted CMSs, and was generating tag archives as well. As if creating over four thousand pages weren’t time consuming enough, it was now taking 20+ minutes to generate what basically amounts to a dumb cache.

(Dumb in the sense of functionality, not that a cache is inherently stupid).

Sure, I could roll my own static site generator that doesn’t rely on superfluous markdown parsers and re-generating unchanged assets. Or I could see how Rails has changed in the four years I’ve been gone (or see if Django has got any better). Or I could even take a bullet to the head and learn Node, then learn how to tap dance and write a novel. What’s stopping me, its not like I have anything but time on my hands, right?

For now though, its back to the devil I know. WordPress is still a special snowflake, but Ansible and Git have made this substantially easier and less error-prone since the last time I rolled it out.


Happy New Year from Singapore!

Thoughts

Play Singapore New Year Fireworks 2015

Video taken in Marina Bay after midnight on an iPhone 5s. Still blows my mind we can record 1080p video on our phones now.

The last time I was in Singapore for New Year was 2010. My tiny island home has changed so much in that time, I barely recognise parts of it now.

More posts, photos and such soon.


Ten friggen years of Rubenerd

Internet

Rubenerd in 2004

Yikes. I’m so tempted to leave it at that.

Ten years ago, I’d just left high school, applied to university, and had no fucking clue what I’d be doing, who I’d be, even where I’d be living. For all the certainty about my career path my sister envied, the future was still terrifyingly blurry, yet reassuringly distant. What would change, what would stay the same?

Out of that awkward, melodramatic haze we all go through during that time, I decided to start a blog podcast RSS-able site thing. 2004 was an exciting time to enter the blogging world; you could hear the enthusiasm in those classic BloggerCon talks; tools like Radio UserLand and Movable Type were all the rage. RSS was the decentralised future (well, unless you used FeedBurner).

Ten years on, there are 4102 posts (of which I’m proud of a dozen). 2011 and August 2006 were my most prolific year and month respectively. The domain has changed twice; once because of a dodgy webhost, and back to here again. 100+ posts were lost in a database wipe. I’ve made more friends through this than I thought possible. Of my regrets, I should have written more about what I loved (rather than what angered me), and that I didn’t start sooner.

Introspection isn’t my strong suit, so I’ll let 18 year old me finish this post. I looked about the same, just with blonder hair and no panda eyes:

Well here it is: my first blog entry on this new platform. When I set up Rubenerd all those centuries ago it never really had a purpose, in all honesty is was always a website that just had random stuff on it that I either thought was groovy, weird etc. Now it’s a blog site with random stuff on it that I think is groovy, weird etc.

I’ve kept a log at home for some time now, I think my first entry dates back to around 1999, but just in the last 2 years I’ve been a lot more involved and my entries have been progressively getting bigger and bigger. I don’t know, but the idea of keeping a record of my life, however dull it is, might be fun to look at in years gone by!

Anyway I was finding that I was writing some pretty involved stuff and I thought that maybe one percent of it, or maybe two, might be useful to someone, especially with respect to some of the tech problems I’ve had and solved over the years. So here it is.

I hope you find this site useful or at the very least good material for whatever you want to do. I had a podcast going for a while but for the time being my Webserver is simply too small to accommodate them. Maybe in the future I’ll take it up again.

Happy holidays!

Thanks everyone for all your support over the years. See you in 2024 :).


CPU architectures on nixCraft

Hardware

A blog post over on nixCraft had a lot of commenters confusing CPU architectures on FreeBSD. My comment below, for its worth:

There’s a lot of confusion in the comments here. Given this page ranks highly in The Google, I’ll throw in my 20 cents (adjusted for inflation).

“i386” means 32bit, “amd64” means 64bit. In brief, this is due to AMD having designed the original 64bit extensions for x86. Intel Core CPUs will still be listed as amd64 on the BSDs.

In Linux, “/proc/cpuinfo” shows the capabilities of a CPU, but it may be throttling down for power saving. When you require the performance, it will revert to its full performance.


Today I learned about mdadm

Annexe

This post originally appeared on the Annexe.

mdadm is a tool for managing Linux Software RAID arrays.

It can create, assemble, report on, and monitor arrays.

It can also move spares between raid arrays when needed.

It can be found at http://www.kernel.org/pub/linux/utils/raid/mdadm/ or any of the kernel.org mirrors.

There is a git repository at http://neil.brown.name/git/mdadm or git://neil.brown.name/mdadm.

FAQ and other documentation can be found at http://www.linuxfoundation.org/collaborate/workgroups/linux-raid

It can also slice, and dice. Except the opposite.


Sourcing bash and Bourne shell scripts

Software

I’ve seen a lot of interest in bash migrations since Shellshock; whether it be as a result of moving to FreeBSD or otherwise.

Security aside, there are plenty of uses of bash out there where a simple Bourne Shell (sh) script would suffice. It also greatly helps with portability; not everyone has bash/dash installed by default.

For a few of my own bash scripts, I had to relearn how to source the contents of one script, and all its associated variables, into another. For example:

#!/usr/local/bin/bash

WORD="Bird"
SANDWICH="Grilled cheese"
Github Gist

Then in your other bash script:

#!/usr/local/bin/bash

source ./first.sh
echo $WORD
Github Gist

This will print Bird.

The equivalent sh script is the innocuous dot. This is distinct from the dot used to denote the current working directory, as you can see here:

#!/bin/sh

. ./first.sh
echo $WORD
Github Gist

The word “source” has some nice syntactic sugar to it, but I’d advise sticking to using the dot. Besides, one wouldn’t be writing shell scripts if one were concerned with syntactic sugar.


256 greys with transparency

Annexe

This originally appeared on the Annexe.

Yesterday I tested ImageMagick 8-bit grayscale graphics. I tried it against a transparent PNG from Hyperdimension Neptunia, and it did introduced some amazing linear artefacts:

It’s a cool effect.