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:

K1
D11
D12
D13
K2
D21
D22
D23
K3
D31
D32
D33

Is translated thusly:

K1
D11
K1
D12
K1
D13
K2
D21
K2
D22
K2
D23
K3
D31
K3
D32
K3
D33

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
Range("a1").Activate
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

Jun 3

I threw this together on a whim with odds and ends that I had lying around the kitchen.  Everyone had good things to say about it, so figured I'd capture it here.  This quick and easy (and healthy) stew took all of about 10 minutes to prep, and was ready to serve inside of 30.

Ingredients:

  • 2 cans black eyed peas drained
  • 1 can fire roasted tomatoes
  • 1 14oz can chicken broth
  • 1 to 2 cups prepared chicken chopped (1)
  • 1/2 large sweet yellow onion sliced
  • 1/4 cup celery chopped
  • 1 red jalapeno pepper diced
  • 2 cloves garlic sliced
  • 1/2 tsp chili powder
  • salt and black pepper to taste
  • olive oil

Directions:

Heat olive oil, add sliced onion and cook covered while preparing other ingredients.  Add celery, jalapeno pepper, and garlic, cover and cook until onion and celery are softened.  Add all other ingredients, cover and bring just to a boil.  Reduce heat and simmer for 15 minutes.  Serve hot and top with shredded white Mexican cheese blend and/or cubed avocado.

(1) I've really enjoyed keeping the Tyson Grilled & Ready frozen cooked chicken products on-hand.  Properly frozen, they maintain great shelf life and are very handy in a pinch - used in all sorts of dishes from soups and stews, to pastas and tacos, they greatly cut down on prep work and food waste due to spoilage.  Imparting a smokey grilled flavor, use of the product adds another dimension of flaovr to the dishes it is used in.  For this recipe, another alternative includes use of left over rotisserie chicken.

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

May 21

Today I performed the Pathfinder's first brake job.  At around 50k miles, and some occasional squeal, it seemed a good time to perform some maintenance.

I went into the project cold, having not bothered to look for and review others experience and/or tutorials published on the various Nissan forums.  I expected, with the universal brake service kit I'd picked up some time ago at Harbor Freight that there is virtually no caliper which could defeat me.  As it turns out, a brake job on a late model Pathfinder is a breeze.  With the impact wrench to ease the tedium of tire removal and fitment, the entire job was done in approximately 90 minutes, and I dare say I could have completed the same in closer to one hour if only I had a proper floor jack.  Somehow, performing the same tasks on the Passat is grueling, and I've never been altogether satisfied with the results. 

In part, the work I did today on the Pathfinder is meant as a product test of EBC's "Green Stuff" brake pads. Provided the EBC pads perform as well as most claim in various reviews, I plan to fit them to Passat in due time - the economy pads that are on the car now perform at around 70% of what I would call acceptable.  For the Passat, I'll probably marry the Green Stuff pads to the EBC Ultimax rotors as the StopTechs on the the Passat now are getting pretty tired.

With only approximately 10 miles on the Pathfinder since the service work was performed, it's a little early to call final success.  However, I can say that even without proper bedding and run-in time, the the Pathy is feeling more responsive to the brake pedal than it did even when new.  So, it's looking good so far for the EBC product line.

A couple of notes for safe keeping - I was not able to find what I felt was an authoritative source for brake caliper torque specs, so I went with my gut of 90 ft lbs in the rear, and 100 ft lbs in the front.  I'd see other specs, which were all over the board, and seemed far too light - some as low as 35 ft lbs.  These were some hefty bolts hanging some large dual piston (in the front) calipers, with considerable rotational force, stopping a fairly heavy vehicle, and could hardly imaging less than 100 ft lbs in the front.

Second, as should always be done with alloy wheels, getting an even torque across all lug nuts is important - for this, I found a reasonable sounding working range and went with 95 ft lbs all the way around - though I noticed later today that America's Tire suggests 105 ft lbs in their chart posted online.  I'll have to decide tomorrow if that last 10 ft lbs warrants breaking out the tools fooling around with the car again tomorrow.

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

Apr 16

Straight out of the headlines, it seems I'm not the only one that finds Palin a little immature, and full of hot air...at least she's (apparently) not dragging others down in her own special brand of tomfoolery.

Palin 9yr Old Full of Hot Air

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

Apr 2

Again, we settled on Disneyland as our Spring Break get-away destination.

I've been to plenty of amusement parks, but Disneyland (just like they advertise) truly is the "Happiest Place on Earth".  Customer service rules the day at Disneyland - from sun-up to sun-down (and late into the night...the place doesn't close until 12).  It never ceases to amaze me the attitude of every single associate that you interact with while in the park - from the moment you enter the security check point, the tone is set with genuine smiles and positive attitudes...and it never diminishes.

What amazes me more, is the effect that this has on the guests as a collective.  Where else could one expect to wait in-queue for upwards of an hour, often with young kids in-tow, and not be witness (or party to) complete societal meltdown?  I'm convinced that there is something infectious in the attitudes of the Disney-ites, which somehow inspire behaviors, that have otherwise become all too foreign in our interactions with others.  Stranger still is the willingness with which we, as customers, pay a dear premium to experience what amounts to this transformation in, and of ourselves.

If only we could all agree to adopt our Disney-inspired behaviors and attitudes as we pursue our day-to-day activities and interactions - perhaps then we could advertise "Happiest Place is Earth".

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

Mar 19

I've recently finished reading A Thousand Splendid Suns by Khaled Hosseini.  This is an emotionally moving story, purely fictional, but not entirely out of the realm of reality/possibility in context of life faced by women in Afghanistan through more recent history.  This, I have on good faith by individuals who have lived extensively in, and around, the nation of Afghanistan, and who possess a global perspective on such matters.

A Thousand Splendid Suns is centered around the story of one woman's upbringing - from early childhood, to adulthood.  She endures many hardships as the bastard daughter, the enslaved wife, and finally, the liberated humanitarian.

Now, a story wouldn't be a story if it didn't possess a certain amount of drama, and a story like this one would not be such a riveting page-turner if so much drama were not compressed into the life of a single primary character, such as it is.  However, through extrapolation, one stands to gain insight into the conditions which have defined the lives of women in Afghanistan through recent history.

I definitely put A Thousand Splendid Suns on the must-read list as a horizon-expanding, thought-provoking story of human endurance.

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

Mar 3

I don't post in this category as often as I should - I do tend to read a lot, but often can't (or won't commit to) find the time to note my observations here...well, I found the time tonight:

In Death by Meeting, Patrick Lencioni lets an engrossing personal tale of a CEO's struggle to save his newly acquired company play out to a happy ending by providing a model for, and illustrating the value of effective communication and leadership.

Death by Meeting is fictional, but the problem addressed is very real, and the solution through which it is addressed is invaluable in today's world of too-many/all-too-ineffective meetings.

I've read Death by Meeting twice, and plan to re-read every three to five years as refresher.  Some may argue that it has a diminishing place in the world of 24x7 global organizations - I submit that the principles remain the same regardless, and are of even greater importance in such a world.

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

(Page 1 of 21, totaling 315 entries)