Google Chrome CR-48

I came home the other day to find a box on my doorstep. It was a pretty nondescript except for a UPS label so I had no idea where it came from or who sent it. I was pleasantly surprised to find a Google Chrome CR-48, the predecessor to the upcoming Chromebooks which are slated to be released in mid-June. I signed up back in December but never expected to get one but apparently Google has recently started sending them out to according to news reports. Anyway, here are my initial thoughts from playing around with the device for the past couple days.

Hardware

Keeping in mind that it’s only for beta testing, I didn’t expect much around the form factor and build quality of the… let’s call it a Chromebook. I use a MacBook Pro regularly which sets a pretty high standard around build quality. The Chromebook does take a lot of design stylings from the MacBook surprisingly. The chiclet keyboard, the size, trackpad (though usability isn’t even close). Entirely black, the case has a rubberized feel to it and doesn’t feel very sturdy, but again, it is a beta test unit. There are a minimal number of ports… VGA out, USB, headphone jack, and a SD card slot. Supposedly it has bluetooth, GPS, and support for Verizon but I haven’t gotten around to testing those features yet. The full hardware specs can be found here.

Operating System

So the main reason Google has been distributing these Chromebooks is to have users test Chrome OS. Ubiquitous wireless access, cheaper manufacturing costs, and most importantly the transition of traditional native applications to web-based applications that provide equal functionality has lead Google to believe that the traditional Operating System (Windows, Mac OS X, Linux, etc…) can be replaced with just a browser. Chrome OS is essentially a Linux variant that boots directly into the Google Chrome browser. Chrome has gained significant mainstream adoption in the past couple years and provides Google a stepping stone to increased adoption of the Chromebooks once they’re released in June. So essentially if you use Chrome today, the transition to using a Chromebook is seamless. And if you spend a considerable amount of time using Gmail, Google Docs, Google Calendar… you don’t really notice that the OS is missing. Boot time is fast and switching between users is quick and easy. With the Google Web Store finding and adding apps to your home tab gives you easy one-click access to your everyday apps.

Summary

While I spend a considerable amount of time using web applications today, my work requires me to use desktop applications to do software design and development. I haven’t found any web based application that can replace the ease and efficiency of their desktop counterparts so shifting my day-to-day use to just a Chromebook is not an option for me.

For a standard user, one that just reads e-mails, writes documents, and browses the web, the Chromebook should be an easy transition. Mainstream adoption will take some time though as people get used to the paradigm shift of moving their data into the cloud and learning how to navigate new apps.

What should be interesting in the next year is the response from competition. From Apple, it should be interesting to see what comes after iOS 5.0 and Mac OS X Lion. Supposedly the two operating systems are on a collision course. Throw in what people are speculating about the Apple iCloud and 2012 could be an innovative year for Apple. Microsoft on the other hand really needs to figure things out. If Google is successful with Chrome OS, it’ll greatly accelerate the decline of WIndows in the consumer marketplace even further. Microsoft has been touting Azure and the recently released Office 365 but I personally don’t know anyone that uses or raves about any of the Microsoft web applications.

Anyways, look for the new Chromebooks June 15th from Acer and Samsung. I think the Samsung version looks to be the better version of the two. It’s a little heaver but it has a longer battery life and a larger screen though the price may be higher from what I’ve heard.

Document object to String object (Java Code)

Converting a Document object to a String object in Java is an issue I’ve run into a couple times at work. I wanted to see the output of a WebService call response that was in XML in the console. Here’s a quick code snippet I found that handles this:

 

 

Terminal Server Exceeded Connections

Since I do most of my work remotely, I use the Remote Desktop feature of Windows often. I have at least 10 different machines and often time people are using the same machines and forget to log out. What results is the common message: “The terminal server has exceeded the maximum number of allowed connections”. The work around for this is pretty simple.

Open a command prompt as the domain administrator that the remote machine is set to

Next query the current sessions for the remote machine.

Now with the information, you can use the reset command to log off that user with the command below.

This will reset the session and now you can log in again.

AuthSub token has wrong scope

I was playing around with the Google Data API last night and I kept running into this error. The app I’m creating allows me to pull down a list of Google Calendars and then insert a new entry into the calendar that I select. Pulling the list was the easy part, adding a new entry was the tough part.

My problem was that I was declaring a ‘scope’ that was too limiting for any additional calls to the API. Instead of declaring the scope for ‘allcalendars’, I reduced the scope to the largest URI possible which is ‘http://www.google.com/calendar/feeds’

Be sure to read this this doc about using AuthSub with JavaScript before diving into the Google Data API http://code.google.com/apis/gdata/authsub-js.html

SSRS Switch Statement

The above statement is an example on how to use the ‘Switch’ statement in SQL Server Reporting Services. This example checks the ‘Orders’ value in a row and if the value is less than 100, displays “Red”. If the value is greater than 100, then display “Green”

Importing Excel Into SQL Server Using SSIS

I ran into an issue the other day while importing data from an Excel file into SQL Server 2005. I had columns that contained fields that have more than 255 characters. When running the import, SSIS failed because it kept truncating the fields which caused the task to fail. It fails because the Microsoft Excel ODBC driver will, by default, scan the first 8 rows of your data to determine the type of data in each column. To fix this, you need to go into the registry and modify the ‘TypeGuessRows’ to scan more than 8 rows. The key can be found in the following:

  • Excel 97
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel
  • Excel 2000 and later versions
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

Enable Remote Desktop Remotely

regedit.exe

This is a great tip to enable remote desktop:

1. Open the registry editor: Start –> Run –> regedit –> OK
2. Select the Connect Network Registry option under the File menu and find the machine you want to connect to.
3. Goto this key: HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server
4. Under the Terminal Server key, you’ll find a REG_DWORD value named fDenyTSConnection. Change this value to 1
5. Reboot the server through the command prompt: shutdown -m \\[server name] -r