Writings
Down With O.P.C.6
by Karsten Januszewski on Jul 22, 2011 in Development
For the past few years, I have had the luxury of working on projects which I own the development entirely, from end to end. My work on Mix Online (Oomph, Glimmer, Archivist Web, Archivist Desktop, Flotzam, and Incarnate) has been architected and written by me, in collaboration with a designer but with no other developers. Read More…
Be Unique But Don’t Be A GUID30
by Karsten Januszewski on Jun 15, 2011 in Development
Guids. As in globally unique identifiers. Love 'em. And hate 'em. I mean , you gotta admit, they're kinda cool. Like fingerprints. Or snowflakes. But unlike snowflakes or fingerprints created through the magic of nature, the GUID can be created by me, the software developer! I have the power! In fact, who wants to play Read More…
The Rise Of JSON37
by Karsten Januszewski on May 17, 2011
I’ve been prototyping a new service, sketching out the different pieces: payload protocol, storage, data model, transport, client/server communication, etc. And, upon completion of the prototype, I stepped back and looked at the decisions made. For example, how are we storing the data? Raw JSON. How are we serving data? As JSON. It suddenly struck Read More…
BlogEngine.NET 2.0 Released; Incarnate Plugin Updated9
by Karsten Januszewski on Jan 12, 2011 in Development
It’s very exciting to see the release of BlogEngine.NET 2.0, which continues to shine as a full featured blogging engine written on ASP.NET. I can see why they’ve jumped from version 1.6 to version 2.0 with this release, as it is a major update from their last release. You can read all about the new Read More…
Excel, PowerPivot and Data Mining Twitter10
by Karsten Januszewski on Nov 17, 2010
Out of the box, The Archivist (our Twitter archival and analysis service) provides six visualizations of sliced Twitter data. However, there are some visualizations that The Archivist doesn’t provide. For example, consider an archive on the term soundcloud with 388,000+ tweets. The Archivist will show you the top 25 users who tweeted about soundcloud. I Read More…
The Latest Twitpocolypse2
by Karsten Januszewski on Oct 19, 2010 in Development
There’s another Twitpocolypse on the horizon. If you’ve developed against the Twitter API—and especially if you’re using a JSON parser for deserialization—you’d better read up. In summary, there’s a serialization issue now that Twitter is moving to 64 bit signed integers, since Javascript can’t handle numbers greater than 53 bits. And Twitter passes the tweet Read More…
How Do You Use The Archivist?12
by Karsten Januszewski on Sep 28, 2010 in News
The Archivist—our lab focused on archiving, analyzing and exporting tweets—just had its 3-month birthday. Hurray! The service has been humming along nicely, with over 150,000,000 tweets archived and over 20,000 unique visitors since June of 2010. It’s always fascinating to find out all the ways in which the software we create gets used, many of Read More…
Architecture Of The Archivist12
by Karsten Januszewski on Aug 16, 2010 in Development
Building The Archivist introduced several architectural difficulties, which were solved over a number of iterations and trials and error. Implementing the core three features of The Archivist (archiving, analyzing and exporting) in a scalable and responsive way proved to be a challenge. While I’m tempted not to write this article as some will anticipate my Read More…
The Humor of Code Check-in Comments18
by Karsten Januszewski on Jul 19, 2010 in Development
A post about the humor of code check-in comments Read More…
How The Archivist Polls Twitter13
by Karsten Januszewski on Jul 7, 2010 in Development
You may be wondering how frequently The Archivist updates archives. Well, the answer to the question is more complicated that it may first appear. Let’s dig in. The Archivist interacts with Twitter using the Twitter Search API, which it polls at variable intervals based on the frequency with which a particular archive is updated. We Read More…
Introducing The Archivist8
by Karsten Januszewski on Jun 28, 2010 in News
The Archivist is a new lab/website from Mix Online that lets people archive, analyze and export tweets. Here’s a little more about why we built The Archivist and who we built it for. The Transitoriness of Twitter Twitter isn’t going away anytime soon. From Twitter: The tweets keep coming. And coming. Exponentially. Then again, tweets Read More…
Using Flotzam At A Conference4
by Karsten Januszewski on Jun 15, 2010
Flotzam at a conference is fun. It gives the audience the ability to immediately participate in the event—their photos, tweets, etc, show up on the big screen, giving them immediate satisfaction and making them feel like they are part of the event. If you’d like to see Flotzam in action, you can try it out Read More…
How To Skin Flotzam1
by Karsten Januszewski on
Here’s how to skin Flotzam: 1. Download the latest Flotzam source code and open Flotzam.sln in Expression Blend. 2. Hit F5 to see the application working. You should see different "flotzams" appear on the screen. By default, you will see public Twitters and Flickr images as well as videos posted to YouTube. You can change Read More…
How To Add a New Data Source to Flotzam3
by Karsten Januszewski on
Here’s how to add a new data source to Flotzam. 1. Create a new data model class that derives from DataModel in data.cs – look at the other derivations of DataModel to see how the model works 2. Add this class as a new Object Data Provider to datatemplates.xaml storyboards.xaml 3. Add new member variable Read More…
Using VaryByCustom With OutputCache in ASP.NET MVC To Support Caching For Logged-in Users5
by Karsten Januszewski on Jun 9, 2010
Several pages of an upcoming Mix Online lab are fundamentally static, except for a single hyperlink that toggles depending on whether a user is logged in or not. To optimize the site, I wanted to use caching on these static pages. But by adding the OutputCache attribute to these pages, a user could end up Read More…
Using the ASP.NET Chart Control With Multiple Web Roles In Windows Azure7
by Karsten Januszewski on May 20, 2010 in Development
I use the ASP.NET Chart Control in Azure in an ASP.NET page with both markup and code-behind. I do this because the chart control overlays hrefs and tooltips on the chart. (Check out this post for a little more about how I use the charts: http://visitmix.com/LabNotes/ASPNET-Charts-and-ASPNET-MVC–Controller-vs-View.) Things work fine if I configure the chart control Read More…
Pagination, Deduplication and The Twitter Search API1
by Karsten Januszewski on Apr 30, 2010 in Development
A few changes to the Twitter Search API have caused me to change some of my code for an upcoming Mix Online lab. I used to pass a since_id as well as a page number to get a sequence of search results back from Twitter. It looked like this: http://search.twitter.com/search.json?q={0}&since_id={1}&rpp=100&page={2} Here {0} is the query, Read More…
Tips & Tricks for Accessing and Writing to Azure Blob Storage1
by Karsten Januszewski on Apr 16, 2010 in Development
Lately I’ve been doing a lot with Azure Blob Storage for an upcoming Twitter-related Mix Online lab, and wanted to share what I’ve learned. Creating An In Memory .xls File And Uploading It To Blob Storage I needed to create a .xls file on the fly and get it into Azure Storage. Here’s how I Read More…
Geeking Out On JavaScript: Douglas Crockford, John Resig and Erik Meijer at MIX 102
by Karsten Januszewski on Mar 26, 2010
If you haven’t heard, all the sessions are now available for viewing from Mix 10 up at http://live.visitmix.com. There’s a ton of great sessions up there. This year, we were thrilled to have two of the giants of Javascript at the conference: Douglas Crockford and John Resig. JavaScript designer and historian Douglas Crockford had a Read More…
ASP.NET Charts and ASP.NET MVC – Controller vs. View10
by Karsten Januszewski on Mar 5, 2010
Like Hans’ most recent lab note, this one is about charts. However, my investigations center on a different charting platform: the ASP.NET charting controls. These are shipping as part of .NET 4.0 and are available for download today in .NET 3.5 for free. You can also download VS 2008 tooling support and the ASP.NET and Read More…
Incarnate for WordPress Plugin Updated10
by Karsten Januszewski on Feb 15, 2010 in Development
We’re excited to announce Incarnate for WordPress version 1.2. Significant work has been done with the plugin to address issues that arose with earlier versions. Because WordPress theming engine’s flexibility, there were number of cases where the plugin didn’t play nicely with WordPress themes. We’ve fixed these issues and the plugin will now work as Read More…
Incarnate Updates: BlogEngine.NET Support and Service Improvements10
by Karsten Januszewski on Feb 5, 2010 in Development
We are excited to announce support for Incarnate in the latest BlogEngine.NET release. In addition, we have made some improvements to the Incarnate service itself. Here’s the scoop: BlogEngine.NET Support With the release of BlogEngine.NET 1.6, Incarnate is now supported. We worked with the team behind the project and they added the infrastructure in their Read More…
Downloading and Parsing IIS Logs from Windows Azure8
by Karsten Januszewski on Jan 22, 2010 in Development
In this post, I delve into how to get IIS logs out of Windows Azure and on to your local machine so you can do analysis. I wrote a program to help this process called AzureLogFetcher Read More…
The Vanity of Vanity URLs8
by Karsten Januszewski on Jan 6, 2010 in Web Culture
Wikipedia defines vanity URLs as follows: "a URL or domain name, created to point to something to which it is related and indicated in the name of the URL. In many cases this is done by a company to point to a specific product or advertising campaign microsite. In theory, vanity URLs are creatively linked Read More…
Introducing Incarnate21
by Karsten Januszewski on Dec 14, 2009 in News
Our latest lab, Incarnate, finds your avatars around the web, so you don’t have to upload a new one every time you join a service or leave a comment Read More…
Adventures With Windows Azure Diagnostics7
by Karsten Januszewski on Dec 4, 2009 in Development
I recently took the Azure plunge, in preparation for an upcoming Mix Online Service we will be announcing soon. Things went relatively smoothly, but I hit few gotchas, especially when trying to get diagnostics and logging working. Below is a chronicle of said gotchas, with tips on how to resolve them. Getting Started To learn Read More…
JSON-P: An Elegant Hack (And Another Hack: Creating a JSON-P Service with the WCF REST Starter Kit!)7
by Karsten Januszewski on Nov 16, 2009 in Development
I’m working on some prototyping for an upcoming Mix Online prototype (a bit recursive, no?). My prototype provides a service with a REST interface, which has a few methods that send data via JSON and XML. I’m using the WCF REST Starter Kit (http://www.asp.net/downloads/starter-kits/wcf-rest/) to get a REST service up and running quickly, and using Read More…
To Minify or Not To Minify12
by Karsten Januszewski on Oct 30, 2009 in Development
Back when we were about to ship Oomph2, I found myself ranting about having to minify the oomph.js script. Minifying was this annoying, non-automated step in the build process, and it caused me grief—just when we thought we were ready to ship and I’d minified what I thought was the final build, a bug would Read More…
Oomph and Microformats Activity0
by Karsten Januszewski on Oct 16, 2009 in News
There’s a lot going on these days with Oomph (our microformats toolkit) and microformats in general. Here’s the latest: Oomph-land Oomph2 is now in the IE Add-ons gallery. As you might suspect, you can find nifty add-ons for Internet Explorer there. If you’re looking to submit something and having trouble, let us know—we now know Read More…
jQuery Love: Microsoft’s CDN Service for Microsoft AJAX Library and jQuery5
by Karsten Januszewski on Oct 2, 2009 in Development
jQuery Love: Microsoft’s CDN Service for Microsoft AJAX Library and jQuery A few weeks back, Microsoft announced a new content delivery network (CDN) that supports hosting for both the Microsoft AJAX libraries and the jQuery library. This is an exciting development and big step toward improving the performance of AJAX applications: by referencing the libraries Read More…
Design, Usability and Security Dilemmas With User Generated Content0
by Karsten Januszewski on Sep 18, 2009 in Design
Allowing users to add their content—feedback, reviews, expertise, etc.—to a web page is ubiquitous these days. Whether we’re talking about comments on a blog post or wiki articles, user generated content is everywhere. The mechanisms for dealing with this type of content, however, are hardly standardized. There are usually three approaches. Users can either: Enter Read More…
Screen Savers Are (Still) Cool6
by Karsten Januszewski on Sep 17, 2009 in Development
I have, do and always will love screen savers. They are, to me, an essential part of the PC experience. The basic idea of having your PC “do” something when it isn’t in use makes total sense. What other appliance in your house/office actually does something when you aren’t actively using it? Most machines just Read More…
Oomph2: A Microformats Toolkit … Enhanced!1
by Karsten Januszewski on Aug 25, 2009 in News
We’re excited to announce the release of Oomph2, an updated version of our very first Mix Online project, Oomph. We’ve added features and cleaned up issues. Check out what’s new: Complete Implementation of the Value Class Pattern We updated Oomph to support the value class pattern, which lets you choose how you mark up content Read More…
Watch Us Work — And Work With Us1
by Karsten Januszewski on Aug 7, 2009 in Process
In his last post, Tim talked about how we work. He got into some good depth as to our workflow, methodology, etc. Well, with that in mind, I wanted to call out that you can watch us work as we crank out the next version of Oomph, our Microformats toolkit. What do I mean exactly? Read More…
Deep Zoom Pix0
by Karsten Januszewski on Jul 14, 2009
I wanted to highlight a pretty cool application for experiencing photos called Deep Zoom Pix . This is an experiment done by some Microsoft developers and designers that shows off capabilities of Silverlight Deep Zoom technology as well as the Windows Azure Services Platform. The thing I really like about Deep Zoom Pix is, if Read More…
Creating A Tree Map Data Visualization Out of 200,000 Tweets About Iran5
by Karsten Januszewski on Jun 24, 2009
I let The Archivist (a Twitter data mining application from the Mix Online experiements) loose on the term Iran and it has run for the last five days. At this point, I now have an archive of around ~200,000 tweets about Iran. So, then, the question becomes, what to do with all that data? After Read More…
Welcome to the Webtop: Wiki-OS7
by Karsten Januszewski on Jun 18, 2009 in Development
Wiki-OS is a pretty interesting project I came across. They have created an in-browser environment where one can build, compile, execute and share .NET applications. Sound trippy? It is! They call it a webtop — web meets the desktop. Here’s how they describe themselves: WIKI-OS.org is to software what Wikipedia is to knowledge: it is Read More…
On Deployment: ClickOnce & The Client Profile Configuration Designer9
by Karsten Januszewski on May 29, 2009
I recently engineered the deployment of two client applications, Glimmer and The Archivist. Both are WPF applications that required the .NET Framework 3.5, which is not installed by default on Windows XP or Windows Vista. (It is on Windows 7 – rad! – yet another feather in the cap for Windows 7, which I am Read More…
The Archivist: Save And Export Twitter Searches Before They Go Away15
by Karsten Januszewski on May 15, 2009 in News
If you have used Twitter search before, you may notice that you can only go back a certain amount of time and/or number of tweets for a given search. In fact, if you read the Twitter search documentation, you’ll note that the folks from Twitter say, "We also restrict the size of the search index Read More…
Glimmer: a jQuery Interactive Design Tool62
by Karsten Januszewski on Apr 27, 2009 in Design
Glimmer: a jQuery Interactive Design Tool is a prototype from the Mix Online Labs which makes jQuery accessible through a visual tool. The objective for Glimmer is pretty simple: to enable the power of jQuery through an interactive design surface. If jQuery is the "write less, do more” JavaScript library, then Glimmer is the “write none, do more” jQuery design tool. Glimmer has three core audiences: power users, designers and developers Read More…
A Belated Happy 5th Birthday To Channel 91
by Karsten Januszewski on Apr 20, 2009 in News
You know when you forget to wish someone a happy birthday and aren’t sure if you should still bring it up when you remember later? Well, that’s the boat I’m in, but I’m going to swallow my pride and do it anyway: Happy Birthday, Channel 9. (If you aren’t familiar with Channel 9, read about Read More…
Twitter: A Brave New World in the Digital Panopticon6
by Karsten Januszewski on Mar 30, 2009
Having just returned from SxSW Interactive and Mix09, Twitter was pervasive. Some observations: On several occasions, I would meet somebody and, rather than exchanging business cards, I would be asked on the spot for my Twitter ID and the person would immediately start following me via their cellphone. When I did actually get a business Read More…
Future of Web Apps 20095
by Karsten Januszewski on Mar 2, 2009 in Design
I recently had the good fortune of attending the Future of Web Apps 2009 Miami conference. This was my first Carsonified event and I was very impressed. The caliber of the roster of speakers was incredible. They were all "presenters" in the best sense of the word. No one read from their decks.In fact, most Read More…
Three Examples of People Extending Oomph9
by Karsten Januszewski on Nov 19, 2008 in Web Culture
Since we released Oomph last month, we’ve seen some exciting uptake from the community as people take the Oomph script and make it available in interesting ways: WP-Oomph Meitar Moscovitz has made a WordPress plug-in called WP-Oomph. The plug-in injects the Oomph script into your WordPress blog posts for you. GreaseMonkey Script Pascal Van Hecke Read More…
Oomph Live at the Microsoft Professional Developers Conference1
by Karsten Januszewski on Nov 3, 2008 in News
I will be speaking about Oomph at the PDC, which you can see up on the PDC sessions page. Tim, the designer on the project, will be there as well as Thomas, our fearless leader. We’d love to meet with folks if you are down in LA, so please feel free to get in touch Read More…
Oomph Video9
by Karsten Januszewski on Oct 25, 2008 in Web Culture
Here’s an eight minute demo of microformats and Oomph, so you can get a taste of what we’ve built: Video: Oomph: A Microformats Toolkit Read More…

