Sunday, February 26, 2012

Ergodex DX1 Suite 2.01.0055 Release

I have just published a new version of the Ergodex DX1 software.  This version mostly just adds one feature - persistence of configuration data between runs.  In my opinion this turns this software from near useless to a viable solution, depending on your reliance on macros.  Macros are still not supported, but they are the next big feature to implement.

The application can be downloaded from the product page at: http://www.in-character.com/Pages/ErgodexDX1Suite.aspx

Wednesday, February 1, 2012

Ergodex DX1 Suite 2.00.00 Release

DX1 Software Release
This post serves as the release of version 2.00.00 of In-Character's Ergodex DX1 control and configuration software.  This is support software for a piece of hardware.  If you do not have one, it's most likely a complete waste of your time to get this.  However, if you just want to see what I am up to, there is a DX1 simulator that will start automatically if you do not have a DX1 device attached.

For details on this product, please see:

 http://www.in-character.com/Pages/ErgodexDX1Suite.aspx

The release is here:

http://www.patrickvhines.com/Releases/Ergodex_DX1_Suite_2-00-00.zip

Friday, January 13, 2012

label:unread

Unread Mail in GMail
I exclusively use GMail as my e-mail client for all my mail.  For the most part, I keep things read, responded to, up-to-date.  But occasionally, one slips through the cracks.  When this happens and I notice, it's not a big deal.  But occasionally, one gets by and it is months before I notice.  If it is recent, I can use the "All Mail" link to find it and make sure it is not important.  But there have been a few over the years that really slipped through the cracks.  

In addition, I don't delete e-mail.  Google stores it all for me.  The result here is that somewhere in my mailbox with Google there were about 130 unread mails.  As of this writing, I have 22,445 e-mails stored in my mailbox.  Going through this to find the unread mail is not feasible.  One would expect an easy way using the Google Mail interface to see this mail.  But if it exists, it is certainly not intuitive (or I am just blind to it).  

Labels
The solution to this is the Google Mail label feature.  You can assign labels to e-mails based on rules.  For example, if you e-mail me at my work e-mail it is automatically labelled as "phines@quadrus".  An easy interface is provided on the left where you can click a label and see only items that are tagged with that label.  In addition to these custom labels, there are some labels that Google manages and automatically apply to e-mails.  For example, when you click on the Inbox, you are actually just viewing e-mails tagged with the Inbox label.  The Inbox link is just a convenience, but you can also search for labels.  If you go to the search field at the top and type in "label:inbox" you get the same list of e-mails displayed as if you clicked the Inbox label on the left.

The Unread Label
There does appear to be a label called "unread" that is applied to unread e-mail.  If you go to the settings where you can manage your labels, there is a section for system labels.  However, this label is not listed.  I have no idea why.  I would expect this to be listed as an option, and default to being on.  There should, in my opinion, be a link on the left called "unread" that makes this easy.  But whatever the reason, this has not been done.

The Solution
While not exactly "user-friendly", the unread mail can be displayed.  If you go to the search field at the top and enter "label:unread" as your search term, you will see only your unread e-mail.  Hopefully Google will make this more user friendly.  

Tuesday, November 1, 2011

Windows 8 Developer Preview: Driver Installation for XE700T1A

Continuing Saga
In my last blog post, I detailed my initial setup of the Windows 8 Developer preview on my Samsung XE700T1A-A04.  As of the end of that post, I showed how to install the base OS, but several capabilities were not there.  The motion sensor did not appear to work as expected, and I had not yet been able to demonstrate pressure sensitivity with the pen.

In this post, I will dive deeper into those two issues.

Motion
This is a required feature in my mind on a tablet.  It is one of the little things that becomes huge about the 3rd time you do it.  It worked great on the device while it was running Windows 7, but it was not working after the Windows 8 install.  The slate always is in a landscape orientation.  When you turn the tablet to a portrait orientation, the user interface should detect that and rotate, but it did not. 

Looking in Device Manager, I saw two issues.  One is identified named "SM Bus", but the other was just an unrecognized device.  Samsung has provided a XE700T1A-A03 Driver Page.  I downloaded the driver for the motion sensor.  Upon trying to install it, I got an error that I was using an unsupported OS - it was written for Windows 7.  But, wait, didn't Microsoft tell us that anything for Windows 7 would work on Windows 8?  So, I got brave, selected the file in Windows Explorer, and clicked on Application -> Troubleshoot Compatibility in the ribbon bar.


I went through the menus to configure the "setup" application to run in Windows 7 compatibility mode.  This Got the driver installed, but the orientation still did not rotate with the tablet.  There was one setting left to set:

  • Search Charm -> Settings -> "Orientation" -> Change screen orientation
  • Check "Allow the screen to auto-rotate"
  • Click OK
Eureka.  I had rebooted after the driver installation, but don't know if this is required.  The system did not tell me to, it was just a step I took to try to get the driver to work before I discovered the checkbox above.  Note that there is an approximate 1-2 second delay between rotating the screen and the orientation changing.




SMBus
Earlier I noted that there was a "SMBus" entry with an error in Device Manager.  This was easily resolved by downloading the chipset driver from the XE700T1A-A03 Driver Page and installing.  This went off without any issues, just note that after it decompresses there is a long pause, maybe as long as two minutes, but eventually the installer did start.  After installation of this package, the SMBus no longer had an issue.  A reboot was required.

Pen
There is a pen driver on that driver page, but the installer does not appear to do anything.  I have tried Windows 7 and Windows XP compatibility mode both with and without running as Administrator.  In all instances, I get a wait cursor for a very short time and then nothing.  No evidence at all that anything happened.  This one is still on the to-do list.

Thursday, October 27, 2011

Installing Windows 8 Developer Preview on Samsung XE700T1A

Warning:  It has been reported that removing the backup partition on the SSD of this device has rendered the device useless.  Do this at your own risk.

Destruction of a Beauty
I recently purchased a Samsung XE700T1A-A04 from the Microsoft Store in Seattle (thank you brother Mike for helping me with this, and thank you Microsoft for the free phone).  It is a wonderful tablet.  I've been using it at work for the last 2 days and love it.  Battery lasts good, touchscreen works like a charm, pen does too (although why do you ship a Wacom-enabled tablet with no pressure-sensitive drawing program...)

But the reason I bought it is as a development target for Metro applications.  So I need to get the Windows 8 developer preview up and running.  This post chronicles that experience, be it for success or failure.

Basic Process
The basic process seems to be the following:
  1. Format / Copy the installation media to a 8 GB USB key using the Windows 7 USB DVD Tool
  2. Boot with the USB key
  3. Install Windows 8
  4. Start making money
Setting up the Key
I am using a 8 GB Sandisk key I picked up at Wal-Mart for about $18.  I was shocked I did not already have a big enough key sitting around, but I didn't.  The install media is over 4 GB, and most of my keys seem to be 4 GB.  

The first task was to install the Windows 7 USB DVD Tool.  This was painless and needs no explanation.  Luckily I already had the ISO for the developer preview downloaded, so no waiting there.  I started up the tool and it seemed pretty simple:  select the ISO, select the type of media [USB], select the device, hit go.  But it reported a failure.

Upon investigating the key, it looked like the first step - formatting the key - was successful.  So my next task was to manually extract the ISO to the key.  I used WinRAR to do this.

Booting to the Key
If you've been paying attention, then you probably didn't really expect that to work - well, neither did I.  We're obviously way too educated, because it didn't.  I did, however, discover a few controls of note on the Samsung Series 7 Slate:

  • Windows Key held during boot:  BIOS
  • Volume Up (up key)
  • Volume Down (down key)
  • Rotation Lock (enter / select key)
  • Windows Key [In BIOS] (escape / return / go to exit page)
You can use those to navigate through, turn on UEFI (hope that was a good idea), and get to the page where you set the boot order.  But you can't seem to actually change the boot order.  This was frustrating, but there seems to be an entry on the exit page to override the boot order and boot directly from a specific device.  I used this to boot to the USB key.

But that failed, it almost immediately booted up the Windows 7 already installed on the device.

"Upgrade" Install
Rather than spend more time remaking the key, which took about 45 minutes, I thought I'd check out what happened when I just put the key in while booted in Windows 7.  It recognized the install media and began the install process.  There were some very entertaining screens.  My favorite was the one that asked you what  you wanted to keep with a single option:  Nothing.  That's the stuff.  

But that failed.  Eventually, the system reboots, there is a boot options screen with a rollback, developer preview, and windows 7 option displayed on startup.  I chose the developer preview choice, which fairly quickly failed with a message stating that windows could not be installed on my hardware.  Disappointing, but not surprising.  I did not expect this to be easy.  I then booted to the "rollback" option and eventually got back to this state:


Not the most readable picture, but it is what it is.  The message states: "We're not sure what happened, but we couldn't finish installing Windows Developer Preview.  We've set your PC back to the way it was right before you started."

And it looks like they did.  Back up and running in Windows 7.  No drive space appears to be missing, at least no massive amount.  So, nothing broken, but still no Windows 8.

Back to Key Setup
Looks like the next step is to see if a clean wipe will run.  I located another utility to create USB flash cards for this purpose: WinToFlash.  I ran it and it ran much quicker, if not as user friendly.  I had to extract the Windows 8 ISO to a folder on my system.  There was a Windows 8 option in the menus for this tool, so that is promising.

I booted the system into the BIOS with this new key attached.  Once booted, I get the SanDisk option on the Boot Override of the Exit screen, but I also got a "UEFI: USB USB Hard Drive" option.  I suspect (but have not verified) this is something that is there as a result of the failed Windows 8 Install.  Looks like the system is not "quite" back exactly like it was before.  Upon booting the SanDisk option, I get a small surprise - the Windows 8 Setup actually started.  -- But I didn't get far.  I got an error stating:

Windows could not collect information for [OSImage] since the specified image file [install.wim] does not exist


This pointed to a problem with the installation media. I checked and the one I used was indeed bad. Once I got that resolved, I discovered a new issue - a required setup file is over the 4.x GB limit, and all of this USB key prep software is using FAT32. None of them were actually copying the main install file (install.wim).


The final path to solution seems to be this:
  • Download ISO of Developer Preview 
  • Extract ISO to local folder (we'll call it C:\Win8Install) 
  • Insert USB drive (we'll call it D:\) 
  • Format D: as NTFS 
  • Copy contents of C:\Win8Install to D: 
  • Start -> Administrative Tools -> Computer Management -> Disk Management 
  • Make partition assigned to D: active 
  • Run C:\Win8Install\boot\bootsect.exe /nt60 D: 
  • Power Off Tablet 
  • Insert USB Drive 
  • Power On - holding down Windows Key 
  • When BIOS loads - press Windows Key 
  • Use Volume up/down keys to select the USB drive as the boot option 
  • Press the Rotate Lock key 

The tablet should now be booting up with the Windows 8 Developer Preview installer. Run the installer as normal - installation out of scope of this blog entry

Updates:

  • Camera is working
  • Switching orientation by rotating the slate is not working
  • Pen is working
  • Expression Blend 4 will not install unless you use a mouse

Thursday, October 20, 2011

Tesla Mark II

The Next Generation
Like many mid-30-year-old geeks out there, one of the shows I grew up on was Star Trek: The Next Generation.  As I look around our current technology landscape, I am constantly reminded of the picture of technology that was visualized in that setting (and what led to it).

From phones:




To portable data storage:




To readers














To tablets:














Life really does tend to imitate art.

The Declarative Cockpit
Today I was informed of a new product that is soon to enter the market - the Tesla model S.  This is an all-electric vehicle.  It is quite impressive all around.  But what I found most interesting about it was the interior of the cabin:


As we become a touch-screen-centric society, it seems we keep getting closer and closer to user interfaces we all thought were rediculous.  Flying a shuttlecraft with a touch-only interface, how could that be done?  Never, give me my hard buttons.  That's what we all said.  Sure, it looks neat, but it's just not practical.



Or is it?  Our problem is we still think we are driving the car.  We still think we should be driving the car.  But we don't react fast.  We don't really understand what goes on under the hood, and for most of us, that's a good thing.  One thing that you want to do in software development, at least in some methodologies, is to encapsulate the imperative work - how you do a task - and create a consumable package that consumers will interact with using a declarative model - the consumer only says what they want to happen.

We are but a few layers of abstraction away from the runabout user interface.  I welcome the change.  I'm tired of waiting.

Wednesday, October 12, 2011

Surprising Outlet Experience

It is not often that I have a surprising online shopping experience.  Recently, I had the fortune of getting to purchase a laptop for a family friend as a gift.  We were on a fixed budget, so I spent a decent amount of time shopping for the right system, and for the right supplier.  My company uses Dell, so it was where I started the search.  I then branched out, but eventually returned to Dell since it is what I know.

But in pricing, I just couldn't find that sweet spot where the system was up to par and within budget.  Through some networking, I got referred to the Dell Outlet (http://www.dell.com/outlet).  I expected to find yet another storefront peddling the same wares under the guise of a great discount but with really no net benefit.  What I found was something else entirely, and worth sharing.

B-Stock
I use this term to refer to the not-perfect-off-the-shelf item.  These items are usually either refurbished or have minor cosmetic damage.  Whenever I can, I buy electronics as B-Stock.  I mean they're usually only good for 2-3 years anyway, and I personally consider anything that is out of warranty as beyond end-of-life.  As long as a B-Stock purchase comes with a decent warranty, I consider it a no-brainer.

And B-Stock is what the Dell Outlet peddles.

It is not entirely a consumer-friendly site.  But it was fairly easy to narrow down my search to the features I cared about and, with a small amount of hassle, find the system I wanted, a Dell XPS 15z.  This is one of Dell's newest line of systems, and there was a lot of B-Stock to choose from.  You can't customize the order, but if you don't mind checking and re-checking, a model that fits your needs will probably show up soon.

Once I made the purchase, the system shipped early the next business day, and was in my hand the day after that.  The total saving was around 25% over the best other deal I could find.  That is definitely not a trivial discount on high-dollar electronics.