Over the last two years, I've spent considerable time learning several programming languages (PHP, C# and Ruby). I started developing web applications with PHP, moved onto ASP.NET MVC using C# and then decided to experiment with Ruby on Rails. I really loved the simplicity of Ruby and the 'magic' of Rails, but there was something about the Ruby language that just didn't grok with me — I still can't exactly put my finger on it. A couple of months ago, I read Dharmesh Shah's post 'Why PHP is Fun and Easy But Python is Marriage Material'. He made a compelling case for using Python and so a few weeks later I decided to take a closer look at Python myself. As sad as it sounds, I've finally found a programming language that I'm really excited about. It's simple and easy to get started with Python but it's also an extremely powerful language. And after I got over some of the initial 'weirdness' of Python e.g. using tabs for code-blocks, it really started to grow on me. If you're interested, a great place to start learning Python is Zed Shaw's "Learn Python the Hard Way". The online version of the book is available for free and there's also an online class with screencasts at Udemy.com. The course is really designed for people with little or no programming experience. I consider...Read More
Recently, I've been thinking about teaching my 5 year old son to ride a bike without training wheels. We tried to do this a couple of weeks ago and I experienced probably what every parent teaching their child goes through. I spent most of the time holding the bike and running behind him. And by the end of the day, he wanted to put his training wheels back on and I had a sore back. Yesterday, I watched this video about an organization called Bike New York, a non profit whose mission is "to promote and encourage bicycling and bicycle safety through education, public events, and collaboration with community and government organizations". They run "Teach Your Child to Ride" clinics at parks around New York city and apparently have a very high level of success. After learning about their unconventional training technique, I felt inspired to teach my son to ride again, but this time with a very different approach. The result — in 24 hours with about 60 minutes of practice, he was riding a bike all by himself. I shot some footage with my iPhone 4 and edited with iMovie 11. Here's the...Read More
It’s amazing what you can do with an iPhone and a $1.99 app. I’ve been using the Camera+ app on my iPhone 4 for a couple of months. It has a one touch clarity feature that transforms your photos and also provides the capability to add beautiful effects. I’ve been on a couple of recent trips where I also took my digital SLR with me but never used it once. I managed to get all the shots that I needed with my iPhone. Here are some shots I took in Lake Wenatchee and Issaquah… Please specify a Flickr ID for this...Read More
For most of my 10+ year’s career at Microsoft, I’ve been in program management roles — from being a program manager responsible for a specific product feature to becoming a group program manager leading a team of program managers. It’s a role that I really enjoy doing and over the years I have learned a lot about the program management discipline from a lot of smart people at Microsoft. This post focuses on the ‘what’ i.e. what do program managers do. The first thing to note about the program manager role is that it’s an unfortunate job title. As Steven Sinofsky wrote in his blog post PM at Microsoft back in 2005 “program managers do not program, nor do they manage”. Well that isn’t completely true – there are some PMs that write code (although that’s not usually part of a PM’s job) and there are PMs that manage other PMs (but not development and test teams). Also PMs play an important role in not only defining the software product, but also doing the project management. I like to describe the PM role at Microsoft using the ‘3 Ds’ – discover, design and deliver: 1) Discover (Framing the Landscape) In order to understand and frame the landscape, the PM needs to gather as much data as possible about the market, customers, competitors, technology trends etc. There are lots...Read More
Hi. I'm Omer! I live in sunny Seattle. I usually write about technology and other stuff that I think is worth sharing with the world.