Posts

Slideshow + Faaland Clock

I wanted to more often see all of the photos that my wife and I take, so I set both of our phones to automatically upload to the same OneDrive.  I bought a computer on a stick and attached it to a TV in our family room.  On the computer I wrote a slideshow app that would pull down photos from the cloud and display them. A challenge is that I hate fan noise, and this was going to be running all the time.  The computer I bought was a Compute Stick from Intel, and I thought I was buying one with passive cooling, but when I plugged it in to my horror it had a small fan!  I could  return it.  But instead I mounted it inside the wall, and set about writing a 4K 60fps dynamic slideshow that used so little CPU/GPU that the fan hardly ever kicks on.  I am kinda proud of that. I also got to add fun features, like showing album art for whatever was playing on Spotify, but the best one is the Faaland (Weasley) clock. On every family member's phone I set u...

Silly Games

Image
A few times I've gotten a notion to do simulations of simple board games.  I was inspired by playing Chutes and Ladders with my son.  I realized that I would much rather write a computer program to play this game for me, so I did.  It could play 2.8 million games per second, and I collected some data: Average game is 18.7 rounds, with 73.4 spins. Shortest observed game was 7 rounds, longest 145.  The ladders help more than the chutes hurt. Players going first have an advantage. Most of the game is spent on the bottom half of the board. Heat map of most common player positions // 100 entries, containing the space number you should move to. // If a ladder, contains a number higher than the index it's at // If a slide, contains a smaller number than the index it's at // If neither, contains its own index. int[] spaces; // current space each player is on, size == 4 int[] players; while (true) // keep playing 'til someone wins {   ...

Eyeball

Image
When the Kinect for Windows came out I had an idea for Halloween, and so I used a Kinect plus the SDK version of Virtual Earth 3D to make an eyeball that would follow your movements and make scary sounds if you got close. This first version was on a computer monitor that I put in a window next to the front door.  Over the years I switched to Unity and added a bunch of different texture variants, 3D models, particle effects and the like.  The current version is projected on a sheet covering my garage.  Kids really seem to like the jump scares. The delay in the jump scare scream is because of a setting I was using for a bluetooth speaker.  It seems every year there's some sort of little hurdle.  I fixed it in time for the kids to see it though!

Draw Free!

Image
My most successful side project happened when Windows Phone 7 came out.  WP7 was actually pretty good, and I wanted to get in on the ground floor of its app market.  So I did, with an evolution of the drawing apps that I'd done for the Zune HD. I called it Draw Free! (well, the first version was called Draw! but that was back when I had an illusion that people might want to pay for it), and it had a pretty sweet interface that could adapt to different ages of user.  It was all written in Silverlight with all drawing (stamping, alpha blending, image processing) done on the CPU in C#. With Windows 8 I rewrote it in XAML and using SharpDX, which allowed me to use shaders (!!!).  This version was eventually ported back to Windows Phone, and is in fact still available .  On Windows 10, search in the Store for "draw free". You like how I kept the rainbow house theme across every version I made? Honestly it's a good app, and over the years has just abov...

Zune HD Apps

Image
When I got a Zune HD, I noticed that all the other parents could distract their kids with apps on their iPhones.  No in a fit of pique, I wrote several apps for the Zune HD.  They got picked up by an enthusiast site and as I recall it got several thousand downloads.  So, like, 10% of Zune users?  Har, har, har...  Yes the comedy was all gold back then.

Ultima 7 Maps

Image
Back in 2007 or so I was working at Microsoft on Bing Maps, and I decided to make an ajax map of Ultima 7 The Black Gate, and Serpent Isle.  I used Exult to output the game's raw map imagery, chopped it into tiles, loaded them onto AWS, and made a website.  It got noticed by a few enthusiast and even mapping sites, but after some hosting hiccups I took it down (and some people even noticed that). All that's left online is a couple low-res images in a post about it. At that time, Bing Maps had a 3D control (that I also wrote a lot of) called Virtual Earth 3D, so you could sort of fly around Britannia on a globe.

Welcome

My name is Nikolai.  I've worked for Microsoft and Google and that was super interesting and all, but this is a website I will use to talk about silly projects.