April 15, 2017
Unpopular Versions of Diamond Find I Have Made
It began with a series of barely legible comics.
Who can say why? But in the fall of 2011 I had an idea for an interactive story based on this idea. I became obsessed and so sat down and wrote a little Java program that would construct one in a CSV file. I'd only build the engine to actually read/play the file four months later, after I'd written over 80,000 words of diamond adventures, because I'm committed like that.
Diamond Find: Alpha (2012)
A minimal reader did the job, and with a little character art it was playable:
I sent it around to a few people to do editing and testing, but knew at this point I knew it could be more. I added a second CSV with more encounters and B-stories, including branching consequence trees for finding some of the unique diamonds, and a questionable storyline where the Feds send their best profiler to hunt you down after you assassinate a city councillor for a diamond.
Total users: ~10
Diamond Find for Android (2012)
Designing the game for a phone presented the challenge of text size -- how to fit the content into a screen so small? I was also thinking ahead to smartwatches, which I still believe are the future. It was at this point that I decided it would work best as a speed-reading game, and thus implemented it as a flashy, lightning-fast comedy brain trainer. I even tracked down Volker Tripp, who'd done music for some of my favourite games in the 90's, to license some of his MOD music for the soundtrack. However, he stopped responding to my emails after a little while, which was disappointing, but also saved me 1300 euros. This version was the first to feature HD diamond graphics.
Total users: ~35
Diamond Find LP (2013)
I definitely wanted to capture a hip demographic, and market research pointed straight to vinyl. While it took a bit of editing, I managed to fit the game onto two sides of an LP and pressed a limited edition copy:
However, it failed to attract a minimum bid at auction and thus remains unsold. This collector's item can be yours though, for the right price! Serious inquiries only.
Total users: 0 (still in mint condition)
Diamond Find Terminus (2013)
After dismissing the idea to port the game to the more popular iOS, I decided to make a website where people could play Diamond Find for free! At first the plan was to implement it in Ruby on Rails, and thus I ported the game to Ruby, creating a terminal-based skeleton:
Functional, but I was still more comfortable with Java at the time, and shelved Terminus after only a week.
Total users: 2
Diamond Find on FractalFic (2014)
Far more ambitious than what I reasonably had time and money to build, the FractalFic platform was designed not only to run Diamond Find, but also to allow users to write and publish their own Diamond Find-style adventures. For mass appeal, I even watered down the city councillor murder plot by making the gun chocolate.
It drove me into debt and depression, but the Java and web skills I learned during its nine-month build were enough to secure me an entry-level dev job. Success!
FractalFic, however, was a failure. Despite receiving some press coverage (from Clamblog), only a few people ever wrote stories, and the cost of running the server was not offset by the 'freemium' pricing model I'd set up. It ran for a year and a half before I pulled the plug.
Total users: Unknown (did not implement tracking)
Diamond Find, Today
But I couldn't let it just die. Years later, now proficient in Ruby on Rails, I knew I could implement a new version in a very short time. And did I ever!
It's free, open-source, and if you sign up, you can save all the diamonds you find to your profile & even download HD versions as wallpapers. It may be the best version of Diamond Find ever!
So will you just fucking play it? I... I can't keep doing this.
Total users (live count): 32
December 30, 2016
Obligatory 2016 Listicle
Time to break down another year into an easily-digestable list of positive characteristics. Positive for me, anyway:
10. Got a new cat
We adopted a second cat last winter, this one orange, and even though he steals bread out of the toaster and bites the doorframes, he's a great little animal. There is much photography of him and the more annoying piebald one on my Twitter.
9. State-of-the-art phone
After ignoring peoples' conversations about data plans for almost a decade, I finally found myself in a situation where some knowledge on the subject would have been useful. Luckily, the kiosk reps were more than helpful, and after playing them off each other for my own amusement, I now have a sleek new phone that tells me more conveniently when the next bus isn't coming.
8. The Long Dark
GOD this game is good. Once past the learning curve, it's a perfect balance of chilled-out winter exploration and super-tense making-sure-there-aren't-wolves paranoia.
A sport I can do in all seasons, bouldering is as whole-body strenuous as it is fun. The community at the gym is friendly and helpful, and my unnaturally long arms and light frame allow me to succeed without necessarily being skilled!
6. Guest treatment at Hal-Con
Ah yes, this year the local sci-fi convention Hal-Con invited me as a Local Author Guest, as I am local and published a couple of books. I got car service, a PA, green room access, and all sorts of opportunities to meet actual celebrities.
It was an exhausting three days, but I sold a bunch of books, saw friends, and met new and old fans. And someone showed up with a cosplay of one of my characters!
Though I did have to admit to TV's Aaron Ashmore that I don't watch TV. That was kind of embarrassing.
5. Someone reviewed my shit
I was validated as an 'author' when one of my unsuspecting Hal-Con customers decided to review Snapback for local alt-weekly The Coast. Luckily he did not trash it. Might have had to shut down the company.
4. Two kitties sitting on me at once
The orange cat I mentioned earlier sometimes teams up with the piebald one to be ultra cute. Right now they're sitting on my lap, between me and the laptop, just licking each other all over the face. I'm pretty pleased about this, as I had specifically requested that I wanted this to happen on the adoption form.
3. Hella good Ruby on Rails jobs
My first programming job was good, compared to non-coding jobs, but it was, retrospectively, at a terrible company. After I left early this year, I got a much better job at a small crowdfunding agency, and when that contract ended, I had a few weeks to relax before starting at this new place. I'm using Ruby every day and the benefits are excellent.
2. That thing I can't tell you about
Look, I can't say a lot about this, but something good happened, and for one reason or another, it can't be printed here. I apologize for that -- this company prides itself on its transparency. But trust me: it was worthy of spot #2. Which places it right above...
1. This new milk frother
Working at the 'Bucks in high school got me the taste for lattes, and a stovetop espresso machine has been ever-present in my kitchen since. Frothed milk, however, has always been the challenge. Those Bodum hand-pump frothers never seemed to hold enough, and the wand-style spinny ones were terrible. Plus, microwaving the milk and skimming off the fat was always annoying, not to mention washing all the damn dishes.
As such, I've let my morning coffees get pretty sad over the last few years, often doing little more than adding a splash of cold milk to the espresso before I slam it back.
But my girlfriend noticed this severe life decifiency and got me an automatic frother appliance. I put milk in the jug, press a button, and it becomes frothed to my desired temperature. And the jug rinses out in seconds! My lattes are so good now, and it appears I can also make hot chocolates.
So, I'm sorry this ended up to be more of a "Best things I can remember from the last 3 days", but 2016 was long, and I didn't keep detailed notes. What, did you want an affiliate link for the milk frother? Fuck you.
February 12, 2016
Belated 2015 round-up
It may be 42 days into 2016, but I still haven't told you what my ten favourite things of 2015 were. Luckily you patiently waited.
10. eBook Distribution Platform
This should actually rank higher but I didn't want to bury the lead: I made a way for you to buy eBooks of Ghostcrime without making me walk to the post office! If you promise to check out the site, I promise to make the rest of these list items not directly self-promotional.
9. Rental cars
It's been a couple of years since I sold the ol' '96 Civic for parts, and I've been happier for it, but this summer I had reason to rent a vehicle for a week out of town. The Taurus was so new and technologically capable, I felt unworthy, but the driving was great. Though I was kind of concerned the rental agency would use the on-board computer to record my conversations and sell them in bulk to the highest bidder, so I tried not to sing along to the satellite radio too much.
8. Having a full-time coding job
Being self-employed was great and all, and the hours were fantastic. But there's nothing like the routine and paycheque of a proper job, especially one as fun as programming. Could have used a little more vacation, though -- I was itching to take a Taurus out again. I suspect they put a chemical into the air freshener to make you love the car.
7. Satellite radio
I alluded to this a few items up, but I guess everyone's known about this for years? It's pretty cool how it shows you what song is playing.
6. Gin Blossoms
I guess everyone already knew about them too but I was listening to some 90's Alternative mixes at work (to, uh, get in the 'zone') and they were pretty much the highlight. I was also introduced to Cake's early output this way. They don't get their own entry.
5. Bigger apartment
Being more employed helped finance a larger apartment. It's got tons of space for animals to run around, and there isn't an angry neighbour downstairs who slams his closet door whenever I drop a piece of fruit. I've been eating a lot more avocados as a result.
Creamy and neutral, these really bulked up my 2015 -- and my salads -- with delicious vegetable fat.
3. Small octopi
On the topic of food, I had a weird experience this year where I went to a decently upscale restaurant and ordered octopus. They were served whole, stood up on their curled legs like chess pieces, and as I ate them, I felt like an alien king. I'm not going to say the name of the restaurant. That's what Yelp is for.
I somehow convinced the talented and hilarious Bruce Delo to do the cover for Ghostcrime in the middle of his own manic rush to complete the weighty KOBRA STALLION, Vol.1: Reptile Justice in the Stars. It's the first (or second, depending on what you count) book in the series he's doing which is already epic enough to have its own wiki (though it doesn't actually have a wiki yet). It was pretty great to watch his creative process, tons of fun to bounce ideas around, and his daunting project gave me valuable perspective on my own. Also, we shared a table at Hal-Con, and that was a blast.
1. Pickled eggs
Sorry, Bruce -- pickled eggs edged you out this year. The tanginess of a pickle, with the nourishment of an egg? It can only be pickled eggs. I bought them whenever they were on sale. No way I'm paying $4.79 for six eggs and a jar of vinegar.
Well, there you go. I hope it was worth the wait. So are you going to check out my new site where you can buy DRM-free Ghostcrime eBooks? There's an easter egg where you can make it look like it's raining.
May 15, 2015
4 Victoria Day Hacks That Can Really Modify Your Weekend
Here in the Commonwealth, we aren't shy about our favourite queens of yore. Every spring, we gather to remember Victoria, reciting the poems she wrote for us, and reminding each other in sober tones the adages she imparted on our ancestors.
However, if you've been feeling the effects of cyberwarfare recently, you don't want to lose any more clock cycles to the enemy. Here are some tips to optimize your security this weekend:
1. Protect your empire
You may have updated your WordPress to patch the latest vulnerability, but what good does that do if your passwords can't hold up against brute-force? Use a complex passphrase you can easily remember and a cipher substitution system that feels natural. It's what Victoria would have done.
2. Scale out
Just as the beloved Queen expanded the British Empire under her rule, so you can expand your rule of the Internet-of-Computers. Get a few more servers and spread out -- because if someone brings down your web game with a DDoS, or if it simply goes mega-viral, you don't want your databases tanking with it (even if they're Mongo).
3. Ensnare your enemies
How soon we forget that brave Queen Victoria goaded John Francis into carrying out his assassination attempt in 1842, only to have him pwned by her entourage. Following in her esteemed footsteps, you too can lay a trap for your predictable adversaries. Construct a good honeypot so you can analyze those who would analyze you, without relinquishing any meaningful data. Just don't give the whole thing away by disabling outgoing connections.
Victoria's husband Albert died of Typhoid Fever, a consequence of the castle's poor sanitation. Don't let your data fall prey to the same fate, or at least a metaphorically similar one -- sanitize all your inputs, and don't forget to authenticate server-side. It's royally necessary.
That should get you through the long weekend. But if you still find time to party, make sure your house doesn't become the the House of Hangover by chugging a few glasses of water before bed. Just keep them away from the computer.
March 11, 2015
7 reasons why Go is great (other than gameplay
People are sometimes baffled by my love of Go. This often inspires from me a gushing, almost manic explanation of everything great about it, condensed into as little time as possible. I'm pretty sure I don't do it justice.
But even ignoring the fact that it's thrilling and mentally stimulating, there's a lot about Go that makes it fun and accessible that has nothing to do with the relentless gameplay:
1. Zero set-up time, easy clean-up
Feel like playing? Sit down at the board, take the lids off the bowls, and lay your first move. None of that card-shuffling, or queen-goes-on-her-own-colour nonsense.
At the end of the game you'll have to separate the black and white stones and put them back into their respective bowls, but it's kind of soothing, especially after a furious match.
Which reminds me:
2. Go is tactile
You have an entire bowl of smooth stones at your disposal. Some serious players consider unnecessary touching and/or rattling of the stones in the bowl to be rude, but it feels really great on the fingers. Go ahead; I won't judge.
3. Play as hard as you want
In Go, it's perfectly acceptable to slap down your stones with some force. In fact, it's encouraged! Feels great in an aggressive game, and it can be intimidating for your opponent. Or, you can quietly slide your moves into place, lulling your opponent into a false sense of security before playing the sneaky move you've been plotting for half the game.
4. You only need one other person
Can't get three people together for Catan? That's fine, because you only need one friend for Go. Even if you've got extra people, they should be perfectly happy to sit and watch, because:
5. Go is really fun to watch
It's the House of Cards of board games -- two players test each other, fighting small battles that tie into their overarching plans. Then, after some thrilling twists, someone plays a shocking move that completely throws the other person under a subway (spoilers). A lot can happen in 250-300 moves.
6. Quickly find a good opponent online
Are you truly, utterly alone? Not even that matters, because you can always log onto a Go server and find an opponent with a similar rank. On KGS it usually doesn't take me more than a minute to get a game started, and it's a great place to get exposed to a huge range of playing styles. Plus, you can step in and watch most of the games being played, so it's an endless, free source of entertainment. Unlike House of Cards.
7. A rich history to explore
The game has been played for thousands of years. Strategies have come in and out of vogue with the changing of dynasties, and yet the game itself has hardly changed. And while it's fun to read about champions of days gone by, you can also study the hundreds of Go proverbs that have passed the test of time. They'll help your game and give you some insight into dry Go humour.
So what more could you want from a board game? Play through an interactive tutorial and see what I get so crazy about.
December 31, 2014
Year in review: 2014
It's that time of the year again -- I mark the extra minute of daylight at both ends of the day, if it isn't overcast, and have to think up another annual summary post. Like I have the energy. Let's get this over with.
10. Pickled beans
These just made the list today. Crunchier than pickled eggs, these over-sized beans are sure to chase away the winter blues.
I invested in some fuzzy blankets last winter and they're certainly up there with the best.
At some point this year, there was sunlight, I'm sure, for most of the day. It was really warm outside, and sunlight was the root cause. It makes the list.
7. Riven: The Sequel to Myst
Decided to go back to this miserable cluster of islands after 16 years. I'd forgotten how it's just one vague, sprawling puzzle, and I'd somehow romanticized the whole thing in my mind as a fun time. Which is why I also have to include...
6. Official Riven Strategy Guide
Kept this slim volume handy for over a decade just in case I ever had a Riven emergency. I know there are online walkthroughs, but what if there wasn't Internet, or power, and only half a battery charge left?
5. Java programming language
The clean, easy-going Ruby language made the list last year, but this must have angered Java, as it's back with a vengeance. So strict and unforgiving, under the guise of being helpful. UnsupportedOperationException? Thanks, you asshole, I kind of figured. If I give it a list spot, maybe it'll go away.
4. Giving up on what I'm doing to go to sleep
An excellent strategy. Year-end wrap-ups are supposed to be about media that was released that year, anyway, and I actively avoided most of that. Hope it was good? I might have to read some lists later.
December 31, 2013
2013 Year In Review
Everybody's making lists of things about the year so I thought I would do the same. Except I really didn't listen to any new albums this year and the only movie I saw in theatres was Elysium, which was visually striking but fairly shallow otherwise. So it's just going to be a list of stuff I liked this year. It follows:
10. Wireless headphones
Playing loud music or games during the night is a favourite pastime of mine, but in order to be respectful to neighbours, I have for years tethered myself to my desk with headphones. In March this changed when I procured a set of comfortable Sony headphones! Now I can walk about, sit in armchairs, wash dishes, cry in the bedroom, etc. without ever having to stop listening to....
9. Bee Gees Greatest Hits
Say what you will about the Gibb brothers but it won't take this gem off the list. It's great background music for any sort of task, menial or otherwise, and the stretch from Jive Talking to Islands In the Stream is basically perfect. Sometimes I feel bad for broadcasting this wirelessly so often, but if anyone else is picking up the signal on a baby monitor or something, they've definitely stopped using it by now.
8. AdBlock for Chrome
After YouTube cranked their ads early this year and continued to do so, their site elicited more and more profanity from me, especially when I'd set up a playlist of British comedy to listen to while away from the computer. But the AdBlock extension removes all of the pre-video ads and also cleans up Facebook a great deal! Thanks AdBlock. You really should be higher on the list. I didn't plan this very well.
7. Propellor Porter
A beer so dark, so smooth, so flavourful -- it can only be Propellor Porter. I wish I had some right now.
6. Wireless keyboard
For when I want to write but don't want to stare at a screen, I'll Bluetooth my Microsoft Wedge wireless keyboard to whatever device I have on me at the time, allowing me to write WHEREVER I WANT. The sensation of typing into nothingness is disorienting at first, and requires slightly more editing afterwards, but it's quite freeing. I can type on the bus, in dark rooms, in parks, etc. Which is definitely my thing.
More physically and mentally taxing than hiking, trail-running is my new favourite exercise. I am lucky I did not get seriously injured though because I was not ready for how intense it was.
4. Ruby programming language
Mm, almost no brackets to speak of, and unit testing is ridiculously easy. With its simple syntax and casually-typed variables, it feels like programming in crayon. One day someone will pay me to do it professionally but until then it's stodgy Java all the way.
3. Proper server administration with DigitalOcean
Before this year I'd never been with a web-hosting company that gave me root access to a server and let me install whatever I wanted. I didn't think any of them allowed that. But then during my Ruby exploration I started a server on DigitalOcean and lo, I had to install my own software stack! Exactly how I wanted! Most fun I've ever had, except for that time that I lived with a badger.
2. Standing desk
After a serendipitous discovery of some sturdy end-tables at a yard sale, I made a platform for my normal-sized desk and my life changed forever. Or at least my lower back did. Standing desk rules. But not as much as....
That's right, the dried cranberry snack topped the list this year. I used to buy them in bulk from the grocery store, but then I discovered, in the same store, the make-your-own-candy-trail-mix station had them for half the price. Life-altering.
December 16, 2013
Animal-Themed Moves You Can Try When Playing Go
It seems like every day I play a game of Go unlike any I've played before! This is of course a mathematical certainty, but it does not mean that I don't repeat sequences that have proven successful in the past. Here are some of my favourite moves that you too can attempt:
The Crane's Nest
This is a fairly basic sequence but never fails to bring a smile to my otherwise emotionless face. I'm not sure what stone is supposed to be the 'egg' in the situation but I like to think it's the one that gets cleverly sacrificed.
Golden Chicken Standing On One Leg
Another bird-themed position is also a favourite of mine, and it's a rare treat when I can make it work. The shortage of liberties of both sides of a split group prevents the capture of the invading stones, forcing the losing player to give up the position immediately. I used to call it an "Awkward Split" but its Chinese name is far superior.
A play on the second line is an insidious way to invade an opponent's corner-side, as it allows a follow-up either into the corner or off to the side. It does, however, give your opponent the choice of which side to defend -- so if the corner is what you want, just take 3-3 right away instead.
Can't leave this one out. A great way to reduce territory near the endgame. I think it's fair to say that everybody likes doing Monkey Jumps.
The Three Crows
Probably my favourite shimari and the main reason I like to open at 4-4. This holds the corner but it's also high enough to have some influence on battles in the center.
This kind of jump can be cut easily, and I often use it to offer up a sacrifice stone. If your opponent is greedy, the Elephant Jump will be almost irresistible to cut through, and you can use this to leverage the side you want while losing only one stone. Greed, it's said, is something we don't need.
OK I'm done.
August 15, 2013
Grocery shopping tips
When I was young I remember some "smart shopper" tips that were drilled into me, making me feel smart. How was I to know that some of them were false?
"Never shop hungry" always reminded me to eat something before I went to the store. The premise is that if you're hungry, you'll buy all sorts of "impulse foods" like pizza pockets and English muffins instead of "good" foods like turnips. While I may be more cutthroat and focused when my stomach is growling, it does not rob me of all logic, so today I did an experiment, and shopped hungry. Although I almost passed out on the walk home, my bags were laden with quality food that I really wanted to eat, and as soon as I unpacked my groceries, I made a delicious salad, with cranberries and sunflower seeds from the bulk section.
"Always get milk from the back of the fridge" is actually still a good tip, although the design of the milk shelves in my local store discourages this practice by making it hard to reach back there. Luckily I have long arms.
These are the only "smart shopper" tips I can really remember, so I guess one for two isn't bad. But I have tips of my own that I will now share.
"Avoid the salt fridge at all costs" - you know the one, with the frozen pizzas and mozza sticks and wieners dipped in batter. Just don't look at that fridge! What, do you want to eat 200% of your daily sodium needs in a single sitting? Or are you just going to eat 4 mozza sticks? No, because you heated the toaster oven to 450° and you don't want to waste the heat. Just roast up some red peppers and onions. They're delicious.
"Tune out the sale colour" - stores use tags of a brighter, sometimes even neon colour to denote a price drop, or "sale," on their products. You might think, "Sale! I can save money by making a choice right now!" However, most of the sales are terrible. Six dollars is still too much to pay for ice cream, hoofprints or not. And don't let it affect your bread decisions, because all you'll get with economy bread is mold, days earlier. There's plenty of old bread in the dumpster out behind the store, if you return under the cover of darkness.
"Do you need cheese?" - sometimes the answer is a resounding "yes," such as when you've promised to make someone cheese-bread or have committed to a fondue party with co-workers. But usually cheese is optional. First of all, it's the most expensive thing in the store, other than those artisanal oils with the sprigs of parsley in the bottles. You couldn't spare a dollar for the homeless man you passed on the street, but you'll drop nine on a wedge of Jarlsberg? It is smoky, I'll admit, but you're only cheating yourself. And the homeless man. I bet if you gave him the cheese, he wouldn't even accept it, and you'd still feel like an awful person.
That's all for grocery tips this week. Next time, I'll be talking about different varieties of egg and how the brown, speckled ones, which look the most delicious, are in fact no different from the white kind.