Jun 23

On loan from my brother-in-law is his ZAGGfolio keyboard and cover for the iPad 2.  For all of it's advantages, typing out long blocks of text on the iPad virtual keyboard is tedious at best.  For writing lengthy emails and performing tasks such as blogging, attempting to do so via the iPad virtual keyboard simply is not practical.

I've had my eye on a ZAGG solution for awhile, but wasn't completely sold on the solution and was not ready to commit without some first-hand experience with the product.  After having used the ZAGGfolio, off and on, for roughly a week, I'm fairly impressed with the product overall.  The keyboard has a high quality feel to it, and offers a solid tactile response to the keystroke.  The key spacing and layout is quite natural to anyone comfortable touch-typing on a smaller keyboard, such as that which might be present on a sub-compact or netbook computer.  The responsiveness of the keyboard to screen interaction is really quite impressive.  I don't have a great deal of experience with Bluetooth keyboards, though I have used a number of different WiFi keyboards and found them to suffer somewhat from lag or latency.  Battery life seems to be quite good.  The integrated stand feature is designed solely for landscape orientation - there isn't a good way to leverage the stand feature in a portrait orientation.  However, with a redesigned latch system, support for portrait orientation could have been a possibility.

I have found the that latching mechanism leaves a bit to be desired.  One must position and align the cover against the keyboard properly in order to put the device into a latched position.  There may have been a better way to accomplish this, such as through the use of a magnetic closure system.  Also, after having grown so accustomed to carrying the iPad in its natural state, I can't quite get over the extra bulk and weight of the ZAGGfolio.  For most who do use a shell or one of the bulkier rubberized covers, the ZAGG would not likely seem an issue.

Overall, I'm quite pleased with the product.  Like nearly every iPad cover (keyboard or not), the cost continues to amaze me, and the ZAGGfolio is no exception.  At approximately $100, I would strongly consider buying used on eBay, and likely wouldn't pay more than $65 to $75 for it...

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

May 28

Writing this via the new Yahoo Axis browser on my iPad 2.  There are some intriguing features which make Axis appear to stand out from both Safari and Opera.  Axis is well worth a look, especially for the Yahoo account holder.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Apr 8

The Passat turned 75,000 miles a week ago last Saturday - appropriately, on the way home from her routine pre-registration smog check.  She has served us well these past 10 years, and seems ready to continue doing so.  I snapped a photo of the odo turning 75k for posterity:

Passat 75,000 Miles

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Apr 7

Because I'm tired of sifting thru recipes written on scraps of paper when I'm in the mood for a good Margarita.

This recipe was lifted from somewhere on the web - it is not mine, and I don't recall having modified it from the original in any way.

  • 1 1/2 cups tequila
  • 1/2 cup orange liqueur (Grand Marnier)
  • 1 can frozen lemonade
  • 1/3 can beer - light beer, the least hoppy you can find (Bud Light, Tecate)
  • 1 lemon - juiced
  • 1 lime - juiced
  • 2 Tbsp sugar
  • Water to taste and ice

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Mar 21

More on this topic later - for now, posted on the About page at gallery.PigsLipstick.com:

The media gallery at PigsLipstick.com, now hosted with zenfolio.com. In the spirit of simplification, I have elected to move my media hosting to a service.

For the investment made in customization to the legacy media gallery that I self-host at www.PigsLipstick.com/gallery using zenPhoto, I will retain the implementation as-is.

Sadly, I found that my schedule and life-obligations simply aren't conducive to the model which requires high-touch involvement to the population and maintenance of a proper media gallery, and that a service, such as that offered by zenfolio, solves these, and other problems. There truly is a reason why so much of what we do online is moving into the proverbial cloud.

I am excited for the new adventure - hours of painstaking due diligence have gone into the final decision to move this effort to a service provider, and to ensure that I have selected the right one for my purposes. While I forfeit complete control and a richer set of minor features, what I gain in performance, ease of use, and a model that lends to adoption makes the wiser decision. In other words, I will tend not to entangle myself in the weeds of web app development and administration by relinquishing some control in favor of pure function of design and purpose. Free at last...

Welcome, and enjoy!
Adam Krause

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Feb 2

Seems I've got a thing for Microsoft Mice - the MS Arc Touch Mouse has become such a personal favorite for use at home with the HANNspree HANNSbook that I looked no further than Microsoft's Touch line for a work-appropriate model to replace the corded beast that lived tethered to my docking station.  The bigger brother to the Arc Touch, the Microsoft Explorer Touch Mouse gives a similar user experience by way of a touch-driven scroll "wheel", but supports virtual flick-scrolling in both the Y (up/down) axis, and the X (side-to-side) axis.  This provides great freedom in traversing large docs/windows and is surprisingly liberating in practical use, and while not as sexy as the Arc Mouse, the Explorer Mouse is a better pair to my IBM Thinkpad with ergonomics and durability that are more conducive to continuous work.

I will report that, unlike the Arc Mouse, the Explorer does not suffer from the same left/right button quirkiness that continually leaves me hunting for the sweet spot on the mouse buttons of the Arc.  In face, to date, I've yet to find any deficiency in the design or function of the Explorer.

Retailing for upwards of $50, like the Arc Mouse, I scored my Explorer as an open-box special at Best Buy for about $35.  Considering the practical application and shear amount of time spent pushing a mouse around on my desk, even at $50, the Explorer seems a bargain.

Microsoft Explorer Touch Mouse

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Dec 23

I recently came across a puzzeling scenario which required a flavor of denormalization of data in an Excel sheet, and while it doesn't fit the traditional definition of normalization/denormalization, it's still not a bad way in which to view the problem.

In essence, the dataset that I was dealing with contained a unique value, or "key", in the first column, and a series of associated related data in subsequent columns, on a row by row basis.  The dataset represented a one-to-many relationship between records in two disparate systems where the first column represented a defect ID, and all subsequent columns contained incident IDs.

The goal, in this exercise, was simply to produce a denormalize representation of the same data listed the entire dataset in only two columns - providing a distinct, or one-to-one relationship between each defect ID, and an incident ID, where the defect ID was repeated for each related incident ID

A fair amount of exploration into Excel's pivots, transpose, and standard set of functions left me empty-handed in solving the problem.  In the end, leveraging a VBA script as the basis for I've provided here did solve the problem.  This script will iterate through each cell, starting with the second column, on a row by row basis.  The first column, or key, is preserved while the data in each cell is pasted into the second column, row by row.  The procedure then moves to the second row of source data, preserves the key, and so on.  Once each row of source data is denormalized, the procedure will fill-down the key data in order to create the one-to-one relationship.

So, a table that looks like this:


Is translated thusly:


The procedure works equally well with variable row length data.  Note in line 7, the procedure will only handle data up to column "dk".  This can be expanded, or reduced as needed.

And following below, is the macro which produces the results described above:

Sub DenormalizeKeysToData()
Dim i As Long
LastRow = Range("a65536").End(xlUp).Row
For i = 2 To LastRow
Range("a" & i & ":a" & i).Copy
Range("a" & Range("b65536").End(xlUp).Row + 1).PasteSpecial xlValues
Range("b" & i & ":dk" & i).Copy
Range("b" & Range("b65536").End(xlUp).Row + 1).PasteSpecial xlValues, Transpose:=True
Next i
Rows("2:" & LastRow).Delete
Application.CutCopyMode = False
For Each Cell In Range("a2:a" & ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row)
If Cell.Value = "" Then Cell.Value = Cell.Offset(-1, 0).Value
Next Cell
MsgBox ("Finished")
End Sub

Hope this saves someone a lot of time and energy...

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Dec 18

I'm no Microsoft peripherals/hardware fanatic, but one thing that this company does consistently seem to get right are their mice.  Case in point is the Microsoft Arc Touch Mouse - though it seems to get mixed reviews on functionality, but high points for overall design and appearance, I find it functional, comfortable, and stylish.

Functionally, the Arc Touch Mouse stands up well against all of the normal day-to-day tasks that I ask of it - including standard office tasks, development, web browsing, and light graphics work.  The BlueTrack sensor permits more reliable, less jittery use on traditionally less mouse-friendly surfaces such as reflective table tops, fabric, and uneven surfaces.  The same sensor technology makes this mouse very easy on battery life - running the same set of AAA batteries, I've yet to replace them after nearly six months of daily use.  The virtual scroll wheel gives user feedback through a tapping sensation - I find it both accurate, and true to its physical cousin.  The mouse un-arcs (i.e.: flattens) to turn it off, and for portability.  This mouse comes with a low profile USB receiver that can be left in the computer, or "sticks" to the bottom of the flattened mouse magnetically for storage.

From the standpoint of comfort, the Arc Touch Mouse has taken some criticism over its light weight, and untraditional form factor.  I find neither the weight, nor the form factor to be limiting or compromising in any way.  In fact, the shape of the Arc Touch is very well suited, I think, to a user looking for a standard desktop mouse feel while retaining portability.  The rubberized coating over the rear-half of the mouse keeps it fully in-hand while (again) the BlueTrack sensor keeps the mouse responsive under most any condition.

Appearance - well, there aren't many mice that can compare in elegance of design to the Arc Touch.  It lends itself well to pairing with any modern computer.  The shape and less-is-more design of the mouse makes it rather fetching, and a real conversation piece.

What would I change?  Only one thing - the sensitivity of the left and right mouse buttons, while fine, is only fine at the upper confines of the respective buttons.  Moving the button sensors down just a little further (toward the user's wrist), such that the sweet spot for a left or right click was approximately one inch from the front of the mouse, would make it just a little more functional.

Finally, I purchased my Arc Touch Mouse on an open-box discount at Best Buy for just under $50.  They can be purchased for less via Amazon, but are still at the upper reaches of what a two button mouse "should" cost.  This is no gamer's mouse - look elsewhere if you require multitudes of buttons and programmability.  However, if you're shopping for a highly portable mouse with strong basic functionality, do consider the Arc Touch.

Arc Touch Mouse

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Dec 17

After all these years of cursing Windows Remote Desktop when it came out of full screen mode, I took the twenty seconds necessary to find the hotkey combination that puts the RDP window back into full-screen.  For future reference: Ctrl-Alt-Break.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Dec 9

In early July of last summer, I picked up a sub-notebook - the HANNspree HannsBook SN12E2.  This was a rare indulgence to replace an aged Dell Latitude D600.  The D600 served me well, having gone through several full tear-downs and rebuilds - right down to replacing replacing several components on the motherboard itself.  One of D400 tear-downs can be found here.

  • Several criteria leading to the selection of the HANNspree came front and center:
  • Small - sub-notebook sizing, similar to my D400.
  • Reasonable processing power - better than the typical netbook/ATOM CPU-based unit.
  • Quality screen - high-powered graphics optional, just a clear, reasonably high-def screen.
  • Battery life - several hours, reliably.

The HannsBook, to date, has delivered on all of my criteria and even exceeded expectations.  With its dual-core Intel 1.3GHz CPU, 4GB RAM (upgraded from the factory 2GB), 800MHz buss, and 12.1" LED HD screen, the HannsBook gives a premium experience in a sub-notebook.  Three USB ports, VGA, the requisite LAN and audio ports, a multi-function card reader, and an HDMI port round out the interface capabilities.

The keyboard gives a refined, crisp experience.  The one exception - the track pad is hyper-sensitive, though still very capable and functional with a little technique and adaptation.  A button that lives between the left and right mouse buttons on the pad make turning the device on/off very easy, and for most "work", I will typically opt to use my MS Arc Touch Mouse (which, incidentally, pairs very nicely with the HannsBook for additional elegance and coolness factor).

The HannsBook can be a little tough to come by - there is a HANNspree store in San Francisco.  Even retail, the SN12E2 is a bargain, in my opinion; however, if you're as patient as I am with these kinds of purchases, the HannsBook can be found on eBay at incredible prices...this is where I found mine, with no regrets.

Highly recommended - check the reviews, this one might be for you!

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Oct 17
After so many iterations of functional, yet feature-poor Facebook for iPhone apps, they've finally pulled it all together (insofar as I'm concerned) to release an app that puts the depth and complexity of the administration of ones account onto the mobile platform. Long a major miss for someone who follows their FB feed on a mobile device exclusively, I'm thrilled to finally see a much richer overall UI, user experience, all of the administrative features, and I dare say, performance.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Aug 2

It's been a full month since the last post, and for good reason...this has been the month of changes.

These would include both the innocuous - many new acquisitions to review:  a new mouse, a new router, a new ISP, a new laptop, a new cable and VOIP service.

And also the more grand in scale - still more acquisitions, including a new pet, a new job at a new company in a new industry, and a new house.

Over the next couple of weeks, I'll take a run at posting frequently in an effort to catch up on all of that which is newly acquired.  Coming out of complete overload, I intend to start small, and aim low...Smile

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Jul 2

I've been pining for a mini-wireless keyboard for the Revo since the day I brought it online.  Originally, I had my eye on the very expensive Logitech diNovo, but decided it was too big an investment to trust to the abuse that our remotes must endure.  Once or twice I considered the Lenovo "T" shaped contraption, but decided quickly that the form-factor left a lot to be desired...not quite remote-material, but I expect that it has its place in the conference room (probably sitting next to the similarly-shaped, and ubiquitous Polycom).  And then it was the iPazzPort, with its Blackberry-meets-Palm form factor and somewhat unfinished appearance, making it look more like a college EE senior project than a marketable mass-produced product.

Well, I stumbled across the Rii Mini-Wireless Keyboard some time ago, and nearly pulled the trigger several times.  What stopped me were the reports around dismal range in the 2.4GHz model, but it had everything else that met my ideal concept of a mini-wireless keyboard...a trackpad, backlighting, rechargeable, lower cost, and good ergonomics.  Further, once the Bluetooth model released, it seemed that the range problems were finally addressed, with the added bonus of being pairable to the iPhone for easier data entry.

However, procrastination rules the day and patience pays off yet-again.  Recently, Rii released the N7 - a smaller, lighter, longer-ranged, and even better form factor, which places the track pad in the center of the device, and gives a more complete compliment of native keys to boot.

With the ultra-low profile receiver fob plugged into an open USB on the back of the Revo, the device was instantly recognized and was up and running in a matter of minutes.  Adjustable on the fly, trackpad sensitivity seems to be perfectly adequate for scrolling about the screen, range is good, and functionality is right on target.  What the device lacks at the moment is Bluetooth connectivity, but expect this is near-term on the product radar.

I purchased mine as an open-box item for a mere $25 + shipping through eBay - the device still smells new, and there is no discernible evidence of use.  Overall, this little Rii N7 mini wireless keyboard really fills the bill.

Rii N7

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Jun 19

I feel like I gave Netflix streaming via the Revo, through XBMC, a fair shake and reverted to the Wii.  See previous post concerning the setup and configuration - while functional, it is only marginally so, and not the native, tightly integrated experience that I was hoping for.  Viewing Netflix via XBMC felt a little too much YouTube-like - windowed, buffered, and tacked-on.  Once the Revo is on a hard-wire, and no longer reliant on WLAN, I may revisit...but for now, it's back to streaming via the Wii.

One of the primary reasons for moving away from the Netflix via the Wii in the first place was the propensity of the screen to darken and lighten depending on the scene.  This behavior is especially annoying in certain programming where scenes shift frequently and dramatically between low and high brightness - invariably, the darks are darker to the point of making scenes hard to distinguish detail in.

Now, it's been said that replacing the standard Wii composite video cable with the higher-quality component video, which splits the signal into three channels effectively eliminates this behavior.  Well, I can attest to the fact that it has little, if any bearing on this at all.  While there might be some improvement in overall image clarity, the most-annoying issue around normalization of brightness does continue to present a problem. Frown

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Jun 6

As a testament to the low priority I place on television viewing, we only just got around to streaming Netflix through the Wii - it was a novelty, a is fast becoming a staple in our media repertoire.  The problem with streaming through the Wii, however, is the horrid default transport medium.  In other words, streaming Netflix in low-res over an RCA composite cable yields marginal quality at best, and is notoriously unstable with regards to image quality.  This manifests as a vacillation between a dark, and light picture, and overall fuzziness.  Now, while I haven't sprung for the $30 Wii component cable to replace the default composite, I understand that this simple upgrade goes a great distance toward rectifying the image quality issues of the composite connection.

While the Wii UI to Netflix, and the overall experience, is passable, I did feel that the better candidate for the task was the Revo - here again, with its support for HDMI and overall flexibility, it seemed a natural.  Still running the tried and true XBMC on the Revo, step one was to upgrade from version 9 to 10 (10.1 is the current release).  This was achieved quickly upgrading XBMC to version 10.1 over the top of version 9, but resulted in some very undesirable behavior around UI responsiveness.  Regardless of the theme applied, or various minor tuning, I simply could not get to a state of reasonable UI responsiveness.  Rather than invest further in troubleshooting, tuning and applying band-aids on top of band-aids, I elected instead to uninstall XBMC altogether, and reinstall cleanly.  This singular step effectively resolved all glitchiness in the UI prepared the system for step 2 - installing Netflix.

Installing Netflix as an XBMC add-on is really quite simple.  There are a couple of paths one could take, but the easiest is simply to launch XBMC, navigate to Movies, select add-ons, and look for "XBMC FLICKS".  Install "XBMC FLICKS", and launch it.  The first run will eventually launch a browser and prompt you to authorize the machine to access/stream Netflix through it.  Once authorized, you will restart XMBMC.  From this point, once relaunched, XBMC is now ready to stream Netflix content through your Revo.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

(Page 1 of 22, totaling 321 entries)

Strict Standards: Declaration of serendipity_event_s9ymarkup::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_s9ymarkup/serendipity_event_s9ymarkup.php on line 146

Strict Standards: Declaration of serendipity_event_s9ymarkup::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_s9ymarkup/serendipity_event_s9ymarkup.php on line 146

Strict Standards: Declaration of serendipity_event_emoticate::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_emoticate/serendipity_event_emoticate.php on line 204

Strict Standards: Declaration of serendipity_event_emoticate::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_emoticate/serendipity_event_emoticate.php on line 204

Strict Standards: Declaration of serendipity_event_nl2br::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_nl2br/serendipity_event_nl2br.php on line 395

Strict Standards: Declaration of serendipity_event_nl2br::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_nl2br/serendipity_event_nl2br.php on line 395

Strict Standards: Declaration of serendipity_event_browsercompatibility::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_browsercompatibility/serendipity_event_browsercompatibility.php on line 80

Strict Standards: Declaration of serendipity_event_spartacus::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php on line 1183

Strict Standards: Declaration of serendipity_event_imageselectorplus::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_imageselectorplus/serendipity_event_imageselectorplus.php on line 1105

Strict Standards: Declaration of serendipity_event_imageselectorplus::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_imageselectorplus/serendipity_event_imageselectorplus.php on line 1105

Strict Standards: Declaration of serendipity_event_sidebarlogin::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_plugin_sidebarlogin/serendipity_event_sidebarlogin.php on line 148

Strict Standards: Declaration of serendipity_event_popfetcher::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_popfetcher/serendipity_event_popfetcher.php on line 1426

Strict Standards: Declaration of serendipity_event_lightbox::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_lightbox/serendipity_event_lightbox.php on line 281

Strict Standards: Declaration of serendipity_event_lightbox::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_lightbox/serendipity_event_lightbox.php on line 281

Strict Standards: Declaration of serendipity_event_tinymce::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_tinymce/serendipity_event_tinymce.php on line 291

Strict Standards: Declaration of serendipity_event_tinybrowser::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_tinybrowser/serendipity_event_tinybrowser.php on line 150

Strict Standards: Declaration of serendipity_event_prettify::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_prettify/serendipity_event_prettify.php on line 245

Strict Standards: Declaration of serendipity_event_xmlrpc::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_xmlrpc/serendipity_event_xmlrpc.php on line 160

Strict Standards: Declaration of serendipity_event_podcast::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_podcast/serendipity_event_podcast.php on line 939

Strict Standards: Non-static method TwitterPluginFileAccess::get_permaplugin_path() should not be called statically, assuming $this from incompatible context in /home1/pigslips/public_html/s9y/plugins/serendipity_plugin_twitter/serendipity_event_twitter.php on line 1554

Strict Standards: Non-static method TwitterPluginDbAccess::load_short_urls() should not be called statically, assuming $this from incompatible context in /home1/pigslips/public_html/s9y/plugins/serendipity_plugin_twitter/serendipity_event_twitter.php on line 1518