The derived namespace

Internet

derived is an add-on to RSS 2.0 XML namespace that provides context about the source code for textual media.

At the moment there’s one attribute, used like this in RSS and RDF:

<derived:code type="text/markdown" 
    url="[github repo]/master/content/post/2016/derived.markdown" />

Or inline in HTML:

<meta property="derived:code"
    content="[github repo]/master/content/post/2016/derived.markdown" />

Multiple attributes with different mime-types could be used, though having a single canoncial source is strongly encouraged.

Why?

Like many sites, Rubenerd is written in Markdown and pre-rendered for clients in HTML. This link means smart clients could take the original markdown source, and render it for their specific viewport or client.

Facebook have shown with their stories feature that there’s demand for refactoring/optimising content. I want the same ability for the open web using standard RSS and XML.

How is this different from Dave Winer’s source namespace?

Good question. Dave’s source namespace includes the outline attribute, but that carries an implication that the source is an OPML or similar outline. I wanted an attribute that linked directly to the original source, regardless of structure.


Re:Zero's Rem

Anime

Clara and I are watching a lot of current series this time around. I have no idea what a Re:Zero is though, but it seems its Rem character has usurped Hestia as the preferred waifu of the masses. I will admit, she’s very cute.

Re:Zero sounds like a forensic drive wiping tool, and Rem is a comment field describing its operation. In the mean old DOS days, we would have done this:

@ECHO OFF
REM This file securely wipes files from your computer
REM by giving it a blue bob cut
CLS
CHOICE.EXE /C:137 CHOICE /M How many write-over operations?
IF ERRORLEVEL 7 GOTO seven
:seven
ECHO "You're starting to overthink this"

IT snow days

Internet

This evening I went to Stack Exchange, and got this:

Stack Exchange We are currently offline for maintenance

Routine maintenance usually takes less than an hour. If this turns into an extended outage, we will tweet updates from @StackStatus or post details on the status blog.

So much core internet infrastructure is HA, but not the services themselves. There are alternatives, but when GitHub, or Stack Exchange go offline, there must be a global dip in IT productivity unrivalled in human history.

I also only recently learned of “snow days”. We had haze and monsoon days in Singapore, but the idea of snow closing schools in the tropics never occurred to anyone for some reason.


Font rendering in 2016

Software

A couple of months ago, I built a gaming machine for the first time since I was a teenager. It was tons of fun, and the kick arse GTX970 was only rendered (HAH!) outdated after a couple of weeks! Darn you NVidia and your 1070.

Point is, I’ve been using Windows on the desktop for the first time in years. There are a few small improvements, but the font situation is still horribly grim.

I’ve never been a fan of the way Windows renders fonts, but the situation has subjectively not improved since I moved off XP. I remember reading ClearType’s subpixel rendering optimised sharpness by aligning strokes to pixel boundaries, but the effect still manages to look fuzzy and ill-defined in Windows 7 and 10.

(Surprisingly, GTK desktops on \*nix nailed this legibility–over–accuracy; if you turn on full subpixel rendering in Xfce the results are clearer than anything on Windows. And it’s not even the year of the Linux desktop)!

If I had to answer truthfully about why I use MacOS [sic] on the desktop, fonts are among the big reasons. If you’re a font nerd, nothing comes close.


Fate/Stay Night: Unlimited Blade Works

Anime

(This post was originally written Sunday 7th August 2016).

I’ve willingly admitted my exposure to the Fate universe has been embarrassingly limited, despite professing a supreme love for their art and character design! Today I come clean and admit this wasn’t entirely true.

Screenshot showing Saber eating a sando.

Original Recipe

Despite my reverse-prognostications (are they a thing?), I watched several episodes of the original Fate/Stay Night around the time I was getting into The Melancholoy of Haruhi Suzumiya in 2006. After making it through most of the single digits, I was put off it for several reasons:

First, Shirou (Emiya to his friends) was positively aggravating. I empathised with his desire to not let harm come to his servant, but his convictions and personality weren’t there to back it up.

Second, the art was beautiful, but there was something not quite right about how the characters were drawn. I’d already collected so much Type–Moon art by that point (art was what largely got me into anime in the first place), and they simply didn’t match. This went beyond the transition from manga or game art to anime style.

Third, I couldn’t bring myself to capitalise it as “Fate/stay night”, as one was supposed to. It was like the 2000’s version of “macOS”.

And third (that other one didn’t count), StreamyX DSL in Malaysia was miserable in 2006, and I wouldn’t be surprised if it still is. The best video I could hope to get in a reasonable time was poor quality enough to be almost unwatchable. By contrast (HAH!), the simpler lines and bolder colours of a series like Haruhi survived the gauze of artefacts and poorly maintained copper lines with enough detail to still enjoy.

So I closed VLC.app, and shamelessly continued using art from the franchise for everything from Christmas backgrounds, to regular backgrounds, to anime figures. This single image of Saber also gave me so much hope during the darkest part of my family life.

Hot and Spicy: Unlimited Blade Works

Fast forward a decade, and when the series was (somewhat) rebooted with the Unlimited Blade Works arc, I badly wanted to give it another chance. Strangely though, I felt a sense of guilt; that somehow I wasn’t worthy or deserving to watch it given I dismissed the original. But finally, with the help of Clara, we’ve been watching to see what the excitement was about.

I’ve been blown away, for the exact reasons why I disliked the original.

Screenshot showing Tohsaka trying on glasses... wow #blush.

First, Shirou is better fleshed out and more intelligent. His painful family past is told more respectfully, without it (mostly) being the only defining part of his character. I also completely empathise with his strong will to not hurt people, and agreed 100% with his arguments with Archer on the subject (no spoilers). Compared to the original, he has conviction, even if he’s still frustrating at times.

Screenshot with Shirou, Saber, Archer, and Tohsaka against a sunset.

Second, the expanded budget show through with the art, it’s jaw dropping. Type–Moon have even released art books depicting nothing but scenery, which says it all. The characters diverge even more from the original art, but somehow I see it as modern interpretation, rather than looking off.

And third, we’re watching it at 1080p on FTTP NBN in Australia. Look up at point 2, then look back here. Then look up at point 2, then look back here.

Screenshot of that iconic scene where Shirou summons Saber.

Onto other points. Saber was perfect, as could be expected (and her Western sword-play wasn’t just “swooshing around”)! She maintained that air of dignity, while still slipping in a little humanity with her penchant for sandwiches and unmaintainable antenna hair. I wonder if she knew she’d be paving the way for such memorable characters as Arararararagi-kun years later?

The flow of the story wasn’t as stilted, though the cliffhangers at the end of each episode did seem a little forced at times. The dialog did also get a little drawn out, though I don’t need constant action to maintain interest. There are three “thoughs” in this paragraph (including that one), which suggests how much I must have enjoyed it if I’m willing to concede points.

Screenshot showing Tohsaka being... Tohsaka.

I also adored how they treated Tohsaka Rin. For many of us, she was our first experience with a culturally significant anime trope: the tsundere. She had equal doses of each (as to be expected), but they were each explained. All the characters seemed less one dimensional, but Rin had me liking and (more importantly) believing her throughout the series.

Screenshot of Shirou cooking with Fuji-nee bursting into the room.

Special credit also must go to Fuji-nee’s (slap!) seiyuu Itō Miki, the comedy relief of the series. As a former voiceover artist professional (!), she delivered each line breathlessly. And some of them weren’t the easiest for timing and intonation. I loved the contrast between her wild swings and that of Sakura’s measured calm.

I must stress however, my only major criticism was the treatment of Rin’s zettai ryouiki, the other legendary anime trope she made famous. In the intervening years she clearly slipped a grade; absolutely shocking!

Screenshot showing Tohsaka's thighs between her skirt and thighhighs and... um...

UBW Conclusions

I love what Aniplex, Notes and ufotable have done with this enduring franchise in UBW, and I suspect Clara did too. We’re just breaking into season 2 now, and are waiting with baited breath for the (admittedly somewhat spoiled) conclusion. Sorry Monty Python, I’ve started thinking about Fate again when referring to Holy Grails, though they still have a monopoly on shrubberies.

Though I’m sure both Servents and Masters would be too modest to admit to having that effect. Right, people?

Screenshot showing a smug Assasin.

Screenshot showing Tohsaka blushing!


Mr Turnbull on the NBN and #CensusFail

Internet

Prime Minister Malcolm Turnbull is infamous in the Australian IT space for his demotion of Labor’s Fibre to the Premesis (FttP) network to a slower, more costly, and less affordable Fibre to the Node (FttN), Higher Failure Copper (HFC) and Multi–Technology Mess (MTM) mix.

Surprisingly, he made a startling confession about bungling the national fibre optic network this week, in what must be the most candid and honest step his Government has taken to own and address the issue. Brendon Foye reports in CRN:

Turnbull had ordered a review into what led to the collapse, saying the [issues arose] because of “failures in the system that has been put in place for [NBN] by [The Coalition]”.

“Measures that ought to have been in place to prevent these [issues] interfering with access to [websites] were not put in place," Turnbull told 2GB radio in an interview this morning.

“That was a failure that was compounded by some failures in hardware – technical hardware failures – and inadequate redundancy.”

Wait sorry, I’m being told he was referring to #CensusFail, not the NBN. Could have fooled me.


The ASUS EeeBook X205TA

Hardware

I’m still a Mac desktop user, but I’ve been looking at PC laptops again. For remotely fixing servers, I’ve resigned myself to the fact I have to carry a laptop around with me permanently, so I want the lightest one I can get.

I don’t care about screen quality, just the ability to run FreeBSD or Debian with a tiled window manager, several xterms and a real serial port. Okay, that last one is a joke. Almost (cries quietly). I’d even almost eschew (gesundheit) an xorg session to just run a widescreen dvtm in ncurses.

So when I saw this ad for the ASUS EeeBook X205TA (rolls of the tongue, doesn’t it?) for AU$299, I was intruiged:

Quad Core. 2GB of RAM. 32GB storage. Windows 8.1

A “Quad Core” what though? I went to the features section of the ASUS website:

Quad-core processor for smooth multitasking performance

ASUS EeeBook X205 features an Intel quad-core processor that has the power to handle all your daily computing needs.

A “quad-core” what though? At this stage I’m hoping it’s something exotic, like a SPARC64 or POWER. Let’s check their specifications section:

Intel® Bay Trail-T Quad Core Z3735 1.33 GHz Processor

Alas, no Sparkie. But still the question remains unanswered: what CPU is this? What processor family does it belong to? By now, I already know what its probably going to be, given the manufacter wouldn’t obfuscate a good CPU like this. But let’s check out the ever-faithful Arc:

Family: Intel® Atom™ Processor for Smartphone and Tablet
Release: Q1'14
Launch Date: Q1'14
# of Cores: 4
Processor Graphics: Intel® HD Graphics

Of course, there isn’t one Z3735, there are four with different minor letter versions. Which one Asus used here is a mystery, but at least we know it’s an Atom.

For Linux support, I haven’t held out much hope for Linux support on Atom since buying a Lenovo IdeaPad S300, realising it couldn’t boot without terrible 32bit hacks, and getting rid of it.


Overnightscape Central: Lethargy

Media

View episode

The Overnightscape Central is a fun weekly podcast hosted by the illustrious PQ Ribber. Hosts and listeners of The Overnightscape Underground participate in a topic each week, and you’re welcome to join.

02:17:08 – Mike Boody!! Jimbo!! Chad Bowers!! Frank Edward Nora!! Doc Sleaze!! Rubenerd!! A sextette of superb and sonorous speakers share their thoughts!! PQ Ribber hosts and Jimbo provides the ONSUG Week In Review!!

You can view this episode on the Underground, listen to it here, and subscribe with this feed in your podcast client.


Confluence as a family wiki

Internet

Clara and I have been wanting to run a wiki for years to collaborate on projects. We decided to try Atlassian Confluence, mostly because we use it everyday elsewhere and want to keep things simple. I’ll also likely be administering it in the future, and wanted to get some experience.

After running it for a few days, we decided it wasn’t a good fit for us. If you want to give it a try though, here are some pointers.

Obligatory (ironic) screenshot

Purchasing

Confluence isn’t free, but for up to 10 users its $10. You have to renew each year to get software updates, which to me renders Atlassian’s “perpetual licence” claim somewhat disingenuous. They donate it to Room to Read though, and it’s cheap, so I was fine with it.

Realistically, you’ll want to buy and install a licence if you seriously want to test; the trial database is painfully slow and not a fair indication of how it’ll work.

Installation

Confluence is a Java application running out of Apache Tomcat. On Linux, you download and run the installer which places files in /opt/atlassian and /var/atlassian. If you royally bork your install (as I did once), you can blow away those folders, delete your database tables and start from scratch.

It’s claimed the 32 bit version uses less memory for equivalent performance, which makes sense. On x64 Debian Jessie, getting the 32 bit Java working was more trouble than it was worth, so I ran the 64 bit version.

It supports all the major databases, but I used Postgres with a pretty basic table structure:

postgres=# CREATE USER confluence 
    WITH NOCREATEDB NOCREATEROLE NOSUPERUSER 
    ENCRYPTED PASSWORD 'huge_gibberish_mess';
postgres=# CREATE DATABASE confluence
    WITH OWNER confluence;
postgres=# SELECT time 'allballs';

HTTPS

Confluence wants to run on port 8090. The installer creates a confluence user, which means no low port allocation. It also doesn’t install with SSL/TLS enabled. Both of these can be fixed with the wonder of our modern age that is nginx.

There’s scant documentation available, and all list snippets of code without telling you exactly where in the hierarchy of XML they’re supposed to go! So I’ve put my server.xml line up as a Github Gist so you can see exactly how to get it working.

Once you’ve got that, you can create a standard Let’s Encrypt-enabled nginx config with the location set to proxy to Tomcat. Here’s the config I used, with my letsencrypt.sh keys ready to go:

server {
    [ usual stuff ]
    [ ssl stuff ]
    location / {
        proxy_set_header X-forwarded-Host $host;
        proxy_set_header X-forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8090;
    }
}

This and the gist assume you want to put your wiki at the root of your domain, another thing there was no documentation anywhere about. If you want to use a subfolder like /wiki, change both occurrences of the following in server.xml:

<Context path="/wiki"

Then change your nginx proxy above to reflect this. And remember, logs/catalina.out is your friend if Confluence doesn’t seem to want to start.

Performance

I won’t mince words; even running out of Postgres, Confluence is slow on anything other than a beast. I’m used to administering MediaWiki, Twiki and pmwiki in tiny cloud instances, but even with 4GB of memory it struggled.

There’s much to tweak here; you could let nginx handle caching instead of Tomcat; you could tweak Postgres; even run the 32 bit version with less memory. I’m sure in the hands of a competent Atlassian engineer, you could get it working better.

Regardless, this shouldn’t be surprising given 4GB of memory barely meets their minimum requirements. For Clara’s and my needs, MediaWiki’s subset of features suit us just fine, and with a quarter of the memory and load averages that Confluence chewed up even when just starting.

CPU[|||||||||||||||||||||||||||||||||||||||||||||||||100.0%]     Tasks: 64, 78 thr; 3 running
Mem[|||||||||||||||||||||||||||||||||||         1720/3942MB]     Load average: 0.33 0.33 0.58
Swp[                                                  0/0MB]     Uptime: 05:09:19
  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
20750 confluenc  20   0 3427M 1611M 41548 S 83.6 40.9  4:07.61 /opt/atlassian/confluence/jre//bin/java -Djava.util.logging.config
20762 confluenc  20   0 3427M 1611M 41548 S 36.7 40.9  1:28.48 /opt/atlassian/confluence/jre//bin/java -Djava.util.logging.config
21578 confluenc  20   0 3427M 1611M 41548 R 31.0 40.9  0:02.81 /opt/atlassian/confluence/jre//bin/java -Djava.util.logging.config
20763 confluenc  20   0 3427M 1611M 41548 S  7.1 40.9  0:21.16 /opt/atlassian/confluence/jre//bin/java -Djava.util.logging.config
[...]

Conclusions

I’m fortunate to work for an IaaS company that gives me free instances! And I suppose I could run this stack with 16GiB to run this more than capable enterprise wiki. For our personal use though, we’ve decided to head back to MediaWiki with a vanilla FEPP stack.


An incomplete list of my common misspellings

Media

In no particular order:

  • mispelled
  • servent
  • equivilent
  • occurances
  • surpreme
  • eshew
  • gesundeit
  • selamat (in Indonesia)
  • salamat (in Malaysia)
  • zettai ryouki
  • hikikamori

I’m too afraid to run grep against the Rubenerd source to discover the occurances of… dang.

  • occurances

… to find the occurrences of these. Or rgrep, or ack, or some bad pipes involving find, some mean Perl foo. Or I suppose I should be saying Ruby gems in the presence of Tohsaka.