3
I Use This!
Activity Not Available

News

Analyzed 11 months ago. based on code collected 12 months ago.
Posted almost 14 years ago
Every now and then an opportunity opens up that so lines up with my interests that I can't pass it up. Today, I just completed my first day as a member of the Windows team. My career so far has been a series of these interesting changes, all of ... [More] which has led me to my new team.At each step I've learned something new, be it launching my own start-up to sell software to OEMs to working on a start-up team at Microsoft building some fantastic tooling for Technical Computing. The next step of my journey will involve learning how to ship software at scale. I'm looking forward to the challenge, and being able to share with you (at the appropriate time) all of the hard work that we're doing in Windows! Permalink | Leave a comment  » [Less]
Posted almost 14 years ago
via youtube.com Love this video. LOTS of robots in action. A few people too. Permalink | Leave a comment  »
Posted almost 14 years ago
This fall, I spent a couple of weeks traveling through China with my Dad, who's now 75. Amazingly enough, was the first time that either my Dad or I had been to China. I shot a lot of photos there, and here's a collection of photos of bicycles. ... [More] Bicycles were once ubiquitous throughout China, but they're an endangered species in urban areas. Here's a collection of photos of people using bicycles in interesting ways. Almost nobody wore helmets, and often you could see entire families commuting on a single bicycle.   Permalink | Leave a comment  » [Less]
Posted almost 14 years ago
2010 was my first year back on the bike after a long time off. It felt good to be a bit more "selfish" now that the boys were 6 and 4, and take some time to do some riding just for me. Without a doubt, the best purchase I made this year was ... [More] my little blue friend: a Garmin Edge 500 bike computer. It's an ANT+ compatible device that records data from a number of different channels: Heart rate Cadence Speed Temperature Location Power For a fantastic review, check out Ray Maker's write-up on the Edge 500. The Garmin software is pretty good (I've re-implemented a good chunk of it on my own as well - look for details in the new year). It makes it really easy to analyze your rides after you're done. My goals this year were pretty simple: 1) get out and have fun, and 2) ride up as many hills as I could find to force myself to get into some kind of shape. I didn't have any well-defined goals this year, since that would have defeated the get out and have fun goal. Looking back on my training logs on Garmin Connect, I can see that I: Rode over 2000 miles Climbed over 115K vertical feet Completed the Seattle LIVESTRONG century in abysmal conditions Rode up my first mountain pass (I spent most of my life in Toronto) when I rode up to Johnston Ridge.  Recorded an FTP of 207W on one of my loops around Lake Sammamish. Next year I'll follow a much more structured training plan to see what I can pull off. Looking forward to it!   Permalink | Leave a comment  » [Less]
Posted almost 14 years ago
Mostly, I'm writing this post so I'll have something to make fun of in a December 31, 2011 blog post. So here goes ... We're going to see a lot of interest in business models that sell new customer relationships to existing businesses. The ... [More] current poster child for this business model is Groupon. If they can successfully validate this business model (and this is by no means a slam dunk) look for Facebook to pull a fast-follow and enter the market in 2011.  Kinect is going to have a big impact on Microsoft's image in the consumer market. Last Wednesday, I saw a crowd of nearly 50 people watch a kid play Dance Central at the Microsoft Store in Bellevue. The kid was good - and got a big round of applause from the crowd when he was done. The crowd spontaneously formed around him as he played, with some people literally stopping dead in their tracks walking by the store. Kinect's open relationship with the hacker community is also going to play a huge role in establishing it as a mainstream technology, particularly for PCs; the guy in the picture is playing WoW via Kinect. I predict that we'll see a Kinect "halo effect" that extends into consumer PCs, which will be driven by ISV's who take advantage of some of the libraries being created by the hacker community.   We're going to see a lot more evidence that HTML 5 is a legitimate application platform. The major platform vendors  The Pirates and Daisies tower defense game is just the first of many more apps to come. I predict that a major game publisher will announce and/or deliver a web-based game using nothing but HTML 5 in 2011. Happy New Year everyone! Permalink | Leave a comment  » [Less]
Posted almost 14 years ago
via tri247.com I've got a spotty track record of working on strengthening my core. During the winter, I'm usually on a 16 week weight program, and I make really solid gains in strength then. But during the riding season, I neglect my core and ... [More] ultimately wind up paying a price for it with lower back pain on my rides. This article does a great job at explaining why you might get lower back pain during rides. It does, however, assume that you've been competently fitted to your bike. This winter is the first that I'm doing a mixed riding / weight program. Early signs point to it helping me keep my spine in a neutral position during my rides (losing some weight around my midsection will also help this too!). Permalink | Leave a comment  » [Less]
Posted almost 14 years ago
Late last night, I discovered VimGolf, and I was instantly hooked. VimGolf is a social game that encourages people to simultaneously compete and teach at the same time. In VimGolf, you're given a file that contains the starting text, along ... [More] with a file that contains the "solution". Your job is to transform the starting text into the solution in the fewest number of keystrokes. If you want to see other people's solutions, you have to submit one of your own. Your submission will only let you see people's solutions that are worse (higher number of keystrokes) than yours, and a small number of solutions which have a better score than yours. By looking at other people's solutions, you will likely learn a trick or two that you can use to improve your score. You can then submit another solution and repeat the learning process. It's a fantastic example of using a game to improve your skill. The general idea of using games to teach is more broadly applicable as well. For example, it's well known that most users only use a small fraction of the features in their software. If your game encourages users to try new features of the software that they haven't used before in order to "win" at the game, you're going to be far more successful at teaching them how to use your software. Users don't want to read a manual; they would much rather learn by doing, and games are a great way to make that happen.  VimGolf encourages users to practice using vim. Daniel Coyle's excellent book, The Talent Code, talks about how people improve through "deep practice", or practicing at the edge of one's abilities for a sustained period of time. I've seen this in action first hand in our house. Since the start of the school year, my 7-year old son has been really interested in learning how to play chess. I remembered learning how to play chess as a kid: the only way for me to "practice" was to play a real game. And since my dad was a lot better than me, I wasn't learning a whole lot during the infrequent games that we would play (losing repeatedly did not encourage me to want to play more games). Matthew is fortunate to have ChessMagnetSchool available to him through his chess club at school. In Chess Magnet School, you are presented with problems like the one shown above, and you're asked to solve it. Matthew has solved over 1000 problems to date. As he solves more problems, he continues to advance. After a certain number of problems are solved correctly, he gets promoted to the next level. Right now Matthew is a Herald and he really wants to move on to be a Jester. He has concrete goals that he sets for himself "Daddy, tomorrow I want to go from 30% to 50% of the way to becoming a Jester". The game adapts to his ability, and he gets a ton of practice working on problems right at the edge of his ability. He's learning at an incredible rate; it won't be long before he's moping up the floor with his Dad. So the next time you're designing a program, try and think about whether you can use a game-based learning approach. It can easily be the difference between a program that has tons of features that nobody knows about and a program that has a fanatic online following. Permalink | Leave a comment  » [Less]
Posted almost 14 years ago
I recently blogged about the advantages of prepaid cellular on T-Mobile, so I won't rehash those arguments here. Let's assume for now that you agree with my earlier arguments. In this blog, I'll show you how you can use Google Voice to optimize ... [More] the experience further. I've been using Google Voice for the past year. It has three key features that will help reduce your prepaid bill further. At Microsoft, I have a direct-dial line to my office. I can program Google Voice to always ring my office phone during office hours. This means that my office phone and my cel phone will ring simultaneously. This way, I can pick up the call on my office phone, and avoid consuming minutes to take the call. Another key feature of Google Voice is the voicemail service. It will record messages, of course, but it will also transcribe those messages for you and email you the transcript. Since you need to pay for the minutes that you spend accessing your voicemail, being able to read your voicemail using your email client helps to reduce the minutes that you use as well. For this to work, your friends have to call your Google Voice number. Unfortunately, prepaid customers on T-Mobile cannot forward their cel number to their Google Voice number. A stop-gap feature is to change your voicemail message to one which tells the caller to try calling you on your Google Voice number instead. The final feature of Google voice is free text messaging. If your friends text your Google Voice number, you can use a Google Voice client to read and reply to those text messages without paying any additional charges. At the time that I wrote this blog, there isn't an "official" Google Voice client for Windows Phone 7, so I'm using a third party Google Voice client called GoVoice to send and receive text messages while I'm on WiFi. It's not as integrated as the text messaging client in Windows Phone 7, so if your friends need to get a hold of you no matter what, have them text your cel phone #, but you'll have to pay a 5 cent fee to receive their text.   Permalink | Leave a comment  » [Less]
Posted almost 14 years ago
Riding a Computrainer indoors during the winter is a great way of maintaining or even improving fitness. With my impeccable sense of timing, I purchased my Computrainer this fall a week after their $100 off deal expired (the summer ... [More] , understandably, is their off season).  Setup The Computrainer unboxing experience is quite unlike the unboxing experience of modern electronics. It arrives in a large brown box, and has manuals that look like those from 1980's era software; if they only came in a 3-ring binder and had floppies in a zip-lock bag, it would complete my trip down memory lane. The cables use DIN-5 connectors, 1/8" mono headphone jacks, and serial connectors. I'm not kidding. It's almost like they manufactured all of their inventory in the 1980's and are still selling that stock. To connect it to your computer you need to use a serial to USB adapter, which is thankfully included in the box. While it's easy to make fun of the primitive state of the electronics, the setup does work remarkably well and is quite reliable.  The trainer itself is sturdy and well-built, and is a cinch to calibrate. Calibration involves spinning up to 25mph and letting the rear wheel freewheel to a stop so that the electronics can measure the rolling resistance between the tire and the rear roller. You'll need to calibrate it each time you ride it, and calibration is best done when the tire is warmed up after riding for a few minutes first. One major point of frustration:getting the cadence reading to work at all. No matter how I tried to reposition the cadence sensor to minimize the gap between the magnet and the sensor, it failed to register a reading. So I decided to throw some science at the problem: I ordered a tube of rare earth magnets from Amazon. These are incredibly powerful magnets; pulling two of them apart is virtually impossible (instead, you separate them by sliding them apart). I stuck one onto the spindle of my pedal and my cadence sensor began reading signals right away. One nice side effect of using these magnets is not having to have ugly straps to hold your magnet onto your crank arm, something I appreciate more now that I have Campy Super Record 11 carbon cranks on my "good" bike. Finally you'll need to find a place to setup the trainer. Mine is setup in the storage room in our basement. I have enough room there for the bike, a 22" LCD panel, and a large diameter fan. I really appreciate convenience of having my old road bike permanently mounted to the trainer. Taking the bike on and off the trainer is about a 5 minute procedure, which would quickly become annoying at 5AM. There are many ridable days during the winter in Seattle, so this would be something that you'd have to do if you only had one bike. Riding I'm not a fan of the Computrainer software. I'm hoping that their upcoming release of their Racermate One software update in February 2011 will be an improvement. Fortunately, there's a fantastic software available from Ergvideo, a Canadian company. Here's a sample from one of their videos: The video experience makes you feel like you're riding in the middle of a pack. The wattage that you must output depends on what's happening in the video. For example, you'll need to increase your wattage on an uphill or when the rider in front of you pulls off. You can decrease your wattage when you bridge up to the break or start descending a hill. It's remarkably realistic once you get the hang of it. So how does the trainer know how many watts to make you pedal at? You provide it with your functional threshold power, which is the average power that you can generate for 60 minutes. This way the ride is tailored to your current fitness levels.  One thing that was initially counter-intuitive to me is the fact that you should never ever need to change gears in "erg" mode. If you output too many watts, the trainer will automatically reduce resistance. So all you need to do is try to pedal at a constant cadence in a fixed gear and you'll get the workout that's programmed into the video.  Make sure you have a lot of music handy - riding indoors is incredibly boring and it's hard to stay motivated. I use my HTC HD7 Windows Phone as a music player, which means I can also use it to surf the web in desperate moments! Permalink | Leave a comment  » [Less]
Posted about 14 years ago
via gizmodo.com This is awesome. 2 years after it was stolen ... DynDNS, SSH, keyloggers and more! Permalink | Leave a comment  »