Knights Ridge “eco retreat”

Knights Ridge “eco retreat”

We went for a weekend away up to a place in the Hunter Valley billing itself as an “eco retreat” and it was pretty great! We were able to bring Beanie along too, which he loved. Kristina had the great idea to get one of those extendo-leads so he was able to roam up to five metres away and smell all the smells while still remaining technically on his lead.

The whole place is entirely off-grid: electricity comes from solar plus battery storage (though they also included instructions for how to start up the backup generator in case anything happened), the toilet is a composting one, and water is all captured from the rain and stored. They did have a somewhat anaemic ADSL2 connection though, so I don’t know if you count that as still being entirely off-grid. 😛 There was zero mobile phone signal though, the whole time we were there our phones said “No service”.

The place was decorated in quite the rustic style, with all sorts of old bits and bobs around, but it was all totally clean and dust-free.

Sitting
Untitled
Untitled

There was no electric kettle, only an old stovetop one, and you don’t realise  how spoiled you are until you remember just how damn long it takes for a kettle to come to a boil on a gas stovetop!

Putting a cuppa on

The whole place was completely and totally silent in terms of any sort of human noise, the only sounds were from the trees and birds, and it was absolutely delightful. Sunset down the shallow valley that we were in was quite nice too.

Spotlight
Sunset

At dusk we saw a couple of wombats, though Beanie had to bark at them probably because they were low and had four legs and so looked somewhat dog-shaped, but we also saw some kangaroos! Beanie was absolutely fascinated by the kangaroos, we were watching from a goodly distance and he was sitting there absolutely laser-focused on them.

A distant kangaroo!
The kangaroo is the little tiny spec right in the middle where the field starts turning into the side of the valley.
Intently watching the distant kangaroo

My only complaint with the place is the number of bugs that manage to come in at night! Only about half the windows have flyscreens on them, so we had to run around and mostly close the place up once dusk arrived. All in all it was extremely relaxing, though. A++ would relax again.

The full album of photos is on Flickr.

Book recommendations, 2018 edition

Fair warning, I’m rubbish at writing reviews so I’m just going to copy and paste the summary from Booktopia. 😛 But I’ve read all of these books and they’re all fantastic and highly recommended!

Vigil by Angela Slatter (Book 1 of the Verity Fassbinder series)

Urban fantasy set in Brisbane.

Verity Fassbinder has her feet in two worlds.

The daughter of one human and one Weyrd parent, she has very little power herself, but does claim unusual strength — and the ability to walk between us and the other — as a couple of her talents. As such a rarity, she is charged with keeping the peace between both races, and ensuring the Weyrd remain hidden from us.

But now Sirens are dying, illegal wine made from the tears of human children is for sale — and in the hands of those Weyrd who hold with the old ways — and someone has released an unknown and terrifyingly destructive force on the streets of Brisbane.

And Verity must investigate, or risk ancient forces carving our world apart. 

The Stars are Legion by Kameron Hurley

Science fiction, a review on Amazon described it as “biopunk” which I think is perfect. It’s one of those books where very little is explicitly spelled out and you gather more and more little nuggets about the world as the book goes on.

Somewhere on the outer rim of the universe, a mass of decaying worldships known as the Legion is traveling in the seams between the stars. For generations, a war for control of the Legion has been waged, with no clear resolution. As worlds continue to die, a desperate plan is put into motion.

Zan wakes with no memory, prisoner of a people who say they are her family. She is told she is their salvation — the only person capable of boarding the Mokshi, a world-ship with the power to leave the Legion. But Zan’s new family is not the only one desperate to gain control of the prized ship. Zan must choose sides in a genocidal campaign that will take her from the edges of the Legion’s gravity well to the very belly of the world. Zan will soon learn that she carries the seeds of the Legion’s destruction — and its possible salvation. 

The Collapsing Empire by John Scalzi (Book 1 of the Interdependency series)

Science fiction.

In the far future, humanity has left Earth to create a glorious empire. Now this interstellar network of worlds faces disaster — but can three individuals save their people?

The empire’s outposts are utterly dependent on each other for resources, a safeguard against war, and a way its rulers can exert control. This relies on extra-dimensional pathways between the stars, connecting worlds. But “The Flow” is changing course, which could plunge every colony into fatal isolation.

A scientist will risk his life to inform the empire’s ruler. A scion of a Merchant House stumbles upon conspirators seeking power. And the new Empress of the Interdependency must battle lies, rebellion and treason. Yet as they work to save a civilization on the brink of collapse, others have very different plans…

The Fifth Season by N.K. Jemisin (Book 1 of the Broken Earth trilogy)

Science-fiction/fantasy, it’s kind of hard to nail it down to a single genre.

Three terrible things happen in a single day.

Essun, masquerading as an ordinary schoolteacher in a quiet small town, comes home to find that her husband has brutally murdered their son and kidnapped their daughter. Mighty Sanze, the empire whose innovations have been civilization’s bedrock for a thousand years, collapses as its greatest city is destroyed by a madman’s vengeance. And worst of all, across the heartland of the world’s sole continent, a great red rift has been torn which spews ash enough to darken the sky for years. Or centuries.

But this is the Stillness, a land long familiar with struggle, and where orogenes — those who wield the power of the earth as a weapon — are feared far more than the long cold night. Essun has remembered herself, and she will have her daughter back.

She does not care if the world falls apart around her. Essun will break it herself, if she must, to save her daughter.

Leviathan Wakes (Book 1 of The Expanse series)

Gritty science fiction. (It should be noted that there are currently seven books in this series so far, and they are all brilliant.)

Humanity has colonised the planets — interstellar travel is still beyond our reach, but the solar system has become a dense network of colonies. But there are tensions — the mineral-rich outer planets resent their dependence on Earth and Mars and the political and military clout they wield over the Belt and beyond.

Now, when Captain Jim Holden’s ice miner stumbles across a derelict, abandoned ship, he uncovers a secret that threatens to throw the entire system into war. Attacked by a stealth ship belonging to the Mars fleet, Holden must find a way to uncover the motives behind the attack, stop a war and find the truth behind a vast conspiracy that threatens the entire human race.

Bound by Alan Baxter (Book 1 of the Alex Caine trilogy)

Urban fantasy set (at least initially) in Sydney.

Alex Caine is a martial artist fighting in illegal cage matches. His powerful secret weapon is an unnatural vision that allows him to see his opponents’ moves before they know their intentions themselves.

After a fight one night, an enigmatic Englishman, Patrick Welby, claims to know Alex’s secret. Welby shows Alex how to unleash a breathtaking realm of magic and power, drawing him into a mind-bending adventure beyond his control. And control is something Alex values above all else. 

Changer by Matt Gemmell (Book 1 of the Kestrel series)

Urban fantasy-slash-science-fiction, set in the Edinburgh, Scotland.

Jutland, Denmark: a billionaire industrialist seizes control of a top-secret project that the European Defence Agency calls Destiny, manipulating it for his own ends.

Edinburgh, Scotland: physicist Neil Aldridge’s life is saved by an elite EU special forces team, codenamed KESTREL, drawing him into a race against time to prevent a disaster that will claim millions of lives.

As the chase leads to London, Amsterdam and beyond, Aldridge and his allies must battle a ruthless adversary: a trained killer with an unnatural ability, who seeks to hasten the cataclysm.

With time running out, Aldridge discovers that he and his enemy share an astonishing secret, which may be the key to salvation — or cause death on an unprecedented scale…

The spiritual successor to SimCity, Cities: Skylines

I first played the original SimCity Classic back in the early 1990s on our old Macintosh LC II, and absolutely loved it. Laying out a city and watching it grow was extremely satisfying, and the sequel, SimCity 2000 was even more detailed. I played a bit of SimCity 4, which came out in 2003, but the latest entry in the series, titled just “SimCity“, by all accounts sucked. The maps were significantly smaller in size, and it required an internet connection and was multiplayer to boot.

It’s actually possible to play SimCity 2000 on modern machines and I definitely got stuck into it a few years ago. This is a screenshot of my most recent city!

Screenshot of SimCity 2000, zoomed out and showing as much of my city as possible.

If you’re wanting a proper modern SimCity 2000-esque experience though, Cities: Skylines is what you’re after. It came out in March of 2015 on desktop, and was ported to Xbox One in April of 2017 and they did a damned good job of it, the controls are all perfectly suited to playing on a controller as opposed to with a mouse and keyboard.

The level of detail of the simulation is fantastic, you can zoom all the way in and follow individual people (called “cims”, as opposed to SimCity’s “sims”) or vehicles and see where they’re going. There’s a robust public transport system and you can put in train lines (and buses, and trams, and a subway, and in the most recent expansion called Mass Transit, even monorails, blimps, and ferries!) and see the cims going to and from work, and how many are waiting at each station and so on.

We recently upgraded to the Xbox One X and a shiny new OLED 4K TV (quite the upgrade from our nine year-old 37″ giant-bezeled LCD TV!), and it makes for some very nice screenshots. These are from my largest city called Springdale, currently home to ~140k people!

Nostalgia and the Classic Mac OS

I’ve been a Mac user my entire life, originally just because my dad used them at his work and so bought them for home as well. My earliest memories are of him bringing his SE/30 home and playing around in MacPaint. We also had an Apple IIe that we got second-hand from my uncle that lived in my bedroom for a few years, though that doesn’t count as a Mac.

The first Mac my dad bought for us at home was the LC II in 1992 (I was 9!), and I can remember spending hours trawling through Microsoft Encarta being blown away at just how much information I could look up immediately. I also remember playing Shufflepuck Café and Battle Chess, and I’m sure plenty of others too that didn’t leave as large an impression. There was also an application that came with the computer called Mouse Practice that showed you how to use a mouse, and we had At Ease installed for a while as well until I outgrew it.

After the LC II we upgraded to the Power Macintosh 6200 in 1995, which among other things came with a disc full of demos on it including the original Star Wars: Dark Forces (which I absolutely begged my parents to get the full version of for Christmas, including promising to entirely delete Doom II which they were a bit disapproving of due to the high levels of gore), and Bungie’s Marathon 2: Durandal (which I originally didn’t even bother looking at for the first few months because I thought it was something to do with running!). Marathon 2 was where I first became a fan of Bungie’s games, and I spent many many hours playing it and the subsequent Marathon Infinity as well as a number of fan-made total conversions too (most notably Marathon:EVIL and Tempus Irae).

The period we owned the 6200 also marked the first time we had an internet connection as well (a whopping 28.8Kbps modem, no less!). The World Wide Web was just starting to take off around this time, I remember dialing into a couple of the local Mac BBSes but at that point they were already dying out anyway and the WWW quickly took over. The community that sprang up around the Marathon trilogy was the first online community I was really a member of, and Hotline was used quite extensively for chatting. Marathon Infinity came with map-making tools which I eagerly jumped into and made a whole bunch of maps and put them online. I was even able to dig up the vast majority of them, there’s only a couple of them that I’ve not been able to find. I have a vivid memory of when Marathon:EVIL first came out, it was an absolutely massive 20MB and I can recall leaving the download going at a blazing-fast 2.7KB/s for a good two or three hours, and constantly coming back to it to make sure it hadn’t dropped out or otherwise stopped.

After the Marathon trilogy, Bungie developed the realtime strategy games Myth: The Fallen Lords and its sequel Myth II: Soulblighter, both of which I also played the hell out of and was a pretty active member of the community in.

After the 6200 we then had a second-gen iMac G3 then a “Sawtooth” Power Mac G4 just for me as my sister and I kept arguing about who should have time on the computer and the Internet. 😛 The G4 was quite a bit of money as you’d imagine, so I promised to pay it back to dad as soon as I got a job and started working.

macOS (formerly Mac OS X then OS X) is obviously a far more solid operating system, but I’ve always had a soft spot for the Classic Mac OS even with its cooperative multitasking and general fragility. We got rid of the old Power Mac G4 probably eight years ago now (which I regret doing), and I wanted to have some machine capable of running Mac OS 9 just for nostalgia’s sake. Mum and dad still had mum’s old PowerBook G3 and I was able to get a power adapter for it and boot it up to noodle around in, but it was a bit awkwardly-sized to fit on my desk and the battery was so dead that if the power cord wasn’t plugged in it wouldn’t boot at all.

There was a thread on Ars Technica a few months ago about old computers, and someone mentioned that if you were looking at something capable of running Mac OS 9 your best bet was to get the very last of the Power Mac G4s that could boot to it natively, the Mirrored Drive Doors model. I poked around on eBay and found a guy selling one in mint condition, and so bought it as a present to myself for my birthday.

Behold!

Power Mac G4 MDD

Dual 1.25GHz G4 processors, 1GB of RAM, 80GB of hard disk space, and a 64MB ATI Radeon 8500 graphics card. What a powerhouse. 😛

There’s a website, Macintosh Repository, where a bunch of enthusiasts are collecting old Mac software from yesteryear, so that’s been my main place to download all the old software and games that I remember from growing up. It’s been such a trip down memory lane, I love it!

A trip to Queenstown

Last week we finally got around to visiting New Zealand! We’d been meaning to go for a good couple of years now, but never actually did it. We started small and visited just Queenstown and surrounds, and were only there for three full days.

We flew in at night on Saturday night, and the descent in was rather long and bumpy which I guess is to be somewhat expected when it’s surrounded by mountains. We went into Queenstown for dinner first, and had one of the best burgers I’ve ever had at The World Bar.

The place we were staying was about 15 minutes drive from Queenstown, but because it was night time all we could see was brilliant yellow leaves on the trees at the side of the road where the headlights were lighting them up. We woke up the next morning, and holy crap, the view!

The Remarkables, morning light

Untitled

We went up the Skyline Gondola which has a hell of a view over Queenstown itself.

The view from Skyline Queenstown

Next we drive up to Glenorchy, which is about an hour away. Lunch was surprisingly delicious beef noodle soup from a Chinese restaurant there (there are a lot of Chinese tourists around).

On the road to Glenorchy

Kristina

Orange

Glenorchy Wharf

We spent the afternoon wandering around Queenstown Gardens and Queenstown itself. This was definitely a fantastic time to visit, the air was cool and crisp and all the leaves were changing and everything was bright yellow.

Sitting

Untitled

Secluded

Smokey

Dinner was whole baked flounder with shaved fennel and orange from Public Kitchen and it was absolutely magnificent, cooked to total perfection. The “whole fish” bit was slightly off-putting because it’s literally that, a entire fish, eyeballs and all, sitting on your plate staring up at you but I pretty quickly got over it. 😛

The morning view the next morning was even better than before.

The Remarkables, morning light 2

We paid a brief visit to Arrowtown, though there wasn’t a whole lot there and it was mostly tourist shops.

Untitled

Untitled

We then drove up to Wanaka and took the obligatory photo of the tree there.

That Wanaka Tree

The drive itself had some great scenery along the way too.

Untitled

Winding road

Untitled

Dinner was at the Pig & Whistle pub, I got the dry-rubbed steak with veggies and red wine jus and Kristina had chicken and mushroom pasta, and they were both absolutely incredible.

The final full day we were there, we drove two and a half hours up to Lake Pukaki. As before, the drive itself was quite scenic too.

Stopping at Tarras

Lindis Pass

The lake itself is amazing, it’s this crazy neon-blue colour. The first two photos don’t really do it justice, but the third one is exactly how it looked even in person.

Lake Pukaki

Lake Pukaki

Lake Pukaki

We drove a little further north along the western edge of the lake to get a bit closer to Looking towards Aoraki / Mount Cook, which was looking very dramatic with its peaks covered in clouds.

Looking towards Aoraki / Mount Cook

Overall it was a fantastic trip, we definitely want to go back again but we’re thinking we’ll fly into Christchurch next time and drive around further in the north of the South Island.

The full photosets are here:

More miniatures: Warhammer 40,000 edition

Warhammer 40,000 used to be quite the complicated affair, lots of rules and looking things up on different tables to check what dice roll you needed for different effects, and needing many hours to finish a game. The 8th Edition of the game came out last year, and was apparently extremely streamlined and simplified and seems to have been received very well. Since I’d been doing well with Shadespire, I decided to get the 8th Edition core box set as well, and had almost exactly enough in Amazon gift card balance for it! It comes with Space Marines, as always, but the opposing side is Chaos this time. 7 Plague Marines, a few characters, a big vehicle, and about 20 undead daemon things. I decided to alternate between painting a handful of each side at once, so as not to get bored, and have gone with Space Wolves (big surprise, I know) as the paint scheme for the Imperial side.

Space Wolves Intercessor

There’s another five of these Space Marines but they’re all identical apart from the poses so I didn’t take photos of all of them.

The Plague Marines are all unique though, so I’ve been taking photos of each of them, my first batch was four of them.

Plague Marine 1

Plague Marine 2

Plague Marine 3

Plague Marine 4

My mobile painting table has been a great success, but after the first batch of Space Marines I realised I was getting a sore neck and back from hunching over towards the miniatures as I was painting them because everything was too low. Another trip to Bunnings, and lo and behold…

Painting table from the side, showing the two vertical blanks to give it some hight

Problem solved!

I also realised the other day why I was enjoying painting my miniatures a lot more now than I used to… it’s thanks to being able to combine my hobbies of painting and also photography. 😛 I can paint the miniatures and be happy with my work, but then also take professional-looking photos of them and share them with the world!

More Raspberry Pi adventures: the Pi Zero W and PaPiRus ePaper display

I decided I wanted to have some sort of physical display in the house for the temperature sensors so we wouldn’t need to be taking out our phones to check the temperature on my website if we were already inside at home. After a bunch of searching around, I discovered the PaPiRus ePaper display. ePaper means it’s not going to have any bright glaring light at night, and it also uses very little power.

The Raspberry Pi is hidden away under a side table, and already has six wires attached to the header for the temperature sensors, so I decided to just get a separate Raspberry Pi Zero W — which is absurdly small — and the PaPiRus display.

Setting it up

I flashed the SD card with the Raspbian Stretch Lite image, then enabled SSH and automatic connection to our (2.4GHz; the Zero W doesn’t support 5GHz) wifi network by doing the following:

1) Plug the flashed SD card back into the computer.

2) Go into the newly-mounted “boot” volume and create an empty file called “ssh” to turn on SSH at boot

3) Also in the “boot” volume, create a file called “wpa_supplicant.conf” and paste the following into it:

country=AU
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WIFI_SSID"
psk="WIFI_PASSWORD"
key_mgmt=WPA-PSK
}

4) Unmount the card, pop it into the Pi, add power, and wait 60-90 seconds and it’ll connect to your network and be ready for SSH access! The default username on the Pi is “pi” and the password is “raspberry”.

(These instructions are all thanks to this blog post but I figured I’d put them here as well for posterity).

The PaPiRus display connection was dead easy, I just followed Pi Supply’s guide after soldering a header into the Pi Zero W. If you want to avoid soldering, they also offer the Zero W with a header pre-attached.

Getting the Python library for updating the display was mostly straightforward, I just followed the instructions in the GitHub repository to manually install the Python 3 version.

I wrote a simple Python script to grab the current temperature and humidity from my website’s REST endpoints, and everything works! This script uses the “arrow” and “requests” libraries, which can be installed with “sudo apt-get install python3-arrow python3-requests”.

Next step is to have the Pi 3 that has the sensors run a simple HTTP server that the Zero W can connect to it, so even if we have no internet connection for whatever reason, the temperatures will still be available at home. I’ve updated my Pi Sensor Reader to add HTTP endpoints.

Another year of Node.js (now also featuring React)

I posted last year about my progress with Node.js, and the last sentence included “I’m very interested to revisit this in another year and see what’s changed”.

So here we are!

There’s been a fair bit less work on it this year compared to last:

$ git diff --stat 6b7c737 47c364b
[...]
77 files changed, 2862 insertions(+), 3315 deletions(-)

The biggest change was migrating to Node 8’s shiny new async/await, which means that the code reads exactly as if it was synchronous (see the difference in my sendUpdate() code compared to the version above it). It’s really very nice. I also significantly simplified my code for receiving temperature updates thanks to finally moving over to the Raspberry Pi over the Christmas break. Otherwise it’s just been minor bits and pieces, and moving from Bamboo to Bitbucket Pipelines for the testing and deployment pipeline.

I also did a brief bit of dabbling with React, which is a frontend framework for building single-page applications. I’d tried to fiddle with it a couple of years ago but there was something fundamental I wasn’t grasping, and ended up giving up. This time it took, though, and the result is virtualwolf.cloud! All it’s doing is pulling in data from my regular website, but it was still a good start.

There was a good chunk of time from about the middle of the year through to Christmas where I didn’t do any personal coding at all, because I was doing it at work instead! For my new job, the primary point of contact for users seeking help is via a room on Stride, and we needed a way to be able to categorise those contacts to see what users were contacting us about and why. A co-worker wrote an application in Ruby a few years ago to scrape the history of a HipChat room and apply tags to it in order to accomplish this, but it didn’t scale very well (it was essentially single-tenented and required a separate deployment of the application to be able to have it installed in another room; understandable when you realise he wrote it entirely for himself and was the only one doing this for a good couple of years). I decided to rewrite it entirely from scratch to support Stride and multiple rooms, with the backend written in Node.js and the frontend in React. It really is a fully-fledged application, and it’s been installed into nearly 30 different rooms at work now, so different teams can keep track of their contact rate!

The backend periodically hits Stride’s API for each room it’s installed in, and saves the messages in that room into the database. There’s some logic around whether a message is marked as a contact or not (as in, it was someone asking for help), and there’s also a whitelist that the team who owns the room can add their team members to in order to never have their own messages marked as contacts. Once a message is marked as a contact, they can then add one or more user-defined tags to it, and there’s also a monthly report so you can see the number of contacts for each tag and the change from the previous month.

The backend is really just a bunch of REST endpoints that are called by the frontend, but that feels like I’m short-changing myself. 😛 I wrote up a diagram of the hierarchy of the frontend components a month or so ago, so you can see from this how complex it is:

And I’m in the middle of adding the ability to have a “group” of rooms, and have tags defined at the group level instead of the room level.

I find it funny how if I’m doing a bunch of coding at work, I have basically zero interest in doing it at home, but if I haven’t had a chance to do any there I’m happy to come home and code. I don’t think I have the brain capacity to do both at once though. 😛

Tea, five years later

I’d posted back in May of 2013, just before we moved into our house, that I was really enjoying my nighttime cuppa, and nearly five years later we’re now at the point where we have an entire shelf of our pantry that has nothing but tea on it!

Our selection of tea

We’ve got a handful of loose-leaf teas, but I tend to forget about them because they’re buried at the back and it’s a bit of a pain to clean up afterwards. A cup of herbal tea after dinner is glorious, especially when the weather has cooled down. The brand “Celestial Seasonings” has quite a few very tasty ones, and we’ll frequently pick up a new interesting-looking type when we’re out at the shops too (hence the whole shelf of tea that we now have).

I still don’t tend to drink a lot of black tea, mostly because it’s not caffeinated enough compared to coffee, but we discovered McVitie’s digestive biscuits thanks to a British documentary series (called “Inside the Factory”) about how they’re made, and ohmygod they’re so good dunked in a nice hot cup of black tea! ?

Mobile painting

I mentioned in my last post that I’d brought all the paints and miniatures and everything inside because it was too hot in the back room to do any actual painting. Moving everything back and forth turned out to be a massive pain, so I decided to build myself a painting board that I could have everything sitting on, then just pick up and move back and forth as necessary.

After about $20 at Bunnings and some Liquid Nails as well as actual nails, it’s ready to go! The board ended up being somewhat larger than I was expecting, and it was a very tight squeeze with all the other stuff on the desk. Fortunately we still had the two shelves we’d originally put up in the office three and a half years ago and had since removed when we rearranged everything two years ago, so I put them up and moved basically everything that was on the desk onto them instead, and now everything is neat and tidy and organised!

Miniatures painting board

Board