Friday, November 18, 2011

A Tablet tour. with emphasis on usefulness and application development using .NET

A couple of years ago Apple released the IPAD. I already had a IPod Touch at that time and bought the IPAD with the idea of developing applications for it. Since then I have picked up a IPhone and two other tablet devices with the idea of developing applications for them. I am primarily a .NET developer so these notes are from a consumer and a .NET developers perspective. Currently I own:

  1. An IPAD 3G.
  2. A W500 WIndows 7 tablet that I run windows 8 on.
  3. A Kindle Fire (I got yesterday).

Although I don't have as much time in with the Fire as I have with the other tablets, here are a few initial notes.

First the IPAD. For a general consumer device this is the one I use the most although the fire may change that. I like the IPAD for the bigger display. I replaced my old Kindle DX's with this because it was backlit. This allowed me to read in bed without another light source. The Fire will now allow that too. I also like the IPAD 3G capabilities. When I travel, it is nice to be able to hook into the internet from virtually anywhere. It was also the most expensive tablet at ~$850. I picked up one of the original AT&T unlimited data accounts for it, so my internet usage is pretty much pegged at $30 a month which makes it very useful. I had considered trying to develop applications for this, but in general I find I can't stand the Apple development environment or Objective C. Jobs was a brilliant man, but he and I differ on what we think makes a good development platform. Give me C# and MonoDevelop or Visual Studio any day.

The W500 I have not owned as long. I bought it specifically to work on WIndows 8 applications. So far I like the expandability of it. Much more capable then my IPAD. I have it hooked into my pico projector through the HDMI port and use it currently for watching movies from my digital libraries on ITunes and Amazon. I also us it for watch netflicks streaming video. I have just bought a Kinect, which I plan to drive using this machine. I will develop software on my Quad Core laptop and then test it on this guy. I primarily plan on using this as a device to test new WIndows 7 and 8 applications and communicate with the my .NET Gadgeteer robots and devices. On the whole I like this tablet, but it is way to heavy and not portable enough to beat out my IPAD for general consumer use. In addition Microsoft really needs to get it act together to compete against Amazon Web Services and the Fire. Azure is not enough.

Finally, we have the Kindle Fire. I picked this up because I have always liked the kindle and it is hard to beat the price. At $200 it is the cheapest tablet I own. I do wish the screen were bigger and will upgrade when the larger 10” screen comes out. I also believe that until Microsoft gets it together these are going to be the primary competitor to the IPAD because of the content available. I want to start developing for it using either C# (through MonoDroid) or Java. I think this particular device with it's size connectivity make it a good candidate for a device you can easily carry around. I can see using it as a mobile device for controlling home automation and other things through some gadgeeter devices. In addition by utilizing amazon's cloud services and the amazon appstore I think there are going to be a number of enterprise level applications made available for this tablet.

All in all from a consumer perspective I still like the IPAD. From a developer perspective I like the W500 and think the Fire will be a close second. Once I get more familiar with the Fire it may be the new winner across the board.

Saturday, February 13, 2010

Pretty Quiet

I have been pretty quiet lately.  I have been doing some consulting for Multnomah County in Portland Oregon for the last 8 months or so.  I will finish up at the end of March (March 19th).  So I am finally taking some time to get caught up on some blogging and open source projects I had been working on.

The project with the county has been working on the WCF service layer and silver light model layer for a line of business application.  We have ended doing most of the actual development using a set of custom T4’s and code generating almost all of the application for these areas.  Pretty cool technology.

By combing Prisim, WCF, Code Generation and Linq to SQL we were able to significantly decrease the amount of time it took to create the application.  I will be presenting on these techniques and some lessons learned at the Boise Code Camp at the end of March.

It has made for an interesting time over the last 8 months :-).

Sunday, August 30, 2009

News from the Mobile Front

Someone recently asked me where I lived.  This is a interesting question, since for the last year I have not really had a permanent residence.  I pretty much live out 5 suitcases and a plastic Tupperware tub.  After this gig is done in Portland I plan on dropping that to 4 suitcases and a laptop bag.

Since I live alone and travel alone I can travel pretty light.  Currently I have a extended stay hotel in Portland that I live in and rent by the month.  My current contract ends in May of 2010. At the time I will decide if I am staying in Portland or moving on.

My work is now pretty much contract work.  Go in take a gig for 3 months to a year and move on. I spent 10 years in Boise putting down roots, and I have no desire to do that again, so I am planning on staying mobile.   I also like the nature of contract work.  I can be very technical, solve the problem and move on.  No need for the politics of a company or the drama.  I enjoy the technical challenges of developing software, not so much the politics. 

As for my collections, when I lived in Boise I had a extensive CD, DVD and Book collection.  Around 5000 hard bound books, over 1000 music cd’s and over 1000 movies.  Now that I have pretty much gone mobile and all these collections are digital. 

I currently have over 40,000 digital books.  This includes books in EPUB and Kindle (mobi) format.  Both public domain works and books I have purchased.  As I mentioned before I really like http://oreilly.com/ for technical books since the have them in a variety of formats, but I also get a lot of technical books from APRESS as PDF’s and Amazon.com for my Kindle.  I try not to buy any physical copies, since those are hard to carry around :-).  Most of my older science fictions I get from Baen books.  Other books not available in EPUB format I but from Amazon.com and have them on my Kindle DX.  My current electronic book collection is a little over 15 gig in size.

I have over 12,000 tracks of mp3’s I buy from Amazon.com.  Most of these are classic rock, but I admit I  have some pretty weird albums in my collection :-).  I have my album collection stored on my two laptops, my 512 gig passport and finally the main copy is on my IPOD classic (120 gig). My current music, audio book and podcast collection is about 100 gig in size.

Movies I get through either net flicks or purchase them from amazons video on demand service.  My digital movie collection on Amazon.com is now about the same size as my old collection used to be.  Most of these I leave on the Amazon servers.  Only a few have I downloaded.

My software is stored as ISO images.  All my software from Microsoft I get from my TechNet subscription and store it as ISO images.  I then mount this using Magic Disc (a very cool utility that gives me a ton of virtual CD’s). If the software comes on a CD then where possible I take a CD and copy it to an ISO image and then mount the ISO image.  I store the CD’s in my CD case.  These are my biggest headache currently.  I am trying to get all my software digitally so I can get rid of the CD’s.  Sadly the biggest issue is the software CD’s for portability.  Sigh…

Email and document storage is all courtesy of Google apps.  I have several gigs of email on Gmail and am quite happy with it.  Everything else is stored on my laptops and my passport.  This combination makes it very easy to have all my primary files available digitally.  Digital pictures I keep on a a 16gig SD card and then stored on the passport and the IPOD.

So there you have it.  Over a year and most of my life is nothing but bits stored on local drives or in the cloud.  Kind of scary when I put it that way :-).

Sunday, July 12, 2009

Sony Ebook Reader or a book shelf of half a million plus…

I recently picked up a new gig in Portland at just about the same time as my Kindle died.  With the death of my Kindle I was looking for a new ebook reader.  The kindle2 was out but I really liked the specs on the KindleDX.  Problem was the DX was not going to be out for a while.  To aggravate the situation I now have a 45 minute commute into town on the train. 

Now don’t get me wrong, the train is a great way to go.  No traffic and I get some exercise walking back and forth to the train station (2 miles a day).   The problem is a 45 minute ride leaves me bored to tears.  My lifestyle is such that I no longer want to collect a ton of hardcover or paper back books.  I have over 5000 of these in storage in Idaho and don’t need anymore. The kindle worked great for me because all my books were digital and I could carry them around in my hand.  

I really wanted the DX, but those are all on back order and anyone who knows me knows I hate waiting for toys.  I decided to get a Sony PR700 series ebook reader for the short term.  I will still probably get a DX so I can read the Wall Street Journal on the way to work and because it is easier to read my PDF’s on.

I have started to collect a lot of ebooks and wanted to switch to a standard format that I keep my main library in.  I have standardized on the epub format because it is a open standard that has no DRM.  This means I can easily play with books in that format using .NET since an epub is simply a zip file containg a standard set of files a content in html.  These files include:

  1. A xml file containing the bibliographic data for the publication (title, author, publisher, etc…) in Dublin Core format
  2. A xml file containing the table of contents
  3. The contents of the publication in a series of html files
    So it is easy to build up a collection of EPUB files that are self contained and highly compressed.  The entire Gutenberg collection of 28000+ epub books takes less then 11 gig of space.  In addition, with Sony you have access to the entire Google library of over half a million public domain books (all in epub format).    I should stress here that it does not require a Sony reader to access this library. 

OReilly is publishing their books in EPub, PDF and mobi (Kindle) format.  So if you want to read Programming WCF Services on your Kindle, Sony or even IPhone it is easy enough to do. 

Finally the relevance to the title above.  You can download any of Google’s Library of EPUB books easily without owning a Sony reader (say you want to read them with Stanza on your IPHONE).  To do this:

  1. Download the Sony Reader from http://ebookstore.sony.com/google-ebooks/
  2. Register with the site
  3. Click on the Unearth a Classic link on the far right
  4. Search Google books for books of interest
  5. Download those you want

You may also get free science fictions in EPUB/Stanza format from Baen books, and there are other source all over the net.  Almost all of Project Gutenberg is now available in EPUB format.  I will be posting a mass downloading utility for Gutenburg in a later post that allows you to download all 38,000 plus epub books from project Gutenburg. 

So there you go.  EBooks have more then arrived, they have over run the competition :-).  Believe me my 40K+ ebook collection is much more portable then my 5000 book collection was (and is easier to search).

The only drawback I have discovered so far is no EBook reader on the market today can handle the collection I have acquired.  So like any good developer I am writing my own.  More to come on that later.

Darrel

Saturday, May 16, 2009

LINDUG: The LinkedIn .NET Users group

If you do not make your regular user group meetings, or don’t have a user group in your area, you may want to join the Linked .NET Users Group on www.linkedin.com.  It is a virtual .NET Users group of 24,000+ members.  They sponsor webinars and have some decent discussions. 

Some upcoming webinars include

For that matter you can always join the Elegant Code group on linked in.  If nothing else it keeps David out of trouble :-).

Friday, April 17, 2009

C Style operators in SQL Server 2008

I started off my programming career developing C applications.  This was primarily because I did my work on Mini computers running UNIX.  Almost unheard of at the time :-).  For the first 14 years from 1982 to 1996 I developed my applications in C.  During that same time frame SQL came along for relational databases.  Now I had SQL, C and Embedded SQL for C.  Throw in curses for developing screen applications and what more could a developer want? :-).

In late 1996 I began developing applications in Visual Basic 4, and found events.   Very cool.  But I still missed some of the features I had grown to love in C.

Recently I noticed the section on compound operators in SQL Server 2008.  This is interesting since these are the first new operators added to SQL Server in at least the last 8 years.  SQL server 2005 and SQL server 2000 both had the same list of operators.  Now Microsoft has added some new ones.  In addition adding the BackSlash operator is just a nice little bonus (now if I could just get my ternary operator (?:)).

I guess a good thing about starting my career developing C has been that all the new languages (including SQL server) are going back and picking up some of the concepts from C.  K&R should be proud :-).

New expression operations in SQL Server 2008 Tranasact-SQL

  • += (Add EQUALS) (Transact-SQL)
  • -= (Subtract EQUALS) (Transact-SQL)
  • *= (Multiply EQUALS) (Transact-SQL)
  • /= (Divide EQUALS) (Transact-SQL)
  • \ (Backslash) (Transact-SQL)
  • %= (Modulo EQUALS) (Transact-SQL)
  • &= (Bitwise AND EQUALS) (Transact-SQL)
  • |= (Bitwise OR EQUALS) (Transact-SQL)
  • ^= (Bitwise Exclusive OR EQUALS) (Transact-SQL)
  • ~ (Bitwise NOT) (Transact-SQL)

  • Thursday, April 2, 2009

    Some Themes and a Little Crimson and Gray

    image

    I have been working on themes for WPF and Silverlight applications.  I found this one for SilverLight and WPF.  It is called shiny red.  Gotta love that.  Nice bit of crimson and gray.

    As some of you know I am a bit of a WSU fan, so I love this theme.  They also have a couple of purple ones.  Needless to say I deleted those.  Pure evil they were… :-).