Moving to Hugo

They say “imitation is the sincerest form of flattery”, and I do hope they're right. I've been reading Rubenerd for the longest time, and his lovely minimal(ist) website built on Hugo has had me dying to try out the technology for the longest time.

While there's nothing wrong with Wordpress, I've always found it just a little too clunky for my tastes - and slow. That might be because I've always used it on shared hosting with less than optimised databases. The idea of a super fast and efficient text-only site is appealing.

So if you can't tell the difference, today's post (and all past posts) are now brought to you by Hugo, powered by Go.

I also used this as the excuse I needed to finally put the effort into dual booting Linux on my machine. I'm trying out Linux Mint, and I'm proud I actually got it working with Secure Boot1. Starting out, my “flow” is to create a post in Markdown, then build the site and rsync it to to the same location my old site was.

Please let me know if you notice anything funky. As usual I can be reached on Telegram, Discord, and just recently, Twitter2. However, I'm aware that there's lots of posts that will not have survived the switch over without some… problems. I will get to them eventually.

The process of moving was interesting. All my posts in Wordpress were written in Textile which for years was my preferred markup language, but Textile turned out to be Betamax to Markdown's VHS, or what Mercurial is to Git, or what Bitbucket is to Github, or what this sentence is to any other sentence.

The first step was to learn just enough Go to build the Go Wordpress Importer. This pulls all the posts out of a Wordpress Export XML file, then uses Pandoc to convert the HTML to whatever format you like. I built in the ability to toss in some extra Pandoc magic to convert from Textile to HTML then from HTML to Markdown.

From there, Hugo does most of the heavy lifting as long as you can find a theme you like that includes all the nice stuff you want included. I quite like Er but I've forked it as ooh-er for my own purposes.

The next step is to build comments back in. It's something that Ruben has forgone - not for technical reasons I believe - but I really enjoy the one or two I get occasionally. It's not an easy problem to solve with a static site though, but I think I'll be leaning on Staticman to add comments into the github repo. I found a slightly different script that also uses Github, but adds comments as “issues”. While appealing, I also want to ensure I'm not tied completely to Github for all time.

Let me know what you think of the changes. I'll post more when I have comments up and running.

  1. Through no talent of my own I might add. ↩︎

  2. God I'm such a sell-out. ↩︎

Guten Free

So I came in here to do a post about something completely different, but discovered that Wordpress has enabled their Gutenberg editor by default with the latest version of the software, and it's both enticing and scary to try something new, so I thought I'd give it a shot.

On the surface it's got some advantages I think for people who want to write pretty posts.

What's immediately appealing is that everything is a block of “something” and you have to be very deliberate in what something you want that something to be. For example, if you want to insert a quote, you start a new paragraph and you select the “quote” block type and blammo, there's your quote:

Gutenberg is more than an editor. Gutenberg contributors

Which is something that for years I've thought was missing from all the nice GUI editors bundled with netlog software. I've had to deal with the source-code HTML fallout of websites written with WYSIWYG editors, and for the most part what you see on the front end might be what you get, but how you get it is usually some form of Lovecraft-ian horror on the back end, with tags embedded in tags like they've been involved in a transporter accident.

A sequence of mildy gruesome accidents caused by Star Trek technology. And Tuvix

Not all transporter malfunctions are happy accidents

The ideal goal of a “block” powered editor in my mind would be to teach your users how to think in blocks, so that their HTML is structured and formatted from the get-go with the particular idiosyncrasies of that format in mind. I'm not sure if that's what the authors of Gutenberg set out to accomplish, but it's the ideal outcome I can think of from such a project.

Personally I gave up on WYSIWYG years ago because I wanted precise control over what I wrote and not have the editor insert it's ideas of how to output my thoughts. I began using Textile (markup) and have since dabbled a little in Markdown, and if I'm truly not getting the output I want, I switch to plain HTML. So, my initial reaction to having Gutenberg thrust upon me was to immediately reach for the off switch.

As an aside - I wanted to write a quick footnote here, but by default Gutenberg does not appear to support them. I'm guessing there are plugins for this, or maybe a setting I've missed, but it doesn't appear to be possible out of the box - something I cannot abide.

What I wanted to write as a footnote was that I did enable Gutenberg early as a plugin just to see what it was all about, but freaked out and turned it off immediately because change is awful and should never be tolerated. It's possible that I left it turned on, and only thought I disabled it, but I'm pretty sure it's turned on by default, and research is for chumps.

While I'm writing, I'm noticing what I'm going to presume is a bug that's causing the cursor to reset to the top of the paragraph I'm writing every time the page auto-saves. This is annoying. It could be a setting or another plugin I have causing the issue though, so it may not happen to everyone.

In summary, what I'm hoping to find when I press publish is a concise and minimal HTML output on my final page. The block paradigm, and the beautifully crafted interface for building those blocks appeals to me on a technological level, and I truly hope that the Gutenberg idea sticks and is embraced by the Wordpress user base. While there appear to be some minor issues (that might be unique to my setup), the idea is sound and may go some way to improving the guts of the sites that use it, which is a win.

Addendum: Gutenberg is wigging out with my Textile plugin and adding an extra <br/> tag after every paragraph. Other than that, the output HTML is every bit as simple and elegant as I could have hoped for. I will need to find a resolution to the Textile/Gutenberg conflict some time, and it might simply be switching off Textile once and for all, but if you come here and the page still has giant empty space between paragraphs, you'll know it's not because of Gutenberg.

The Christmas Playlist That Doesn't Suck (2018)
A photo of a handmade mushroom from Nintendo Mario games hanging on a Christmas tree

Mini Mario Mushroom

by Amy Dianna

I've scoured Soundcloud to find the best Christmas music I could find. It's chock full of Christmas favourites that are guaranteed to:

  1. Bring Christmas cheer
  2. Not suck

This years playlist includes:

Jingle Bells, a version of All I Want for Christmas Is You that doesn't make me want to murder someone, an original track by Sia, and many more classics reimagined in ways that don't suck.

The whole Christmas Playlist That Doesn't Suck (2018) is up on Soundcloud right now, go have a listen!

Thank you to all the artists who have shared their Christmas songs on SoundCloud for the rest of us!

RPGs and Native Animals

I took the kids and Mil to Cleland Wildlife Park today. It's one of my favourite places in Adelaide, and I've made some fun memories with the kids and various grandparents over the last ten years.

Kangaroo in Sunlight, Cleland Wildlife Park

Kangaroo in Sunlight, Cleland Wildlife Park Josh Nunn on Flickr

Today I thought we'd do something different. We've got a year-long membership we've barely used in this last 12 month period, so entry is free, and it was such a lovely sunny autumn day, I thought it might be nice to just chill out and try a new role-playing game I've been wanting to play with the kids. So we spent the morning and early afternoon printing, coloring1, cutting, and sticking and had a go at the first campaign in Hero Kids, a really simple role playing game (like dungeons and dragons).

This is the whole family's first RPG - I've watched a couple of games in my time, but never participated - and my first attempt at being GM(Game Master). We didn't get very far - turns out stopping to explain rules and pat potoroos can eat into game time - but I think the kids had fun. Ammy played a healer, Evie played a rogue and Merry played a warrior. Mil was a Warlock with water powers. The basic gist of the game is that the characters themselves are kids so that the players can relate to them and get involved in the adventures.

Hero Kids! I'm looking forward to putting more time into it. The kids all have great imaginations, so I think they'll really take to it. And I had to promise to take them all back to Cleland soon because we barely got to see any animals this time.

  1. I will always use the American spelling because computers don't understand colours ↩︎

Happy Birthday Mike!

My buddy Mike's birthday is today and he's turning 3 months older than me!

Happy Birthday Mike, I hope you have lots of fun playing with your balls.

C=128 Journey
On it's way

Here it goes

On it's way

About 12 months ago I listened to The C= episode of the Rubenerd podcast wherein he tried to convince himself (poorly!) not to buy a Commodore 128.

I got in touch on twitter and asked if he wanted my old C=128 because although for nostalgia reasons I had held onto both my families old 64 and 128s, having both sitting in a closet doing nothing seemed stupid.

Rubenerd was glad to take it off my hands, and I'm glad it's going to someone who clearly loves retro computers in a way I will never emulate1.

My memories of this thing are playing Wizball to the wee hours with my mum, her elation when she finally clocked it, playing Subsunk and Cosmonaut and River Raid and Curse of Sherwood and so many other games my young hands couldn't master.

I was never much of a gamer, and I never did put in the hours to finish all those games I loved, but it did make me love computers and the potential behind them. I also wish I could say I'd programmed much on either machine, but copying out code from a book didn't teach me much at the time, but it did help me see what someone could do with the right mindset and training, and planted a seed for programming that took another 25 years to finally grow.

The 64 and 128 have reached a level of nostalgia in my mind that they possibly don't deserve, but they're the only couple of things from my childhood that I really remember clearly. That and the Chubbles that were clearly more gimmick than substance. Oh, and the Rubick's Magic I got one Christmas and couldn't put down.

Today I finally got off my ass and posted it to Rubenerd. Shipping was surprisingly cheap because he didn't need the vintage printer or the after-market disk drive I have for it.

I won't mention the contents, and save that for a surprise for him, beyond the following:

  • A slighlty rattly Commodore 128
  • A power supply that no longer works, but that Rubenerd assures me he can fix or replace

I would love if Rubenerd could post an unboxing when he gets it. I left a couple of things in there that I hope he doesn't mind receiving and having to store somewhere. And I'd love it if he could post it to The Fleet when he gets it working, with a suitably cute name. Enjoy it, learn new things on it, and share!

  1. geddit? ↩︎

Letting the Internet Die

I'm still stuck on this idea of how to enable comments and feedback on personal netlogs1 in this world of Facebook and Twitter.

Almost everything I can come up with falls into a couple of broad categories.

  1. Hosted by me. For example, enabling comments here or in a self-hosted forum. Comments here are obviously the easiest and I've had comments enabled ever since I started (although now limited to new posts only). A self-hosted forum is adding a barrier to entry that offers no incentive for people to bother, and isn't really appropriate for my readership of three2.

  2. Outsourced. This includes all discussion on Twitter, Facebook, Discord, Telegram, Discourse, or Disqus. These all require readers/commenters and me to both use the platform, and give up our privacy/rights to those comments to varying degrees based on how much we trust those platforms.

I have a couple of guiding principals I believe in when it comes to the internet. One is that it's super important it remains as open as possible - as free from government interference as possible (within reason), but also as free from corporate interference as possible too. Governments will always overreach and overreact, so it's handy that for years the internet has sort of routed around the problem when governments go rogue. More could be done on this front of course, but to my mind the biggest threat isn't government interference as it is citizen indifference.

By putting so much of our online lives in the hands of large social media companies, we're dulling the gears that make the internet such a powerful force for social change. Think about it - imagine a group that uses Facebook to mobilise their protests and activism in a country similar to our own. I'm going to use Facebook through this example, but it could just as easily be any other large social site.

So imagine this group of activists - their message is irrelevant, suffice to say it's something important to them, and potentially dangerous to powerful people in their country. For those powerful people, all it takes to decommission the group is cut off their access to Facebook. If that group hasn't met in person, shared contact details outside of that channel, or prepared alternate means of communication then they're effectively deaf and blind when they try to continue communicating. Not only that, but they are mute as well.

On top of that - to people in other countries not affected by the same struggles - they might as well be invisible if their only presence has been on Facebook. On the flip side, for people outside those problems we're allowing a company - or even a foreign power - limit what we see. We're also limiting ourselves to those formats that get traction on those sites - for Facebook it's the Single Grainy Image With Text. How much can we learn about the world from a single picture?

I'm stumbling into /r/iamverysmart territory here, which is not my intention - I have a limited grasp of the socio-political realities of my own neighbourhood, let alone what other people are struggling with elsewhere in the world, but relying on Facebook (or Reddit, or Twitter) as our means of engaging with the world leaves us vulnerable and open to manipulation.

Which is why I miss the days of netlogs. It seemed like for a period of about two years, the internet was exploding with this vibrant eclectic mix of freely shared, highly personal content. Going through my site and cleaning it out I remembered I used to be subscribed to a guy who just talked about toy Transformers. That guy stopped writing in 2011 without any fanfare and I completely missed it. There was someone else who I discovered when I realised I needed a way to be a good parent to my child when my wife is a Christian, and I an atheist. That guy stopped writing his netlog in 2013 and again I didn't notice the loss. So many more sites refuse to load at all - buried in a sort of DNS graveyard, or worse returned zombified as placeholder pages full of ads. The least worst fate is for a site to at least still load - quiet and untouched by human hands as a monument or shrine to the moments they capture.

How much of that is captured on Twitter or Facebook now? The content might be there - but it's trapped behind accounts and subscriptions, real-time feeds and algorithms that show people what they're told they want to see. And it's making it easier for corporations, foreign powers, and your own leaders to hide what they don't want you to see.

That's enough of a trek into conspiracy theory and nostalgia for one night. I understand how much I'm teetering between crackpot and melodrama with the above. I really just want more people to think about this stuff. It's much easier to talk about possible solutions when we're on the same page. Because I don't know what the solution is. Spinning this site up is step one. Figuring out how to discuss this stuff with people who want to talk is step two. … Profit?

  1. I will use this term unless one of you can come up with something better than blog ↩︎

  2. It seems even more self-aggrandising than my self indulgent comment discussion navel gazing ↩︎

Comment Bots

I've been thinking more about yesterday's post on comment systems.

I started posting to my Reddit profile, then realised why stop there - I've been mucking around so much with chat apps that I've got profiles everywhere, and I thought I could try and make them useful. My two communication preferences right now are Discord (because it's like Slack but more relaxed), and Telegram (because it's exactly like Facebook Messenger but better. Both offer simple ways to set up and harness the power of bots and make using them simple, and with a couple of WordPress plugins the process is even simpler than it should be.

My robot

My robot Aaron Williamson on Flickr

The two plugins I'm giving a crack are WP Discord and WP Telegram.

Both made setting up their respective bots a breeze (although the instructions for WP Discord skip one vital step), so theoretically when I hit publish on this post I should see a message pop up in both my new Geekorium Discord Server and my Geekorium Telegram Channel. Feel free to join in either channel and say hello, and if you wish, get notified of new posts when they happen - it's like RSS, but with future technology. I won't ever spam you - if you don't want to see posts, leave the channel or turn off notifications for those channels in their respective apps.

You might also notice a Discord widget down below above the comment box. Join in there if you want and chat directly.

I've often tested out new stuff round here in the past, and my post history is littered with the detritus of tried and failed experiments. I can't say for certain how long these will last, or if I might find something better. My goal in trying this out was to see if they were viable alternatives to vanilla comments, and if they might make it more appealing for people to give feedback or connect with me. If they're still around in a week it will be because I'm finding them valuable, or people are actually using them.

See you in chat! 🚀

Update: the widget below above the comments lasted about 5 minutes before I realised it only shows who's on the server, not the chat that's going on. I'll need to find a place to prominently display the Discord and Telegram icons to encourage people to click through, but a massive widget is not going to do it.

Internet Draft: Comment systems

Having fired up the old blogging engine1, I now find myself wanting to comment on Rubenerd's latest post about enabling a commenting system, but find that due to lack of a comment system I cannot! And also having trashed both my Twitter and Facebook accounts in a single week, I now have NO CONCEIVABLE WAY to get in touch with the man. I mean, despite email and other antiquated ways of communication - should I perhaps be sending smoke signals?

No, email isn't public enough. A person cannot comment on another blogger's content from the detached privacy of an email - we are after all “civilised gentlemen”2.

Comment of the Day

Comment of the Day Mike Seyfang

So consider this another comment in a long series of posts directly directed at Rubenerd. Tune out from here if you're not him, and have no interest in how he chooses to enable comments.

I shall tackle his so called “two options”, and then suggest my own third option. I'll ignore that he presented his own third option, because that's thrown all my maths out and I can only count to many.

  1. Disqus: No. No. Don't do this. No. Do not use Disqus. Not because there's anything wrong with it necessarily, but don't change how you do things to make a couple of people slightly happier - you'll always feel dirty.

  2. A CMS: You could. But again, why change something that's working for you3?

Your only real option is to take your comments outside your space.

  1. One option that comes to mind is something like /r/rubenerd on reddit. They have those new profiles now don't they? x-post everything onto your profile, and link to it at the end of your post.

    Pros: no changes to the way you write (much), potential for actual link karma, surely everyone has a reddit account right?

    Cons: you still don't own/control the platform and Reddit is most certainly mining their user's data in all the same ways Facebook has been. Might be an effort to moderate, or you might miss stuff if you're not a heavy Reddit user yourself.

  2. Pick some forum software or a microblogging platform like GNU Social or Mastodon and self host that, x-post to the site as suggested above. Enable Twitter/Facebook/Reddit logins so people don't have to register to your site to throw down a witty one-liner.

    Pros: Self hosted means it's your data and your readers can have a say in what happens to it. You get to decide how it's shown - write a back end script that pulls comments in on a cron and adds them to the static site, use some Javascript4, or just link to it and let people free-for-all

    Cons: It's a hassle and no one will use it.

  3. Keep going as you are now. Use Twitter. I'll keep responding from here and other people can find ways they feel comfortable to respond.

    Pros: Really easy.

    Cons: I don't get to comment5.

  4. If you're mirroring your repo online, give people the link and let them clone and send you pull requests with their comments.

    Pros: Only dedicated idiots will comment.

    Cons: Only dedicated idiots will comment. You'd have to set up a template/rules for comments. It's a fucking ridiculous idea.

  5. Build some sort of federated commenting system that would allow someone like me to make a comment on their own site and have it salmon'ed to yours. Frankly, I don't think this would work with your current system and would probably be difficult to integrate without a CMS. I've been playing with Keybase which has a flat-file system integrated - you could join a trusted blogging network and use that to allow comments somehow.

I'm partial to the reddit idea, and might start doing it myself. I've also thought about setting up Mastodon and using that instead of Twitter. I also have a GNU Social instance running, but it's kind of a bummer without many people to follow.

All these options are making me want to turn my own comments off, just to force some creativity. I'm looking forward to seeing what Rubenerd does.

Discuss on Reddit… IF YOU DARE

Quickedit: This page on Hugo suggests Staticman which looks pretty neat. Integrated with Jekyll, which I know you're not using any more, but could be integrated into Hugo.

  1. Why hasn't that word died!? ↩︎

  2. Which I must not be because I don't statically generate my content ↩︎

  3. putting aside that by suggesting you enable comments, that's exactly what asking you to do ↩︎

  4. with a safe word ↩︎

  5. this may be a pro ↩︎

Milestone: 445 Posts!

This was going to be a post for my 500th published… post. 500 is a big milestone. So I've been cleaning up my site, migrating and consolidating AWS S3 buckets and setting up https hosting on one for some of the images and videos I've posted here in the past.

500 steps forward, 55 steps back. That's how that saying goes right?

But as I've been cleaning, I've discovered lots of old photos and short text posts that were imported through various automatic processes, like Flickr photos that were imported for a while when I tweeted them, or things I reblogged from other sites with dubious attribution.

So I've been judiciously killing them, and very rarely re-instating posts I never published (or only ever published on Facebook).

Which has all brought me to the much less auspicious count of a 445 post milestone for my return to blogging1.

Hooray! Here's to 445 more! And then 110 more after that so that I reach a more rounded number2.

  1. I will find a better word one day, mark my… word ↩︎

  2. Rubenerd can find meaning in all sorts of post numbers, maybe he can help me out here. ↩︎

rex-havoc fun technology use-case debate direction future jones google voice-in-the-dark friend time-diversion tip extensions movie twitter internet awesome bots official-help users christmas final-flight-of-xarnash interface iphone music wordpress create gadgets ortrix support the-professor voice-in-the-flesh anrianna blogging new-feature problem cute family guide past playlist search stupid application embed first-look gina-trapani god humour