Notepad++, “Je Suis Charlie” Edition

Finally got around to updating my version of Notepad++. Was surprised but then delighted by this nugget that types itself out when it restarts:

Freedom of expression is like the air we breathe, we don’t feel it, until people take it away from us.

For this reason, Je suis Charlie, not because I endorse everything they published, but because I cherish the right to speak out freely without risk even when it offends others.
And no, you cannot just take someone’s life for whatever he/she expressed.

Hence this “Je suis Charlie” edition.
– #JeSuisCharlie

Google Drive Is Way Less Sucky

Just under a year ago, I wrote an article about how sucky Google Drive was to use. It was specifically about the Windows application, not the web-based interface.

Today, I’m happy to note that, after installing the newest Google Drive application, I’ve noticed that many of my criticisms have been remedied.

Google Drive's settings menu

Google Drive’s New Settings Menu

1. Google Drive now installs to a folder that accepts existing files.

This was a biggie for me since my Internet is horribly slow. I already had all my Google Drive files checked out into a folder on my hard disk. The old Google Drive app wouldn’t accept anything but a clean slate then duplicated files instead of overwriting them after I copied them into the new folder. This is now fixed and Google Drive started by comparing hashes of my existing library right after installing. Yay!

2. Bandwidth controls!

If you look at the screencap above, you’ll see the bandwidth settings feature which will let you limit bandwidth used for the Google Drive app. This is REALLY handy when you’d like to do other work while syncing instead of saturating your Internet connection.

I’m super happy about both of these changes.

Is it enough for me to switch back from using BitTorrent Sync for my music and pictures? No. I don’t think anything will bring me back to storing my files in the cloud the way we used to. Edward Snowden changed all that. Still, these are very welcome changes.

What I’m using Google Drive for: publicly storing my Minecraft server‘s world files. Players who want a copy can go to the folder in Google Drive and get them. For this use-case, with these application improvements, the service works close to perfectly.

The only outstanding thing that could be remedied is an easy way to download an entire folder at once, zipped.

The Power of Twitter (or, how it never hurts to ask)

Open TTD Title Screen

You ever play Transport Tycoon?

Transport Tycoon

Transport Tycoon Deluxe had a profound impact on my life when I was in high school. A friend an I found it in a nested-away folder on one of those pirate-rich, home-burned CDs that contained ripped games and were passed around between classes. At the start, we had no idea what a great game Transport Tycoon was but the graphics were really impressive and the game ran swell on our hardware (a 486SX at 33MHz and a Cyrix MediaGX at 180MHz). Not only were the graphics great, but the music was really catchy, as well. All of us (friends who later became enamoured themselves with the game) found ourselves humming it for months and years after.

I play the music now and again, even years later. It’s classic 16-bit MIDI is music to my ears. Still, I have always wondered what a live band adaptation would sound like.

Enter Twitter

Some people wonder what the point of Twitter is. I, myself, was one of those people until I realized about two months after joining that A) your experience is directly related to the quality of the people you follow, and B) it gives you direct access to famous people you would have no other way of contacting.

Hey wait! Why not contact John Broomhall about him doing a live band version of the Transport Tycoon!

Conversation on Twitter with John Broomhall

Asking never hurts. Note the not-so-subtle-poke a half-year later :)

Gamasutra

Game developers and artists in the game development industry frequently guest post on Gamasutra, a blog dedicated to the art of game development. Guess what? John Broomhall wrote a guest post centred about his 20+ year experience in the game soundtrack field and included a little nugget which interested yours truly: a live band adaptation of Transport Tycoon’s soundtrack!

I’d just like to thank Mr. Broomhall for doing this and giving me such enjoyable music to listen to all these years. Also to Twitter for making it possible for us to directly speak to people who have made direct impacts on our lives!

Disable Oculus Rift Health Warning (Windows)

Oculus Rift Health Warning

I understand the need for a warning when loading an app for the first time off of the Oculus Share store, etc. but as a developer it’s insanely annoying to have to go through this thing every single time you run your game. So, if you’re working on an Oculus Rift app and you want to get rid of it while you work on it, here’s how to do it in Windows.

1. Create a text file called “oculus3d.reg” with these contents and run it.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Oculus VR, LLC\LibOVR]
"HSWToggleEnabled"="1"

2. Open the Oculus VR Config Tool and click on the “Advanced” button underneath the player height field.

3. Check the box confirming you don’t want to see the warning any more.

4. Develop your game faster by being able to save 10 seconds every time you test your game.

5 Types of Bad Gamification

For the past few weeks I’ve been on a personal mission to go through each of the games in my Steam library, one by one, and complete all of the achievements in them. This is known on Steam as a “perfect game.” and is listed in your profile page as such. So far, I’ve got one perfect game, but many others are very close. This award is binary, giving the impression that I’ve only played one game out of my list. This means if I have 99/100 achievements, it will not give me a “perfect game.” I have hundreds of games to play so it’s unlikely I’ll ever actually finish this. Still, it’s something fun to do.

My Achievements

If you’re not familiar with the concept of Achievements, think of Scouts badges: you get badges for completing certain actions in a game up and above the basic gameplay. An example might be completing the entire game without dying or finding all of the hidden gems in a level. They don’t directly affect gameplay but provide an interesting meta-game which encourages players to come back (known as replayability) and also gives a sense of completion when you’ve achieved them all.

There is also a listing, on Steam, which shows, per game, what percentage of players have gotten each achievement. For example, here is the achievement listing for a game called Race The Sun, which is a bit like a racing game where you also have to dodge obstacles.

All this is well and good, but who decides what these achievements will be? The game developers themselves. This is where we get into a sort of gray area where, if the achievements are garbage, they actually serve to disicentivize continuing to play the game. Below, I’ll provide a few examples of these “Anti-chievements.”

1. The “Play for X Number of Hours” Anti-chievement

Hey! You’ve already completed the game but to get this last achievement, you have to rack up some insane amount of hours just to say you did. Let’s say 50 hours? Excellent! This is fun!

Clickr: Play 50 hours!

You’ll note that only 1.2% of players have gotten this anti-chievement. I wonder why!

2. The “Do a Mundane, Repetitive Task X Times” Anti-chievement

There is a game in my Steam library that gives you an achievement once you click your mouse 500,000 times. Let that sink in for a minute.

Clickr: Click 500,000 times.

Clickr: Click 500,000 times.

3. The “Order of Magnitude Score” Anti-chievement

This one sometimes appears alongside #2 but instead of jumping right to 500,000 clicks, you get achievements at 1000, 10000, 100000, then 500000 clicks. Count ‘em: that’s FOUR achievements you get. Just for clicking! Aren’t you happy?

4. The “Play it all again” Anti-chievement

Wizorb is the most notable for this transgression. Part of the game has you rebuild a village over time using the coins you collect during game play. But, after you’ve beaten a large portion of the game, you may realize that there is an achievement for beating the game without rebuilding the town. If you didn’t notice this before you started playing, you would have gotten hours and hours into it, only to have to restart and replay the game again without doing this one thing at the very beginning.

5. The “Rely Completely On Luck” Anti-chievement

Faerie Solitaire was a fantastic game. The achievements were pretty good, overall, and would appear naturally as you progressed through the game. Still, there were two that most people never got and it’s not because they were bad at the game. They never got them because receiving the achievements were based entirely on random luck.

Essentially, during game play, there is a small chance that an item will drop. That item gives you the two achievements. The only way to get this item is to keep playing the game, even after you’ve long gotten every other achievement and beaten it many times in the hope that maybe you’ll win the lottery.

6. (Bonus) The Multiplayer Anti-chievement

If you are an indie game developer, please do not make multiplayer achievements for your game until you’ve got a large and thriving online multiplayer community in your game. Many games, even from small developers, will include some sort of “play against other people online” component. The trouble is that indie games tend to not have enough people on during the day for players to actually compete. So, in this case, it’s impossible to get achievements based around the multiplayer component of the game.

Moving a site from Drupal to WordPress

I’m in the process of moving my videogaming blog, GameBlaster64, over to WordPress. The most recent security vulnerability with Drupal coupled with the fact that core updates must still be done manually has pushed me to head in that direction.

In under a month, GameBlaster64 will be 4 years old. There are hundreds of posts, thousands of pages, and tons of images. It’s going to be 301 redirect galore. To help with this, I wrote a small php script to grab the URLs of the taxonomies and articles I’ve been writing. I’ll use file_get_contents to fetch these URLs and parse out the body content I want, then dump them into a stock, vanilla WordPress site I’ve got installed locally.

Here is my script. Depending on when you see this, it could either be completely finished or just a few functions. Regardless, if you’re doing something similar with your own site (moving from Drupal to WordPress), you’ll likely find something useful.

Xbox Live Beta Tester 2002

Let me set the scene: It’s 2001, pre-9/11, high school.

Having finally accepted the Dreamcast’s fate and being a major anti-PS2, Dreamcast fanboy (cut me some slack, I was 18 and lived in my parents’ basement), I became enamoured with Microsoft’s first foray into console gaming: The Xbox. I bought one on day one, fervently posted on all of the major forums, racked up hundreds of hours in local multiplayer Halo…

Then, to my happy surprise, I was to be part of the Xbox Live beta test. I was a bit of an online PC gamer at the time (Tribes 2 ftw) and had played quite a few hours of online console games on the Dreamcast.

Fast forward 12 years, and here we are.

I have been re-organizing my office since a number of people have given me boxes of their old videogame collections. In one of my chests, I found my Xbox Live beta tester box, which I received from Microsoft in September of 2002. Here are some snaps!

Original Xbox Live beta box

Original box – names removed to protect the innocent :)

Xbox Live Beta Test Discs

This is before consoles tracked how many hours you’ve played each game, but I bet “hundreds” for MotoGP and Re-Volt, each.

Xbox Live Beta Test Discs

Welcome to the future of gaming!

Xbox Live beta end of life

Set your clocks: 11.15.02.

By 2004 I had moved almost exclusively to the PC. I bought an Xbox 360 but sold it to a friend shortly thereafter, unimpressed. I was also very disappointed that they gave away my Xbox Live GamerTag, which was supposed to be ours for life.

C’est la vie.

Tough love, listening

I recently got some harsh and direct feedback from a person that I trust.

It was hard to listen to, but I needed to hear it.

For the past two years, I have lived alone. I’m responsible for me in almost every respect. In those two years, my skin has grown thicker, my balls bigger, and my confidence stronger. Because of this, it feels like going against the grain in society has become normal.

Many times over the course of a day someone whom I don’t know will point and laugh at me on my ebike or will criticize my decisions as former group lead of GDG Waterloo. Sometimes it’s hard to live with, but in a way I’ve just gotten used to shrugging it off and doing it my way because, well, everyone’s a critic.

We live in a very judgemental society. Everyone is looking with disdain at someone else who may be different in some respect. Because of this noise, it’s too easy to miss or dismiss signal.

As much as I wanted to say that the reason I failed was because of someone else or something else, that’s just not the case. He called me on it and made me face it, and I’m stronger for it. You can bet that I’ll be doing my best to make sure it doesn’t happen again.

I’ve read this and re-read it trying to think about exactly what it is I’m trying to say. I think it is: We can’t see ourselves as others see us, no matter how hard we try or how much we think we can. When someone criticizes you and they’re right, admit it. To them and to you. Face the truth, no matter how hard it is, and do the right things to fix it.

Ever consider biking to work?

Last month, I bought an e-bike. It’s an Emmo Alien. I got it used on Kijiji for $600. Where I live, it doesn’t require insurance or a license to ride. It costs me nothing to charge since my rent includes utilities.

Emmo Alien E-bike

Emmo Alien E-bike. Mine’s black, though.

Like pretty much everyone in Canada, I’ve had at least one bike at any point in my life. I never once considered riding it to work. My mental picture of a person that biked to work was a sun-glassed, angry man in really tight spandex. I couldn’t imagine biking all the way to work, sweating the whole way there, angry at other drivers for cutting them off or not knowing the rules. It’s just not for me. It felt like riding a bike to work meant you had to join some sort of environmental cult.

The truth is, while I care very much about the environment, I’m a cheapskate. And I’m lazy. Riding an e-bike is free. And I don’t just mean free as in beer. It feels free, as in freedom. I haven’t used my car in so long, a tire went flat from sitting. The insurance on my car (never mind gas or repairs) per year pays for more than two e-bikes per year. I could actually buy a second one, put it into a dumpster, light it on fire, and I would still be ahead.

And, do you know what? Riding an e-bike is fun! It’s liberating. My girlfriend finds it empowering. She’s never gotten the hang of riding a regular bike, but she’s learned how to ride the e-bike. We do groceries (it has hooks to put the bags as well as two storage compartments), we go for picnics, we go out and get fresh air, we get some sun.

Sure, a cyclist looks ridiculous, but when a driver in a big pickup truck zooms past in a testosterone-filled money-burning pissing contest, who looks more ridiculous?

I’m a bit late in posting this, but June is Bike Month in Waterloo Region. The thing is, it doesn’t have to be just June or just Waterloo Region. Have you ever tried biking to work? Do it tomorrow and let me know what you think.

If you’re interested in some data, it takes about 7 hours to charge from completely empty to completely full. A full charge lasts me about 2 and a half hours of continuous use, or about 50-70km, depending on whether or not it’s just me or with a passenger. My trip to work (including to McDonalds for breakfast) is 7.5km, each way. I do this trip Monday to Friday, rain or shine.

The single largest trip I've made on the ebike so far.

The single largest trip I’ve made on the ebike so far. With a passenger. Had half charge left when I got home.

 

An experiment in front page design

My gaming site and gaming persona, GameBlaster64, has been online for just over 3 years. In that time, the front page has never changed in any significant way. It’s still a blog layout, much like this one. Given that it’s more of a videogame review/preview/opinion site combined with a sort of wiki archive, it doesn’t make a whole lot of sense to have it this way.

So, tonight, I changed it.

GameBlaster64 Front Page

The New Layout

Instead of articles listed in chronological order with full bodies, only the 9 most recent article titles + one thumbnail each will be displayed, with no pagination, in a grid. People who go to the front page of a site aren’t interested at all in articles that are months old, so why bother offering pagination? They want to see, immediately, what’s new and what’s changed since the last time they hit the site (if they don’t already subscribe to the RSS).

The content on the site is categorized by taxonomy, aka tags, so users who want to look at, say, all the articles on Minecraft, are totally free to do that. The taxonomy pages are laid out just like the front page, except with pagination, since those folks are probably looking for an article in particular or just want to read from A-Z. The most popular taxonomy tags and posts are available in the header.

The only other site I can think of that eschews pagination on the front page in favor of a grid layout is Google News.

Hopefully my users will like it!

Google Drive is one of the worst products I have ever used

I just want to back up my Minecraft world files. All told, it’s about 70 GiB in size. It shouldn’t be this hard.

First, let’s talk about the Windows client. I had the files on my removable hard drive and the Windows Google Drive client on my first laptop. I wanted to install the client on my second laptop and sync the same set of files no matter which laptop the hard drive was plugged into.

1. The Google Drive Windows client refuses to install to a folder with files in it.

This means that, even though I had the whole thing, up-to-date, and sitting on my drive, I was not allowed to continue syncing from there. Instead, I had to create a brand new folder and re-download all of my files.

Talk about amateur hour… Unfortunately, there’s more. And it gets worse.

2. Duplicating every single file instead of syncing.

As soon as the Google Drive client was done installing into the new folder, I moved all the files back into my proper Google Drive folder and began the syncing process. After letting it go over night, I woke up to it duplicating all of my files. It went ahead on its own and instead of comparing the files that were already there, it downloaded all the files again and appended (1) to the file name.

This is one of the dumbest things I’ve ever seen.

3. No way to download your files through the web interface.

I want to download all my files from my Google Drive. This seems like it would be a straight-forward process. Unfortunately, it is not allowed. A Google Drive customer cannot download more than 2GB at one time without installing the Google Drive Windows client. And, even if they were able to, the files would convert automatically to some crazy old-school MS Office formats. It’s either that, or skip the download.

One simply cannot download all their files at once after putting them in Google Drive.

4. No way to overwrite files on a folder merge.

This is basic stuff, guys… We figured this out before I was born in 1983. Unfortunately, the most basic use-cases are beyond Google Drive. One folder, copied into another, should over-write whichever file-names are already there. Unfortunately, Google Drive does not do this and simply duplicates the files in the new folder. A user cannot ever merge two folders together.

It just can’t be done.

5. No bandwidth controls.

With the Windows Google Drive client, there is no way to set a speed limit on uploads or downloads. That means that whenever a file uploads, it’ll saturate your connection with no ability to override (save pausing syncing entirely), bringing your Internet to a complete halt.

Any reasonable cloud drive provider has this figured out pretty early. Google Drive is years old.

6. No SFTP access.

The Google Drive web interface looks nice but it’s really slow and doesn’t provide the basic use-case coverage that Windows Explorer does (or Dolphin, or Konqueror, or Midnight Commander, etc.) such as cut/paste, etc. If I’ve got 70 GiB of files that I need to upload online, SFTP is a proven and stable means. No need to reinvent the wheel.

This method would also work great in place of having to install the Google Drive Windows client to download folders over 2GB in size.

Can’t do it with Google Drive.

What’s Next?

There is much more to tell. This is just the start.

Instead, I’m going to take a look at some other backup-and-share solutions. Any suggestions?

Google+

YouTube Google+ Integration

Fuck off with this.

With the news today that the leading force behind Google+ has left the company, TechCrunch ran an article claiming that Google+ is a zombie — something already dead, it just hasn’t realized it yet.

I actually like Google+. I should use it more.

The one reason I don’t is because of the bullshit link-up between it and YouTube, where they try to change your channel name to match your Google+ profile. I love my YouTube and don’t want things fucking with it, thanks.

If they can fix that, I’m in.

More ads = better?

Google Ads

The stuff I actually want starts below 50% down the page.

I understand ads are the main source of revenue for most Internet services. I’m not trying to say ads on a website are bad. It’s just… damn, that’s a lot of ads.

The lady-in-the-middle

Condoleezza Rice

Condoleezza Rice and Dropbox. What were they thinking?

Here’s a great idea: spend 5 years building an awesome service where people upload their private documents and trust that you’ll handle them safely. After you’ve done that, undo everything you worked for in one go by hiring one of the people who was part of the team behind the biggest illegal data mining and analysis scandals in human history as a board member.

Seriously? Like, nobody at Dropbox stopped for a second and thought: “hmm, are we sure we’re sending the right message, what with the still-in-the-news revelations of the illegal USA surveillance and all?”

People who know me know I love Dropbox. I blogged about it here back in 2009. I’ve been a paying member for years. I’ve got two accounts. Well, had. I’ve cancelled them both and switched to BitTorrent Sync since this news broke.

What’s BitTorrent Sync? Think free Dropbox without the lady-in-the-middle. Here’s an easy-to-follow guide on how to migrate.

GameFace VR

Road to VR has a great article on GameFace’s new VR kit, which has a resolution of 1440p. That’s not the real news, though. The real news is this:

“It’s freeing and intuitive to have a mobile VR headset where you can let the rotation of your body determine the direction of your virtual self. The same can’t be done with tethered VR headsets like the Oculus Rift—where you generally always face the same direction, but use some form of unnatural input to rotate your virtual self—simply because you’d get tangled up in the cord.”

Microsoft is killing it

Here’s a blog post you wouldn’t normally expect to see on this blog. In the past, I’ve not usually been big on the Microsoft stuff. That is quickly turning around. Take a look at all the amazing stuff they did in the last day:

The only bad thing they did was this:

On Hacker News, a chain of people posted the following, which struck a chord with me:

Who would have imagined it 5 years ago?

Who would have imagined it five months ago?

For me, I wouldn’t have even imagined this five days ago.

My thoughts on my Oculus Rift DK1

Oculus Rift DK1

Oculus Rift DK1 (photo from Wikipedia)

I’ve had my Oculus Rift Developer Kit Version 1 (DK1) for just under a year, after receiving my kit on April 11, 2013. In that year, I’ve built a few apps and played with a ton of other people’s apps from Oculus Share. My experience with the DK1 is that, while it’s good, it’s not great. It’s funny, because, while the low resolution and heavy screen-door effect were the two initial problems I had with the unit, over time, they took a back seat to another, more basic problem:

The Oculus Rift DK1 wire is fucking annoying. Not just annoying, but a lot of the time it ruins the experience of immersing yourself in the virtual environment. The new term that people are using for this is “presence.” When I’m wearing it, I can’t turn around fully without feeling the wire tickle my neck or hear the breakout box slide across my desk, which makes me worry that it’ll fall off and I’ll break it, so I take the headset off to make sure it’s safe. The wire undoes exactly what the rest of the kit is trying so hard (and succeeding, mostly) to do: immerse me in the experience. All the time that I use the unit, I fear of fully moving in any direction because the wire is there.

That wire has got to go.

I know that Oculus is working its hardest to reduce the latency between the time that you move and the time it shows the movement on the screen in the headset. I know that going wireless will increase that latency. But, hot damn, at this point, I’m almost willing to take a slightly more delayed response if I can do without the wire.

Oculus, Facebook, Carmack, and Abrash

Oculus Rift DK2

Oculus Rift DK2

My first reaction, similar to that of most other developers who are working with the Oculus Rift, upon hearing of the Facebook acquisition of Oculus, was one of intense disappointment. It felt like our favourite band just sold out to a huge record label. Oculus was the embodiment of the VR industry itself: the scrappy little guy, fighting against all odds to prove to the world that he can do it.

All that changed this past week when it was announced that Facebook acquired Oculus.

Enough has been typed and said over the past week, with emotions ranging from “take our ball and go home” to “this is the best thing that could have happened to us.” After letting it settle, thinking about it, seeing John Carmack give his support, then Michael Abrash  leaving Valve to join the team, my feelings on it have completely changed. This change at Oculus is a big deal, in a good way. Oculus now has the best chance of making true VR a reality. They have the best team in the world and the biggest budget behind them to do it. Colour me excited.

Google Chrome not supported

Really? What year is this??

Also, Netscape?!

chrome-netscape

I’d just like to point out this is the city that is home to Google, Velo-city, University of Waterloo, Hyperdrive startup accelerator, BlackBerry, …

We can do better, Waterloo.