Mike Swanson

January, 2008

  • Mike Swanson's Blog

    SEAMonster Loosed to CodePlex


    Well, I had good intentions. Ever since my first post about SEAMonster in October, 2007, I've wanted to refactor and clean-up the code for release. In the meantime, I've received many, many e-mails asking when that would happen. To everyone who has patiently waited, today's the day. SEAMonster is now hosted on CodePlex.

    Before you get too excited, know that I haven't had the time to do any clean-up (at all). I finally realized that I just had to let it loose. This is one of those "20 lines of code" test projects that evolved into an unarchitected proof-of-concept with a load of TODOs. There's no doubt that it could use a lot of help from the community. If you'd like to contribute to the project, please drop me a line.

    Here's a sample image that ships with Windows Vista that I've resized using both SEAMonster and Photoshop.

    Notice the "squashed" and distorted look of the bicubic resize as compared to the seam carved version. The seam carved version looks like it could be a real photo, even though it's width has been significantly reduced.

    On a related topic, I've been asked about 15 times now if I would present a session about SEAMonster (and possibly SWF2XAML and my Illustrator plug-in) at our upcoming MIX08 conference. Every one of our session slots has already been allocated, but it's possible that I could give a talk in our Open Space area at the event. If you'd be interested in hearing something like that, please leave feedback to this post.

  • Mike Swanson's Blog

    Helvetica: The Documentary


    I ran across Jeff Atwood's blog post, Typography: Where Engineers and Designers Meet, about a week ago. Like Jeff, I've been interested in fonts and typography for a long time. As a matter of fact, I used to create bitmap fonts for the TI-99/4a, Commodore 64, and Atari 400/800. I'm sure if I dug through enough boxes I could find a pile of old graph paper with 8 pixel x 8 pixel character sets on them! Those were the days. :-)

    Until Jeff's post, I hadn't heard about the Helvetica film by Gary Hustwit. I immediately ordered the DVD (it's only $20), it arrived a few days later, and I watched it this morning. What a great movie! It was obvious from the moment I pressed play that this was made by someone who is passionate about the subject. From the beautiful photography to the perfect music, this film reflects the cleanliness and simplicity that is Helvetica. You do not have to be a font geek to appreciate this documentary.

    The film traces the history of the typeface from the 1950s when it was known as Neue Haas Grotesk. Through fascinating interviews with industry luminaries and designers, we hear how Helvetica has influenced graphic design and typography over the years. Along the way, we also discover how pervasive it really is. I particularly enjoyed the balance of perspectives (some like Helvetica, some despise it, and many are apathetic). I also found the insights into design and the creative process to be very inspirational.

    If you decide to buy the DVD, be sure to watch the extras. The feature itself is around 80 minutes long, and the extras run for over 95 minutes! Here are some of the topics that are touched on: Pencil vs. mouse; How technology has affected type design; The reader’s awareness of typefaces; Helvetica and the Macintosh; Helvetica and branding; “Mean” Modernists; Music packaging; One typeface is not enough; Designing for an audience; Approach to design; The value of good design; The Simple typeface. The extras are almost like watching a bonus movie.

    As a Microsoft employee, my ears perk up whenever I hear our company name mentioned (which is quite often). So, I particularly enjoyed listening to comments from Erik Spiekermann about our Arial typeface where he calls us "big bullies," says that we're "baddies," explains why he "won't go near a Microsoft product," calls us despicable, and adds that we're "mean bastards." I'm not here to argue with Erik, because frankly, I don't have enough context, but I appreciate his passion!

    If you have any interest at all in typography, this is easily worth $20. Highly recommended.

  • Mike Swanson's Blog

    What Do I Do? Top sites, MIX08, and PDC08.


    A few days ago, I received the following e-mail:

    Help me out here. I've been reading your blog off and on for years and I can't figure out what it is you do. Your obviously involved with the PDC and MIX conferences, you send a lifesize cardboard cutout of yourself as your resume, you've made a plug-in for Illustrator and a converter for Flash files (which rock BTW), you take amazing photos, you implement seam carving in your "spare time", you write Tivo gadgets, you taught me about continuous integration with your orb article, your article on code review was mandatory reading in one of my classes, you read quite an collection of books, you seem to be pretty good at design considering you claim to be a geek, you build small arcade machines, you counted to a freakin' million, you worked with Tom Skerrit, you write music, you build medical software, and who knows what else. Don't worry, I'm not stalking you. :) I just read through your old posts cuz I couldn't remember all of this! Just what the hell do you do at MS?

    Yes, I'll admit to being a bit disturbed until I found out that this person had read through my old posts. Whew! It's strange to have your history read back to you. But, it's a very fair question, and it made me realize that my blog may provide a distorted perspective on the work I do. So, to set the record straight, let me try to explain my job at Microsoft.

    For context, I work in Developer and Platform Evangelism, commonly referred to as DPE. My office is in building 18 on our main campus in Redmond, Washington. I've been in DPE for the past three years, and prior to that, I was a Senior Consultant with Microsoft Consulting Services (MCS) for five years working out of our Michigan office. I've been working with computers for over 30 years now.

    In my current role at Microsoft, it's easiest to categorize my work into three buckets. Note that—like almost any job at Microsoft—the things I do can change many times during the course of a year, but these three are accurate now:

    1. I manage a group of Technical Evangelists and Program Managers to run a program we call Web GO. A primary goal of the Web GO program is to engage with top consumer-facing web sites to help them adopt our new products and technologies. In DPE, we focus most of our efforts on leading edge technology...usually stuff that hasn't shipped yet. As you probably know, it's a risk to work with anything this early on in a product lifecycle, and our job is to do what we can to make early adoption as easy as possible. Along the way, we get a lot of real-world feedback from our customers, and that feedback helps to shape our products and (hopefully) make them more relevant to a wider set of scenarios and usage patterns.

      At the end of our engagement with a customer, we capture what we call evidence. Evidence is the story we tell about the customer and how our products and technologies helped them achieve a positive result. Sometimes this positive result is lower costs, sometimes it's faster time-to-market, sometimes it's how the new technology enables a scenario that couldn't easily be achieved before. Often, it's a combination of these. We create the evidence as a written case study, perhaps a video (like this one featuring yours truly), and occasionally a customer standing on stage at one of our big events.
    2. I own and oversee many aspects of our upcoming MIX08 conference in Las Vegas, and I'm a member of the core team. You may find it interesting that there isn't an official MIX or PDC "events team" in Microsoft. Both of these events are owned by DPE, and we enlist a volunteer army to pull them off. Most of the folks that work on these conferences have another primary role in DPE if you can believe it (I jokingly refer to it as the "Microsoft 120% Rule").
      • Keynote partners - I'm responsible for helping to identify the customer and partner projects we have on stage at MIX08, and I work with the primary account representatives inside Microsoft to make sure that everything stays on-track. I also help to find projects that align with the overall themes of the conference. There's a lot of timing that goes into this, and as you can probably imagine, there are a lot more partners than we have slots, so selecting the right set of projects is critical.
      • The Signal - I co-host our weekly MIX08-related podcast along with Thomas Lewis. We provide a behind-the-scenes look at the event, and we interview speakers, staff, and other notables. Yes, we produce the whole thing.
      • Show Off - Like The Signal, I also work on this one with Thomas. The goal is to find cool projects that get people excited about technology/design and feature them at the Show Off event. This is a blast, and if you have anything that would inspire other developers or designers, please submit a video! Thomas and I will present the best of them the second evening of MIX08.
      • ????? - Unfortunately, I can't talk about this one yet, but it has to do with the evening of day 0 (the day before the keynote) and something we're doing at the attendee party the following night. You're going to love it!
      • Then, there are activities that I oversee. That means that I don't do any of the actual work, but I provide guidance and make sure things are moving forward. I work very closely with owners for each of these activities, and frankly, they deserve all of the credit.
        • The Sandbox - owned by Hans Hugli and Glenn Podany, this is the MIX version of hands-on labs. Plus, there's an online component called Sandbox in the Sky that allows attendees to easily publish their work out on the 'net. This year we've also added technology that makes it easy to take the labs home with you. I can't wait to see how well it works.
        • Open Space - this is a mash-up of what used to be known as Open Mic and MIX Chat, and it's being driven by Drew Robbins and Jason Olson. Think of this as an area where you can meet other experts, including speakers, to chat about design and development topics. Self-proclaimed experts can also schedule their own mini-sessions to talk about whatever interests them. There will be a projector, lots of whiteboards, and couches. They'll also have video cameras on-hand to make it easy to record the content and publish it on the internet for all to see.
        • Session recordings - I had this role for PDC05 and MIX06, and the amazingly capable Brian Keller had it for MIX07 and is driving it again this year. The goal is to record every session we present and make it available online within 24 hours for anyone (not just attendees). Brian has some cool upgrades to the experience this year that I hope everyone will love.
        • Bits - David Tesar is responsible for wrangling the bits for the various products and technologies we talk about at MIX08. This means that he figures out which builds of which products will be available by the conference and works with the teams to get them onto DVDs and CDs we can hand out to attendees.
    3. I am the Content Owner and a member of the core team for this year's Professional Developers Conference: PDC08. I've only just started this role, and my job is to drive the theme, tracks, sessions, and overall direction of the content. This is a heavy duty job, and it will likely consume most of my time as we get closer to October. The content direction that is set will naturally flow to almost every aspect of the event. I hope to be able to post frequently about the work I'm doing related to PDC08. I also look forward to your suggestions and feedback.

    There you have it. Those are the three areas where I focus my time and attention at Microsoft. Interestingly, very few of my blog posts relate to my day job. I have an insatiable passion for technology, and I spend a lot of my spare time on hobbies like photography, writing little programs, reading about topics that interest me, and relating old stories (like counting to one million).

    So, I guess the overall theme of this blog—if there is one—is me. I have a diverse set of interests, and I hope you'll continue to indulge me for another four years!

  • Mike Swanson's Blog

    Programming Collective Intelligence


    I tend to read a lot of books, and most of them have a technical focus. Every once and awhile, I run across a gem that is timely, coherent, unique, and well written. Programming Collective Intelligence: Building Smart Web 2.0 Applications by Toby Segaran is one of those books. If you've ever wanted to understand how search engines perform their magic, how a site like Amazon.com knows what products to recommend, how spam detection works, and how dating sites predict good matches (among others), this book is for you. Check out Toby's Web 2.0 Berlin slides for a quick overview.

    Many of the algorithms and methods that Toby describes are very complex, but he doesn't assume that you have any special knowledge of data analysis, machine learning, or statistics. Toby does a fantastic job explaining mathematical concepts in a remarkably straightforward and simple fashion. If you have a programmers understanding of math, you should do just fine.

    The book is full of real-world examples that pull live data from sites like del.icio.us, ZEBO, Kayak, Zillow, HOT or NOT, eBay, Yahoo!, and Facebook. All of the code is written using Python. If you've never written a line of Python code in your life, fear not! Toby explains a few of the less obvious Python constructs and syntax in the Preface, and frankly, almost any developer should be able to easily understand what's going on. You'll be writing concise Python code in no time.

    Chapters include: Making Recommendations, Discovering Groups, Searching and Ranking, Optimization, Document Filtering, Modeling with Decision Trees, Building Price Models, Advanced Classification: Kernel Methods and SVMs, Finding Independent Features, and Evolving Intelligence (cue the ominous music). Some of the algorithms that are covered include: Bayesian classifiers, decision trees, neural networks, support-vector machines (SVMs), k-nearest neighbors (kNN), hierarchical clustering, K-means clustering, multidimensional scaling, non-negative matrix factorization (NMF), simulated annealing, genetic algorithms, and even genetic programming. Don't worry if you've never heard any of these terms...the names may be scary, but the text is extremely approachable and lucid. And you're sure to be a hit at the next geek gathering!

    Not only will you come away from this book with a very good understanding of collective intelligence, but you'll also have a very powerful set of practical Python routines that you can immediately apply to your own data.

    Highly recommended!

  • Mike Swanson's Blog

    Return of The Spider King


    As many long-time readers may recall, I've been trying to foist blogging onto my friend and colleague, Thomas Lewis, for nearly three years. He's endured my chiding both online and in person; thank goodness he's one of those guys who can take my constant nagging.

    A couple of weeks ago, Thomas stated that he had a surprise for me and asked if I wanted to hear it then or at some point in the future. I appreciate a good surprise, so I told him that he could tell me when he was ready...turns out that time was today at lunch. He played it very well. I was sure he was about to tell me that his wife is pregnant, he had won the lottery, or that small bunnies had attacked him with sticks last night (don't ask). After drawing out the suspense for what seemed like a few minutes, he revealed that the Spider King has returned!

    Now, I personally believe that blogging isn't for everyone and that it should never be forced or required. But, I know a few people who have such interesting perspectives or such insightful thoughts that it'd be a shame if those perspectives and thoughts couldn't be shared more broadly. Thomas is one of those guys. I'm thrilled that he'll be posting about his unique views on Microsoft, Apple, technology, his pets, his wonderful wife, wine, the iPhone, heavy metal, internet standards, and whatever else inspires him. No matter what he chooses to write, I'm sure it will add value to the world.

    So, without further ado, head on over to The Spider King and check out his first couple of posts. I've received a lot of e-mail in the past about what it means to be a Technical Evangelist at Microsoft, and Thomas' post about 7 Tips To Become a Microsoft Technical Evangelist is a great start. He's a good guy to work for too, so be sure to check out the open position on his team.

    Last, since Thomas ended his first post with a Dune quote, I thought I'd close with the same: He who controls the Spice Girls, controls the universe! Muwhaha!

Page 1 of 2 (6 items) 12