Randall Bits


Start8 and ModernMix

I have been using Windows 8 casually for a while now and have tried to embrace the new start screen. I can see the value in the new UI, but I find that most of what I do, even using built-in Windows tools, resides in the desktop environment. For that reason, there is a lot of friction in using the start screen because most of what I need either isn’t there or can’t be found easily. Since the beginning I have praised all the work Microsoft has done under the hood to improve Windows and so really the only issue I have with Windows 8 is the usability with start screen.

Enter Start8 and ModernMix. I love these tools. These two pieces of software have made Windows 8 a dream for me. Start8 makes it so I can rule the desktop once again and find everything I need while still allowing me to drop into the start screen whenever I feel like it. ModernMix makes it so I can put any windows store app into a window. I do work on machines with large displays and multiple monitors, so this makes using these apps more enjoyable. At the time of this writing each tool is $4.99 or $7.99 as a bundle. I think this is a solid investment if you are a desktop Windows 8 user and are struggling with the new UI.

Windows 8 is an amazing piece of software and worth the investment and the new UI is well…new. It will take time to work out the kinks so in the meantime remove the friction.

Posted on 30 April 2013.

I miss my unit tests

One of my church leaders last year told us that if we read three pages per day in the Book of Mormon we will read it twice in one year. Thus he coined the phrase, “3 equals 2”.

Although I liked the idea, I read my scriptures on my iPad which doesn’t have page numbers. Therefore I decided to quickly create a site that would send daily reminders based on the “3 equals 2” schedule that included not only pages numbers, but also the start and end verse for people like me. The site went up rather quickly (3equals2.org) and sadly without any unit tests.

I lament not writing unit tests every time I work on this project. I’ve learned that even small projects can quickly have logic that will benefit from unit tests. Thus even small projects I create will have unit tests in the future. Lesson learned.

Posted on 03 March 2013.

SQL Server is a Document Database Too

I know what you are thinking, “that sounds crazy”. Sorta, but actually it’s more common than you might think. A while back when I started exploring document databases and enjoying the benefits of using them, I started using a new and hip document db that was supposed to be awesome. At first it was. Then I started running into bugs, replication issues, etc, etc.

Running into issues every so often and experiencing other oddities caused me to fear putting such a database into production. Of course I did it anyway. The results were mostly positive. Performance was good, and development was great, but oddities still surfaced every now and then. I decided I had to move to a more proven database and being in the .NET space I chose SQL Server.

Although I wanted to move to SQL Server, I did not want to move to the relational model. I instead decided to use the exact same document model with a SQL Server backend. In a way this is nothing new like most things. I recall previously hearing about someone using MySql as a key-value store so why not SQL Server as a document store.

I started by creating a table for each type of document with an id field and a string field to hold the JSON serialized document data. This worked great except for how do I query the data? In the previous document database I was using, indexes were created based on what queries were wanted. Genius. I could do the same thing by just adding columns for the fields I wanted to query on.

A example might look like this.

Table: BOOK

Id Document Author
1234 {...} Joe
5678 {...} Jane

Basically we have the book document and an index for the author. One nice thing is these indexes can be added, removed, and reindexed at will. The only issue I’ve run into so far using this approach is when you want to index multiple values for a field. For instance, if you have a tags field in your document that contains a list of tags, it is possible to index this in a single column, but not optimal. In those cases it seems like you would need a seperate table for the index, but I haven’t gone down that route yet.

The end result was a more reliable solution and surprisingly faster solution.

Posted on 19 December 2012.

Visual Studio 2012 is Awesome

I’ve been using Visual Studio 2012 on and off for a while, but recently put it on my main machine. No complaints. Here is what I like so far.

  1. Dark theme
  2. Faster builds
  3. Projects still compatible with VS 2012
  4. ReSharper 7.1
  5. ViEMU 3.0.12 (Ok the last two aren’t part of VS, but I still really like them)

I’m sure there are tons of cool features I don’t even know about yet. This is an awesome upgrade to an excellent IDE.

Posted on 13 December 2012.

Bump Subversion Revision

This is little powershell script I created to bump the revision number of a subvserion repository by making lots of little commits.

for ($i=1; $i -le 100; $i++) {
	echo bump$i > bump.txt
	svn ci -m "bump$i"

This will bump 100 revisions.

Posted on 31 August 2012.