A couple of weeks ago I picked up an Apple TV along with a HDTV. Lucky for me, Best Buy has created an apple section at Best Buy. I am very happy with Apple TV but not very happy with iTunes. Apple TV was pretty easy to hook up. I just had to hook up the power cord, an HDMI cable and type in my network password. It then asked me to type in a password on my computer and my iTunes library was linked. It started syncing all my content. I have it set to automatic so it picks up the latest shows and music. If you have more on your computer than what will fit on the Apple TV, it will stream from your computer. I was also very happy with other internet capabilities. They have a pretty slick interface to spend hours browsing You Tube. You also can hook up a flickr account and other flicker contacts so you can view photos. Those photos can also be your screensaver if you are listening to music on it. I was also very happy with the interface. It was extremely easy to browse movies and watch trailers. I have rented a couple of HD movies so far. This is a big step from Amazon Unbox on Tivo. Another thing that is better than Unbox is that you can start watching your movie within 60 seconds of selecting it. With Amazon Unbox you had to wait until it was done downloading and it was slow as hell, even on a 10 Mbps internet connection. Now, just so not everyone thinks I am an apple fanboy, I will point out a couple of negative points regarding Apple TV. First and foremost, I think they need more content. I think that this will get better, but right now it’s not the best especially if you are only willing to pay for HD content such as myself. The biggest complaint I have is the content being wrong on iTunes. I downloaded two seasons of Nip/Tuck and the first season has two episodes that are exactly the same. I watched an episode that was supposed to be at the end of the season towards the beginning which left me very confused watching things out of sequence. The second season had a show that was only 8 minutes long. The rest was chopped off and it appears that way on iTunes so I know it wasn’t problems downloading it. Regarding the first issue, I was refunded plus some. The second one is flagged to get fixed once my account has been charged. I pointed both issues out to iTunes and they are still offering the wrong content as of tonight. Their customer service wasn’t the best either. Despite these problems, the experience has been great and I recommend the product. I am filling up hard drive space fast though. I only have a 200 gb drive right now that is almost full with my media and backups of my computers. I think this all part of Apples evil plan to get me to buy a Time Capsule.
I thought I would share some of my mail with all of you in case you didn’t get the notice from Michele Bachmann. She sent me this flier that has print on both sides and is on pretty thick paper. She was just dropping me a note telling me how April 23rd is national TAX FREEDOM DAY. She is also working very hard in Washington to free up our tax dollars so we can decide on how to spend our money. She mentions all of the different taxes she is attempting to cut, but with no mention of who or what will suffer. What a trooper! OK, enough sarcasm, she is actually the second biggest mistake besides George “dubba” Bush. You can imagine my surprise when I look at the address it was sent from and see a little note which i have blown up for you. It says, “This mailing was prepared, published and mailed at taxpayer expense.” So let me get this right. Michelle Bachmann is spending taxpayer dollars to tell us that she is trying to cut taxes? With her proposed tax cuts, I wonder if the reduction in spending will come from her mass mailing campaigns or those less important things like eduction, bridge maintenance, healthcare and so on. Michele, next time you feel like informing me of your nonsensical message, don’t. Instead, keep that money. Don’t give it back to me, give it to the teachers that are buying school supplies for their classes out of their own pocket or the people that are not getting medical attention they need because they don’t have insurance or their insurance doesn’t pay for the necessary procedures. Now for the icing on the cake, I received this junk mail on Earth Day! This just goes to show that Michele’s ignorance isn’t just limited to one particular political issue.
Tonight while checking LinkedIn, I actually clicked an ad!! It is a pretty cool product to help you prototype your user interfaces on a white board. This would have been very useful on the Experimentation Platform we developed awhile ago at work. It’s called GuiMags.
Yesterday I attended Twin Cities Code Camp 4. This was my third code camp. It was probably one of my favorite ones. I went down to the cities with James, Manohar and Jordan. We also met Joel D a former developer where I work. It was kind of nice that they had some classes that were not strictly .NET. They actually had a RoR session, although it was pretty basic. The only thing that was mentioned that I hadn’t learned yet was the concept of using tasks to populate table in your database. It was nice to confirm that I was on the right track with rails. No pun intended! I am hoping that their might be a more advanced rails session for Code Camp 5. The second class I attended was regarding new features in SQL Server 2008, SSIS and SSAS. This was a pretty interesting class, however towards the end my mind was wondering. It was also kind of worrisome how he kept using words like “flaky”, “unstable” and others when describing features. He won’t be a salesman anytime soon for SQL Server. Anywho, some of the new features that I thought were cool that I am looking forward to are:
Intellisense in SQL Server Management Studio.
Regions - These are similar to what you see in C# code, however, there are some caveats according to the speaker. You can’t have comments in your regions. Pretty stupid if you ask me.
Insert multiple rows using one insert statement. This one i will use. I have actually attempted to do this before, so I am looking forward to this one.
Grouping Sets - Didn’t catch this one totally. If your dying to find out, google it.
Merge (Upsert) - This is a new keyword and functionality that I know I will use as well. This is where you have two tables and if a record is in one and is in the other it will run an update statement. If the record in one isn’t in the other one it will run an insert statement.
Star join query optimizations for joining facts to dimensions.
Change Data Capture - This is a feature that records DML changes for a table to another table, so you can track data changes. The current implementation does not allow you to record who is making the change. Also, if you want to add another column to a table you have to set this up all over and lose all your previous history. Just another anti-agile feature from microsoft. Come on, who has database tables that don’t ever change.
Sparse columns - This was demonstrated and was pretty cool. For two given tables, one with sparse specified on a column and one without, it made a huge difference in the size of the table with the same data inserted.
Filtered indexes.
Hierarchical Data Type - Here is a good post on this. Oracle has had this for quite sometime. You can see how to use it here with Oracle. It is pretty straight forward. I used this in queries at my past job and having this can remove some craziness in your data model.
I also went to “Things every ASP.NET developer should know.” Don’t let the title fool you into thinking that it was for beginners though. He got into some interesting stuff with IIS and querying IIS logs to figure out problems, HTTP Compression and setting expiration of content in IIS. “Writing better code” was also a great session by Jason Bock, the organizer of this event. One thing that he mentioned that resonated with me was keeping your coding standards to less than three pages. This is something that I think was a very good point. Currently the standards we use are many more pages than that, not to mention the SQL Server standards on top of that. I will be reducing our coding standards in the next couple of weeks.
Overall, it was a great code camp. I feel fortunate to be able to attend as do my teams. Free food, free event with high quality content. You can’t go wrong!
I am current working on a project and needed a date picker. I found a pretty decent one called CalendarDateSelect that integrates very nice with Ruby on Rails. It comes with a few themes. All you have to do is include the corresponding style sheet. It is pretty easy to customize as well.
In Leopard, Apple introduced a new backup solution that is pretty sweet. It is called time machine. It allows you to go to any folder in any point in time. It makes backups of changed files every hour for a day, every day for a week, and a backup for every week for as much space you have. Many products offer this kind of solution, however, I think that apple again differentiates themselves by the ease of retrieving files from your backup with the elegant user interface. Below is a video of this in action. What really amazed me tonight was that it just wasn’t folders/files you can retrieve, it works with applications. I entered time machine while i was in my mail program. My desktop dropped as I entered time machine and my computer went into the time machine universe. All of a sudden I was able to go view my inbox at what it looked like at any point in time. Try not to be too jealous Jeff.
Tonight I was visiting space150’s website. I decided to view the source of their website because I was curious and there was a surprise. Check it out! Pretty clever if you ask me.
Today I spent some time trying to improve the speed of our CI/Nightly builds with TFS. While we found out that it was a backup solution that was causing the majority of our problems, I also found that we were not doing incremental builds. If you put this at the bottom of your TFSBuild.proj file, TFS will only do get of the files that have changed instead of getting all files. Doing this took a 10 minute build down to 20 seconds. Much Better!
Even though I got made fun of for about a half hour straight last week at leadership training for going to Code Camp by sales/marketing people, I thought I would mention the next code camp is coming up on April 5th. I am pumped up for this one because it has a variety of sessions that are different from the MDC conference and previous code camps. I am a little sick of hearing about LINQ and the 3.5 framework. This one has sessions on the MVC framework and SQL Server 2008. There is even a Ruby on Rails one. Since this is on a Saturday, typically a non-work day, I am going to this session and not even going to feel guilty. It is an introduction class though so I don’t know how in depth it is going to get, but I am sure I can get something out of it. Here is a schedule for the event. Did I mention that it is free?
It has been one week since the F1 Web Challenge and I think I have finally recovered. It was a very fun event. It was actually longer than 24 hours. I was up for 36 hours!! It was on the U of M campus (St. Paul). There were eight of us on a team. My team consisted of 4 other co-workers, 2 former co-workers and one back up who worked for the sponsoring company. We had six developers, one webmaster and one project manager/BA. IMO, David probably worked the hardest. I think next year if we do this again, we need to bring two webmasters. Our organization was Hope Chest for Breast Cancer. They have a very unique business model in which they receive very high end merchandise from donors and turn around and sell it in one of their two stores for a fraction of the price. The proceeds are then given to organizations that assist people living with breast cancer. They were very energetic and prepared. They did have a lot of requests though so we weren’t able to get them all done, but they do have a functional website. It is not up yet though. I hope we will have it up within the next two weeks. Below are some screenshots. Next year we will also need to have a designated driver. I got 30 minutes out of the cities and realized I was going towards Duluth and not St. Cloud!