Archive for the Main Category

OK, Dave’s picking on me, so I’ll bite. =)

How old were you when you first started programming?
I was 12 or 13. This was back in 1982 or 1983. My dad got an Apple ][+ that I started plugging away on, in GW-Basic, I believe. Once I got rolling, I started grabbing all the books and magazine subscriptions I could. Back then, a lot of program listings were provided in Assembly, so I would literally spend HOURS typing in lines of hex code to get programs out of the magazines to run.

How did you get started in programming?
I don’t remember what actually got me into programming on our Apple. I do remember when I was very young, my father would bring me into work with him on the weekends sometimes - he worked at Tandem Computers, which was later acquired by Compaq. I would sit there at a terminal and play Eliza or one of the football games the programmers there had created. If I can point to anything that piqued my interest along the way, that would be it.

What was your first language?
GW-Basic.

What was the first real program you wrote?
When I was 13, I remember all I wanted to do was be a programmer. Somewhere along the way, I grew away from that desire and did other things for a while until getting into web development in my early 20s. So, “real” program, I don’t know. I wrote a pretty kick-ass Star Trek program back in ‘83 or ‘84, using graphic sprites and audio through a Mockingboard on the Apple, which by then had been chipped to upgrade to an Apple //e.

What languages have you used since you started programming?
Once you get going, you just can’t get enough. I’ve done Assembler, C, Cobol (bleh), Pascal, C++, Basic, Fortran, Java, C# and VB. At the time, C was my favorite - we’d write Assembler code inline for video card initialization. Boy have times changed! I like C# now. Go figure…

What was your first professional programming gig?
I worked for a bit doing Java for an online domain name acquisition company, but never got deeply into it. There’s been bits and pieces through my web development here and there, but I suppose I consider my current job the “real deal”, since it’s almost purely coding most of the time.

If you knew then what you know now, would you have started programming?
Yes, and I’d have been rich from Yahoo stock, too! The only thing I would have changed was that I would not have let my desire to be a developer get away from me for so long, but hey, that’s life.

If there is one thing you learned along the way that you would tell new developers, what would it be?
Find a mentor. The amount of information can be overwhelming, and if you’re lucky, you can find someone willing to help bring you along. You don’t want someone to give you the answers, but it’s great to have people to bounce ideas off of when you hit a spot where you could use some input.

What’s the most fun you ever had programming?
What can I say? Silverlight. The variety of programs I get to produce in my current role keeps it interesting and fun. Anyone that is a challenge but gets done on time is the most fun. =)

What’s the most fun you’ve ever had … programming?
I’m sure there’s a road trip or two that would rank highly as “most fun”, but programming is fun - I can look forward to getting up and going to work each day to dig into whatever project we have on the board.

Who are you calling out?
Rob Houweling
Adam Kinney (how did he slip by this?)
Michael Washington (that’s two, Michael!)

I have updated both the Bird Hunt and Tank Combat games to run in beta 2. The downloadable zip files were also updated.

One of the things I’ve wanted to do in Silverlight for a really long time is create a timeline infographic. Not for anything more than the practice really, but I just think that the different ways of presenting information via an interactive timeline are kind of interesting to see.

The majority of my work involves creating Silverlight applications, and I love it. So imagine how happy I was when a timeline project came in. This one was interesting because it was a conversion from a Flash version to an updated Silverlight (1.0) version. The company I work for had created the Flash version, so we still had all the base assets used in the timeline, which was helpful.

The schedule was a little challenging - I didn’t have a lot of time to complete the work in - and the new version lives in a template that was a significantly narrower width than the Flash version, so there were some adjustments to make.

In the end, I was very pleased with the result. Interestingly enough, the overall performance of the Silverlight piece seems smoother than the Flash version. I had expected the Silverlight one to bog down a bit as I added text, due to the antialiasing, but that didn’t happen.

Anyways, for those of you that are interested, here is the original Flash version:
Flash CEO Summit timeline

The updated Silverlight version is here:
Silverlight CEO Summit timeline

I’m sure I’m dating myself a bit here, but back in 1977 or 1978, my parents picked up an early video game console for Christmas. It was a system put out by Telegames and sold through Sears, and it was designed to play a single game - a simple two-player Combat video game. The console had two handles on each side, allowing each player to control a tank on screen:

Combat Console













The goal was to drive around a maze and shoot the other player’s tank.

I decided to create a similar game in Silverlight. It gave me an opportunity to manage multiple moving objects on screen, and some practice with collision detection methods described by Adam Kinney in his Silverlight and Dynamic Animations hands-on lab.

Adam was also kind enough to provide me with a little more detail on the collision detection which I was able to utilize in the game.

Tank Combat Screenshot

You can play my Silverlight version of the game here.

If you’d like to download it and play it on your system offline, a zip archive can be downloaded here.

I’ve spent the last week or so working with Ryan Loghry, a good friend of mine that is an illustrator, putting together a Nintendo “Duck Hunt”-like game in Silverlight (no, I did not include the dog). I’m really pleased with the results, and it was a good opportunity to learn more about how Illustrator/Blend/Visual Studio/Silverlight all work together. Ryan created the illustrations, and then essentially handed me completed XAML files with which to work. Sound effects were pulled from sound effects CDs, and a couple of them were borrowed from Duke Nuke’m. The complete package is about 775K in size.

I may take the opportunity to detail some of the challenges in future blog entries as time permits. This was a really fun project to watch come together.

The game can be seen/played here (make sure your speakers are on!):
http://designwithsilverlight.com/csharp/birdhunt/default.html

Also, if you’re interested in seeing more of Ryan’s excellent illustration work, you can find him here:
http://ryanloghry.com/

I’ve had some time to experiment more with DeepZoom, and was able to provide the Expression Composer team with one of the projects that was causing me problems.

If you nest enough images, the images become “small” enough that the encoder doesn’t know what to do (and in my case, did nothing). I have found that this seems to occur for me once I get to about 4 images or so, but only if they are overlapping. If I scale the images and position them next to one another, Composer will export the files as expected.

This led to a different problem, however. When placing the images next to one another so that each is smaller than the previous one, by the time I’m zoomed in on the last of 9 images, it’s blurry and illegible. This one seems to be more of an issue with the rendering engine, because the JPG the multiscale image control is using looks great. It *looks* like you’re zoomed way in on an image, but it’s not resolving to the smooth version.

These kinds of issues are to be expected with pre-release software, of course. I’m really excited about this feature though. There’s a ton of possibility there - I’m looking forward to updates as they become available!

Like everyone else, I was deeply interested in the DeepZoom feature that introduced at MIX.

I spent some time playing with it, and at the moment, it looks to have some limitations. Granted, it’s a preview release (Expression Composer), and I’m probably not doing the software any favors by choking it up with a half-dozen or so high-res photos, but it seems really hit or miss. I can lay out all of my photos in the main display, export it, and it works fine.

When I start scaling the images down and positioning them in order to create the “zoom” effect, once I get past 3 or 4 images, the software just stops updating the output file. It *says* it’s exporting, but it doesn’t actually seem to *do* anything.

It became painfully obvious to me that maintenance on my old site was going to become an ongoing issue - adding tutorials ended up being a lot more work than I had anticipated. I redesigned the site to make it more dynamic (and still use Silverlight), but in the end, felt that a blog format would be more effective. So hopefully this format will allow me more opportunities to post information…