Sometimes I make games. Sometimes I make websites. This is my blog.
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.
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.
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.
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!
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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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.
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.”
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:
For me, I wouldn’t have even imagined this five days ago.
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.
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.
Just logged into mint.com and saw this. Thought it was cute.
The future is ARM with an x86 emulator for legacy apps (stuff we run today).
Received this in my email the other day:
“Howdy! Your site at http://www.johnrockefeller.net has been updated automatically to WordPress 3.8.1.”
How do they know this won’t break anything?
I’m not sure if I’m a fan of auto-updating live websites.
Counter Strike Global Offensive (CS:GO), a game I have been playing often since summer of last year (2013), is currently facing a dilemma that all online multiplayer games (and many social networks) face: as it grows in popularity, which is required to grow the monetary kick-back for developing and running the service as well as pushing the service’s features forward, the average level of player maturity decreases in proportion, to the point where older players who are used to playing with a more mature player-base will flee the game for some other outlet until this process takes over that one, and so on. It’s important to note that I’m not speaking about the skill of CS:GO players, since that is handled quite well by their Elo ranking system, but instead the maturity level, which means things like the level of racist voice and text chat, lack of statesmanship, etc.
Paul Graham’s Hacker News experiment is an attempt to solve this problem on the social news side of things. He writes about several of his reasons behind the choices he has made while running the site.
Is there a way to programmatically ensure that higher-maturity players do not intersect with lower-maturity players while not specifically removing the lower-maturity players from the player-base, since those lower-maturity players are required to keep the service growing?
My idea is that the service would have two or more pools of players, which would be kept secret from the player-base. My supposition is that lower-maturity players are “high-churn” in that they will likely not stick with the game for a great length of time and will instead switch their attention to some new game that arrives 3-6 months later. This “high-churn” player-base would essentially subsidize the higher-maturity players and game without the higher-maturity players ever having to intersect in game-play with them.
My guess is that this will have to be done in a similar way to detecting email spaminess: users will have a value between 1 and 100 for assholery. Being an asshole in online forums such as games is not binary (being either true or false) nor can any one action or decider change your state to true or false. So, it will have to be a collection of actions, over a given space of time, which will increase or decrease your assholery value.
Counter Strike Global Offensive offers a way for players to report users for griefing which offers one opportunity, though I’m not sure how much weight to put on it since it could be easily gamed directly by the assholes we’re trying to prevent.
A manual process is, at first glance, out of the question, since it’s not scalable. Thousands of games are on at any given point in a day. How could you possibly oversee them to identify assholes? Here, Counter Strike Global Offensive offers us a unique idea: Overwatch. As a developer, this solution smells bad because it feels like something we should be able to automate.
Perhaps a combination of encouraging users to not act this way combined with an Overwatch-for-Assholes system would reduce it.
This problem is not going away and will only get worse as the gaming population grows.
Interview on NPR with John C. Inglis of the NSA:
While Inglis conceded in his NPR interview that at most one terrorist attack might have been foiled by NSA’s bulk collection of all American phone data – a case in San Diego that involved a money transfer from four men to al-Shabaab in Somalia – he described it as an “insurance policy” against future acts of terrorism.
It appears that, as much as I want it to be, git is just not the right tool for this job. Instead, I’ve picked up a “100GB” account at Google Drive and will share them there. It’s almost as good and offers the ability to download old revisions as well. I’ve released the world files under the Creative Commons Attribution-NonCommercial 4.0 International License.
Ask and ye shall receive. I’m still going to keep my files on Google Drive because I’ve already invested the time to put them there. But the next time I need to do this kind of thing, I’ll be looking at Put.io.
Here is the original post for history’s sake:
Hellblade Mobs, my Minecraft server, has been in operation since November 2010. For the first 7 months, it was just me and a few friends, white-listed. One world, no hMod, no Bukkit, no plugins.
One May 24, 2011, that all changed: we went public.
Since then, thousands of players have come and gone, and the server still maintains a healthy buzz. We’ve got hundreds (if not thousands) of memories invested in these blocks, spread across eight worlds. It would be horrendous (and likely fatal for the server) if something happened and we lost it all.
Being a developer with a very crummy Internet connection (10Mbps down, 1Mbps up), I’ve always been nervous about this situation. The world files are GB in size and downloading them takes forever, not to mention the act of uploading them to a backup service like Dropbox. Every 6 months or so, I get so nervous that I begin the laborious task of FTPing my files down to my external drive and making a copy of them on an old PC in the hopes that I never have to use it. Halfway through the life of the server, we switched hosts to the fabulous Nuclear Fallout service (referral link!) and it took forever to do.
There has to be a better way!
A recent event with griefers has brought to light once again of making the server files public, which is something I’ve always wanted to do. I thought of the logistics: if only there were some service that I could upload new copies of the worlds over time, uploading just the diffs, and the files could be made for public download whether one wanted an old copy of just a tarball of the newest one… Instantly I thought: why can’t I just put the worlds on Github?
Turns out: I can. Git supposedly is not designed to handle repositories GB in size, but it seems the only effect this has is to slow things down a bit. Compared to the previous situation, I’ll take a 15-minute “add” command with no complaints, thank you very much.
If you’re into Minecraft, you’re more than welcome to come play with us! Connect to minecraft.xandorus.com.