I’ve been using my Unicomp Spacesaver more or less continuously for work since I bought it several years ago. Shima hates when I use it at home: she finds the chatter of the keys annoying. I’m pretty sure my coworkers do as well, but they seem to have gotten used to the white noise now. I love that keyboard.

At the time I bought my Spacesaver there seemed to only be a handful of other mechanical keyboards on the market. The two that jump out in my mind are the Happy Hacker and the Matias Tactile Pro. People would also track down old mechanical keyboard stock: Apple Extended IIs and IBM Model Ms. Today there are so many mechanical keyboards it is hard to keep track of them all. I joined a site called Massdrop some time ago: it constantly has mechanical keyboards up for sale—or kits to build your own keyboards. It’s a brave new world for mechanical keyboards today.

I decided to replace my Spacesaver with something that actually saves space. I like the smaller profiles of so called ‘hacker’ keyboards and wanted to get something in that vein. I settled on the Leopold FCC660M. It’s very small, but still has all the keys I wanted on a keyboard. (I’m not hardcore enough to say goodbye to my arrow keys.)

The Leopold uses Cherry MX mechanical key switches, unlike the buckling spring switches found in my Unicomp. I picked “Blue” switches, which are similar to my old keyboard’s springs: they are tactile (you can feel when the switch actuates) and “clicky” (they make some noise when the switch is actuated). They are slightly quieter and take slightly less force to actuate. Rounding out the things that keyboard nerds fuss about, the keycaps for the switches are made of thicker PBT plastic and use dye sublimation to label each key. They keyboard feels solid and well made. The experience of typing on this new keyboard is satisfying.

The Leopold lacks function keys, as well as many of the keys found to the right of your typical full-sized keyboard (the number pad, insert, home, etc). Thus far I haven’t found the loss of these keys a nuisance, but if you rely on them heavily that might be something to keep in mind. Typing a back tick on the keyboard requires pressing FN-ESQ, as escape, tilde, and the back tick all sit on a single key. I’m getting used to doing so, but it definitely stops me in my tracks when I’m typing right now.

My Unicomp was clearly a good investment. All these years later my Unicomp looks and feels as nice as the day I bought it. I’m hoping my Leopold holds up as well. If you are still using a lame keyboard you should switch. If you are typing everyday—and really, who isn’t?—you should do so on something that is a pleasure to type on.

The investigation found no evidence to support the claims against Tom and his wife of sexual or gender-based harassment or retaliation, or of a sexist or hostile work environment. However, while there may have been no legal wrongdoing, the investigator did find evidence of mistakes and errors of judgment. In light of these findings, Tom has submitted his resignation, which the company has accepted.

The whole blog post sounds like it was written by a lawyer. Maybe it was. Do I feel retroactively like a chump for watching presentations on How GitHub Works? Maybe a little bit. I should be telling people about where I work—it’s actually amazing.

I want to be very clear about one thing: neither my wife, Theresa, nor I have ever engaged in gender-based harassment or discrimination. The results of GitHub’s independent investigation unequivocally confirm this and we are prepared to fight any further false claims on this matter to the full extent of the law.

Don’t worry about Tom: he’ll be fine. Mr. Netscape himself Marc Andreessen high-fived him on his way out the door. This is usually how it goes in tech. Tom gets to play the startup game again. Some people think he’s a jerk, some people don’t. None of that has any substantial effect on his livelihood. For a certain class of people your actions are more or less consequence free.

Today GitHub denies any wrongdoing and the co-founder makes explicit legal threats against anyone speaking up about what he did. – @shanley

Shanley’s tweet sums up the situation for other women in similar situations to Julie Ann Horvath. What’s the point of coming forward? People call you a bitch (or worst) and you are the person looking for new work. Ellen Chisa articulates all of this wonderfully. (If you read one thing about this whole story, her blog post would be it.)

This is a complicated story, with all sorts of nuance that’s missing when its distilled via ambiguous blog posts and messages on twitter. These scandals end up being Rorshach tests for how people see sexism and this industry. I am left feeling cynical about the whole scene.

So google.com/reader now sends you to a page letting you know the site has shut down. I knew this was coming, but it still leaves me feeling wistful and let down. Google Reader was so god damn fantastic. I’m curious to see how the competitors that step up to take its place fare. Feedly seems quite nice, and looks to be the early favourite amongst my friends. I’m actually still not sure what i’ll switch to. Right now i’m using Fever once again. Goodbye Google Reader. You will be missed.

Some or all of the Service may be supported by advertising revenue. To help us deliver interesting paid or sponsored content or promotions, you agree that a business or other entity may pay us to display your username, likeness, photos (along with any associated metadata), and/or actions you take, in connection with paid or sponsored content or promotions, without any compensation to you. If you are under the age of eighteen (18), or under any other applicable age of majority, you represent that at least one of your parents or legal guardians has also agreed to this provision (and the use of your name, likeness, username, and/or photos (along with any associated metadata)) on your behalf. — The new Instagram terms of service, emphasis mine.

In the back of my mind I knew this day would come, but now that it’s here it isn’t any less disappointing. Instagram’s new rules are pretty draconian. A lot of times websites will have unfortunately worded terms of service, but they often written the way they are to facilitate displaying your content on their servers, etc. This language seems quite clear when it comes to Instagram / Facebook

Flickr’s new iOS application is quite nice, but I don’t know how I feel about spamming my Flickr feed with photos of Mythilli. Part of the original appeal of Instagram was that it was a nice light-weight way to share little snapshots. Flickr is a big mix of people posting one-off photos, big sets of photos from their vacations, and all sorts of other random stuff. Still, Flickr probably has the nicest terms of service when it comes to this sort of thing.

Twitter published a pretty bizarre post on their developer blog yesterday, outlining changes they plan to make to how developers can interact with Twitter. To say it’s a little bit hostile to their developer community would be an understatement. I think it’s fair to say that much of Twiter’s early success didn’t come from the company itself. I mean, the site could barely stay up for the first few years of its existence. People stuck with Twitter despite the fact it often felt cobbled together. The two most iconic features of Twitter messages, @-replies and #hashtags, were both originated from the Twitter community. They ended up becoming official features because of their wide spread use. All of the good iPhone clients for Twitter were made by 3rd parties — including what became Twitter’s official client. Twitter’s official client is kind of a piece of shit compared to feature-rich Tweetbot or the simple and elegant Twitteriffic. I’ve been a Twitter user forever. Twitter launched on July 15 2006. I joined on July 28th 2006. I am user 3321. It took me a long while to warm up to the site, but I love it now. I find the direction they seem to be moving is more than a little disappointing. I think the best summary of the change comes from Ben Brooks: ‘This is the moment in Twitter’s life where they kicked Steve Jobs out of the company and told Sculley to run it.’

This has been a topic of much discussion in my office for the last couple weeks. My co-worker, unaware of what Jenkins and Hudson were all about, thought he had found a pretty crazy exploit while doing an assessment. It turns out he had actually found was a poorly configured instance of Hudson. Responses to his outreach have been mixed, to say the least. The people behind Hudson and Jenkins feel this isn’t a problem for them to solve. They provide a guide to harden your install, and feel it’s up to their users to ensure they deploy things properly. (This is similar to the attitude Rails developers took to their mass-assignment bug.)

Using Google he ended up finding misconfigured automated-build servers all over the Internet. (You’d actually be surprised and/or terrified by some of the people who had exposed their servers in this fashion.) He’s been sitting on this post for ages, waiting for people he has notified to get back to him on whether they have secured their install or not. For every person who replies promptly with a thank you, there are probably two people who don’t reply at all or who quietly fix their install and pretend he never got in touch.

I suspect one reason people simply go the no warning full disclosure route when they find vulnerabilities isn’t because they are trying to be malicious, but simply because it’s the path of least resistance. I suppose this is why patience is an important attribute for a good security professional.

It’s been a very long time coming, but I finally have a Nest learning thermostat in my house doing whatever it is thermostats do. When they were first announced I hesitated just long enough that they sold out before I could buy one. I signed up to be notified when they had more, and eventually I got an email saying they had one waiting for me. It was only then that I learned they were only selling the things to people in America. That was maybe a half year ago. Between now and then is a tale of woe, lost shipments, interoffice mail, random strangers, credit card companies and the horror that is UPS.

You can tell the Nest came from someone who used to work at Apple. It’s packaged with the same aesthetics and the installation process was absolutely painless. It’s packed with everything you could possibly need to install the device: extra base plates, a screw driver, etc. I think it took about 15-20 minutes from start to finish. It’s got a really intuitive interface, especially when compared to other programmable thermostats. (I can barely figure out how my parent’s one works.)

The Nest actually arrived at a good time. For whatever reason my old thermostat would run the forced air fan all the time when the air conditioning was on. That was both costly and annoying. The Nest doesn’t do that. I suppose this is really the bare minimum you should expect from a thermostat. I’ll post an update after we’ve had it for a while and it’s become self-aware.

GitHub recently fell victim to a security hole in Rails, the web application framework they use to build their site. A user of their site exploited the security hole and gave himself commit permissions on a repository that didn’t belong to him. I’m sure it was no coincidence that the repository that he chose to mess with was the official Rails repo.

This American Life excerpted part of Mike Daisey one-man show “The Agony and the Ecstasy of Steve Jobs” to produce a one hour podcast about how are tech-junk gets built. To say it’s a little bit bleak would be an understatement. It’s a full on Dickens novel crossed with some dystopian science fiction. Dasisey’s focus is on Apple, but at this point chances are good that Foxconn has made anything electronic you may own. The podcast is amazing and you should definitely listen to it.

“They could hire 3,000 people overnight,” said Jennifer Rigoni, who was Apple’s worldwide supply demand manager until 2010, but declined to discuss specifics of her work. “What U.S. plant can find 3,000 people overnight and convince them to live in dorms?”

I bought a backpack from Goruck recently. I bought it because they are well reviewed backpacks. They also happen to by made in the USA. Goruck has written about this on their blog a few times. They had a post about how their GR1 is made. They’ve also written about their second factory, complete with goofy pictures of their staff. This side of things didn’t enter my mind at the time. Now that I think about it, my backpack is perhaps the only thing I own which I’m pretty confident was made ethically.

“These overnight text editors don’t reflect well on the genre or the platform. We are raising the bar, elevating the standard.” — Bare Bones Software President Rich Siegel in 2005

A lot of Mac users you meet today switched as Mac OS X matured, over the last 7-8 years or so. I switched when Windows 95 came out. I sincerely enjoyed using various flavours of DOS on my trusty 486. Windows 95 launched with a series of shitty betas (you had to pay for) followed by a snazzy ad campaign. Though I was a young man, I could tell that Windows 95 was a piece of junk. I did the sensible thing and switched to a Powerbook 5300cs running System 7.5.3. Believe me when I say, “it was dope.”

I used my Powerbook during my first term of University. By this point Macs were running OS 9. I would write Java programs in BBEdit and build them using the OS 9 Java toolchain. Programming in Java on a Mac in 1999 was pretty horrible. BBEdit on the otherhand was pretty great. I used it as my text editor of choice throughout university. (At least when I was working on my Mac. On the school’s Unix machines I used Vim.) The last big project I worked on using BBEdit was my compiler.

This blog has been around long enough that I can look and see when I first linked to the then new TextMate. Upon its launch it was greeted with a lot of confusion and mixed interest. Between 2004 and 2006 TextMate went from this fringe application used by a few people to basically the defacto text editor for the Mac. BBEdit’s core userbase always struck me as people who had used it prior to the launch of MacOS X. By 2006 lots of people were coding up the next hot Rails app on their brand new Mac using TextMate. 2006 was when I switched from BBEdit to TextMate.

The latest version of BBEdit launched with the release of Lion. It brings with it a slew of new features and updates. TextMate on the other hand hasn’t had any real updates of note since 2007. Any advancement in the application really came from its bundles. With the launch of Lion came a wiki page for TextMate outlining what was broken and possible work arounds. TextMate 2 has been in development for something like 5-6 years. I stopped using TextMate a little while ago because it started to feel sluggish on my iMac. I now exclusively use Vim. (MacVim to be precise.) I remember reading the Rich Siegel comment in 2005 and thinking he was being a bit of a dick. It took 6 years, but it turns out maybe he was right about TextMate.

BBedit 10 is now priced at a pretty aggressive $40. I’m curious to see if it can win back its place as the number one text editor on the Mac.

I was listening to Marco Arment’s show on 5by5 yesterday. Normally it is pretty on point, but yesterdays show seemed so wrong about Google+ I thought I’d say a few words. (A few of the Apple tech blogs that I read seems to be hating on Google+, seemingly because it’s from Google or because they hate social networks. This 5by5 show just stands out in my mind since I spent so much time listening to the damn show.)

To start off, Marco hadn’t even used Google+ when the show was recorded. Many of the tech blogs I read are also critical of the service despite not being invited to use it. Criticizing something you haven’t used before is silly. I would think that goes without saying.

Marco felt that Google had nothing to offer beyond what Facebook currently offers, all the while lacking the user base Facebook currently has. He talks about how if he could log in to Google+, he’d expect to see 4 geek friends, each talking about the testing out the site, and that’s about it. Meanwhile, even his Grandmother is on Facebook. My mom is on Facebook. That’s some serious market penetration. That said, she wasn’t on the site anywhere close to day one. Facebook at launch was full of Ivy League kids, and it expanded from there. Like today, when it launched there was a big well established player with a huge user base. People move from network to network when there are compelling reasons to move. I used to use ICQ, then switched to MSN, and am now settled on Google Talk. Each switch happened organically. All it really takes is a couple people who you have to talk and their communication medium of choice will usually win out. The question is whether Google+ will snag that set of key people. I would add that these sorts of social networks don’t have to be a zero-sum game. If the user base for Google+ never moves beyond a bunch of nerdy boys and girls that isn’t the worse thing ever. I suspect for many people, a social network their mom isn’t on is actually a compelling feature.

It also seems clear to me what Google is trying to do to differentiate itself from Facebook. Without looking at their crazy demo site, here are three things that come to my mind after using the site briefly and reading some blog posts from Google.

Google is quite up front about how it plans to share what you post to the site. I commented upon logging in for the first time that all the requests to use this and that information were creeping me out, but they were really doing nothing different from Facebook, they were just not being secret about any of it. Google+ also has a very clear model for how you group your friends and family, and share information with them. Facebook’s privacy controls are inscrutable. Worse, they seem to be obfuscated on purpose.

I don’t think I’ll use Google+ any more than I did Facebook. I don’t think Google is any less creepy than Facebook. Still, I can see that Google+ is a well thought out and well executed product, especially for something that just launched. I think it has a good chance of doing well. (Assuming they let other people use the site, anyway.)

I went to the Gladstone with a coworker and Tyler to hear Ali and Matt from Well.ca talk about how they keep Well.ca chugging along. They discussed the software development process at Well, the tools they use to get things done, and the corporate culture that facilitates the work they do. Ali’s one of the smartest people I know, so if you’re interested in starting a start up I recommend you copy what he does, more or less verbatim.

Since i’m new to web development I thought the talk was particularly interesting and informative. I learned about a few cool projects that I will share with you now:

Matt’s told the audience about an automation tool he wrote called doo that looks quite nice. It’s made out of surprisingly little code. Ruby is a strange beast.

Ali showed off a jabber bot called well-partychat. It’s an implementation of Partychat you can run behind your own firewalls. Partychat is a way to do group chats with Jabber, regardless of how shitty or not your IM client is. Since most everyone already has a Jabber account, this is a good way to set up a persistent chat room. Since it’s in something people already have open and running, I can see how it would actually get used over something like status.net or Campfire.

Well.ca have somehow managed to trick out Speedtracer to do all sorts of magic. Sadly, i’m not entirely sure how. Speedtracer looks like a seriously awesome project in and of itself. It’s a profiler for Chrome that can tell you all about your web application.

After the talk everyone headed over to the Rhino for drinks. How did that place become the defacto hangout for Toronto software geeks?

And so my experiment with Facebook ends. I deleted my account today. Shima actually deleted her account first. Now I apparently have to wait 14 days for Facebook to actually delete things, whatever that means. I suspect they keep your information around forever, but who knows. I’m not sure what I’ll miss on the site just yet. Certainly I have some friends and family who only share stuff via Facebook. I’ll just have to go back to shunning those people, like I used to in the good old days.

It’s 2:15 on a Friday night. I got back from LeVack Block on Ossington an hour or so ago. It was their two year anniversary. It was a pretty good party. Rather than sleep, I thought i’d figure out how to generate my Blansdowne site using Sinatra, instead of generating all the static pages up front. I’ve actually got it all working, though I need to handle errors better. I’m impressed at how productive I am this late at night.

This is pretty neat: the city of Toronto is releasing a bunch of the data and information they collect online, via the portal toronto.ca/open. There is a companion site, dataTO.org They look to be following the lead of the US government, who recently created DATA.gov not too long ago. This stuff is all generated using tax payer money, so I think it makes sense that the data be available to the public. You can grab the entire TTC schedule as a series of text files now. There is a real time XML feed of events and festivals taking place in the city. This address validator web service looks like it could be used to do a lot of interesting things. I’ll be curious to see what sorts of things people start creating with the data released so far, and what other datasets the city plans to release. There isn’t much online right now, but it seems like a good start.

I’ve been using (playing?) Foursquare for a few days now. It’s a simple enough idea, and it’s well executed: users can use the site (or mobile application) to let their friends know where they are, and what they are up to. The idea is that your friends could discover you’re nearby and come meet up. Similarly, you could learn your friends are out and join them. You don’t need to publish all your check-ins, so you can use the site privately. You can also push your check-ins out on to twitter, so people who aren’t using Foursquare can still see where you are.

There are other applications and services that do this. (BrightKite is the first that comes to mind, and you can certainly put this information out there using Twitter.) What makes Foursquare interesting is that to encourage people to use the service by setting itself up like a game. You get points for: telling your friends where you are; going to multiple places in a night; going to new places; going to the same place several times; etc. You are also awarded boyscout-like badges for completing various tasks. Finally, if you go to the same place enough times, you will be declared the mayor of that place. These points and titles are more or less meaningless, but if you’ve spent any amount of time online you’ll know that people still love to collect meaningless things. (Karma on Reddit and Slashdot is the first thing that comes to mind.) Some people have labelled this sort of thing prescriptive social software. Foursquare is encouraging a certain sort of behaviour from its users.

I am on Google Wave. As they were with GMail, Google is being fairly tight with how they are rolling out the service. Twitter is full of “can I get an invite” messages. (My invite came from my friend Ryan, who works at Google now. By coincidence, he’s the same guy who invited me to GMail way back in the day.) Unlike GMail, invites aren’t sent out immediately. You nominate someone for an account and at some point they’ll be sent an invite. For a service like Google Wave this is a stupid way to get things going. GMail was actually usable even if you didn’t know anyone else using GMail — it’s just an email client. Wave is something new and fancy. As such, I can only “wave” to one other person with the service, my friend who invited me. Awesome? He hasn’t replied to my first wave yet. Maybe it’ll be more exciting by the end of the week, but I have my doubts.

The CRTC hearings that took place over the last week or so are fascinating to read about. Rogers did an embarrassingly bad job of presenting its point of view. On Monday, Rogers said, “It is the behaviour of the application, not the application itself that we are concerned with. If an application which could cure cancer acted in a certain way, it would be also be subject to traffic management.” Yes, Rogers testified they would throttle the cure for cancer. Bell didn’t fare much better yesterday, though there weren’t nearly as many bad sound bites. It did come out that they’ve cut monthly bandwidth caps by as much as 90% — some of their services now have a 2gb cap. And they throttle their traffic for 10 hours of the day. So you can pay for a 5mb connection and get a 80*kb* connection 1/3 of the time. (An 80kb connection is slightly faster than a modem.) What a deal! I really don’t understand how Bell can avoid hemorrhaging customers. They also spent much of their time on the stand avoiding questions or lying. Sadly, I think the CRTC is firmly in their pockets. The transcripts end with this comment from the chairmen to Bell: “I do not think we are very far apart. Thank you very much, we spent more time with you, but you did start the whole thing.”

A few years back Kottke was arguing that Google would do something like this, develop a WebOS. I thought this was the dumbest idea ever. I still do. Web applications have come a long way, but at the end of the day they are still a bunch of web pages. Apple’s Mobile Me web site is fairly cutting edge when it comes to putting a rich UI up on the web, but even that seems lacking when compared to the ‘real’ versions of Mail, Calender, Addressbook, etc. Computers are stupid-fast nowadays. Yes, even those lame-ass netbooks are fairly powerful machines. To not take advantage of this computing power seems foolish. Why run an entire web browser if the end goal is to view and edit contacts in an address book?

Applications that seamlessly take advantage of the Internet in novel ways are to be applauded. If my file system backed itself up automatically and securely to computers half way across the world, that’d be amazing. Apple’s MobileMe offering got off to a rocky start, but I see that as the direction computing should be moving in. Apple has a suite of powerful applications that can communicate with the web to share what actually matters to you: your data. This seamless movement of data between applications, computers, etc, is what the computer industries goal should be. Trying to shoehorn everything into a web page, not so much.

I have emails from when I in grade 11 on my old Powerbook 5300CS. I read them when I was home a few weeks back. It was funny and scary reading what I wrote. Those emails are over 10 years old now. I wonder what people who have replaced email with Facebook will have to look back on in 10 years time. My guess is nothing, but you never know. I think the uproar over Facebook’s TOS was justified, but the bigger issue I have with Facebook is that it traps all your interactions with the site on the site. There is no way to programatically export your data. While their messaging system is convenient, it’s locked into Facebook. If Facebook folds, or they decide to ban you from the site, there go your “emails”. Kottke compared Facebook to AOL, and the comparison is apt. A site that traps your data isn’t worth your time.

Use Tomato/MLPPP to Stop Bell from Throttling your Internet Connection.

So the WRT54G router firmware I linked to earlier does in fact get around Bell’s (anti-competitive jack-ass) throttling of my Teksavvy internet connection. I love my router, I love Teksavvy, and I now love Tomato/MLPPP. I haven’t been able to download torrents during the evening for many months. (Bell throttles during off-peak hours, so while I was at work my torrents used to run at full speed.) I really didn’t expect a solution like this to develop: I was waiting for Bell to get their asses handed to them in court. Clearly, relying on your government to take a large corporation to task is an exercise in futility. If you’re on Teksavvy, and have a respectable router, I seriously recommend you upgrade to this firmware. Suck it, Bell!

So how does this work? MLPPP is used to aggregate several different network links into a single faster link — i.e. you can take several DSL connections and make a single faster one. With MLPPP the client will split a packet up into smaller fragments, and send each fragment with an additional MLPPP header over different links to the server. The server will then reassemble the original packet from the fragments it receives. You split your bandwidth over all your links, effectively creating a single faster one. You can run MLPPP over a single link, but it obviously offers you no advantage, as all your data is still going over the same link. In this case, the advantage comes from the fact that (for the time being) the hardware Bell uses to track and shape Internet traffic does not know how to process MLPPP traffic. Bell doesn’t reassemble the real packet to examine what is being sent, and thus can’t decide if it needs to be throttled. As long as your ISP understands the MLPPP protocol, you should be able to avoid throttling this way.

Update: TekSavvy now charges $3 for a static IP, access to newsgroups, and access to their ML/PPP server(s).

Unspace discuss their past, and the future of Ruby. There are a lot of interesting links in the post, but of particular interest was the post about Hadoop by Ted Dziuba. (The subtitle, “On the emasculation of Twitter and Dirty Harry” is certainly enjoyable.) There is a lot of interesting stuff being done in Ruby, but like Dziuba, I find a lot of it quaint and half assed. Sometimes I get the feeling that the community around Rails seems to be a bit of a cargo cult. You have a core group of people who know what their doing, and a lot of people who echo what the core says, but who perhaps don’t quite grasp what’s going on. Someone discovers REST and all of a sudden everyone is going on about RESTful this or that. Someone discovers automated testing and everyone is going on about Runit and Rspec. Mind you I’m probably just an elitist C++ programmer. One day I’ll write a longer blog post about that, but not today.

My Unicomp Spacesaver arrived a few minutes ago. I knew it would be loud, but I think I underestimated just how loud it would be. There is a clackity-clack that comes with every key press. Typing out a sentence results in a not so quiet roar of noise. My plan was to use it at work, but i’m worried the noise is going to drive everyone around me nuts: our work space here is pretty quiet. I think this keyboard is a bit too loud. (Well, I know it is too loud, it’s really a question of just how annoying everyone else finds it.) Of course, it feels quite nice to type on. I’ll have to see if people start giving me dirty looks.