Sunday, December 14, 2014

A Baked Apple

I was happily working along last week when much to my chagrin, my trusty Macbook Pro just kind of froze.  "No big deal," I thought to myself, and went to reboot it.  It didn't come back.

Arrrgh!

I tried everything, resetting the PRAM, muttering under my breath, but to no avail.  To make a long story short, the technicians who ultimately got their hands on it said that Apple wanted $700 to fix it because the logic board was no good.

Double arrrgh!

So, I was talking to my local Mac expert colleague, and he turned me onto the idea of baking the logic board.  Reflow the logic board.  "Search for it, it's a thing.  People bake their logic boards."

Really?  Could this be?  A quick Google search found an entire collection of links like this.  There were enough hits that made it seem like a thing indeed, and the description as to why baking the board works.  Apparently the key is to get the solder warm enough to melt slightly and fill in the microfractures, thereby reestablishing connectivity.  Fair enough.

How far wrong could this go?

Another colleague lent me the appropriate tools, and I set off to bake the board.  Disassembly wasn't too difficult, thanks to these instructions on ifixit.  It was a fun thing to do, and my son was a great help.

Once the board was out, I cleaned the CPU and GPU thoroughly, scraping off the old thermal paste.  Then, I took employed some 91% alcohol and Q-tips to finish the job.  Pretty soon, the back of the CPU and GPU looked like mirrors.  The heat sinks looked like fresh copper.  Great.

I took a baking tray, covered it in foil, and made little foil balls for the logic board to rest on.   I ended up baking the thing three times (don't ask) for 7.5 minutes each at 375 Fahrenheit:


Each time I took out of the oven, the logic board looked like this:

After letting the logic board cool overnight, I reversed the ifixit instructions, careful to use fresh Arctic Silver 5 thermal paste:



I then screwed the machine back together.  Taking a deep breath, with my skeptical family around me, the moment of truth had arrived.  I pressed the power button, and much to my delight:


No idea how long it will last, but it's great to have a hot spare!

Prior to today, I didn't personally know a single person who had tried this.  Now I do.

Oh yes, and don't try this at home - it will most certainly void any form of warranty you may have...

Monday, December 1, 2014

It's official - Bun Burner Gold!

For those of you following along at home, you'll note that I attempted a Bun Burner Gold this past August.  The start of that adventure I wrote up here.

After waiting patiently for months for the Iron Butt Association to certify my ride, I was thrilled to come home today and find a package addressed to me from the IBA.

After spending 10 minutes carefully opening the heavily-taped package, I happily read:


Looks like I have a new bike project for the winter - swapping out the license plate backing for this!!!


Although it was a long wait, it was totally worth it.  I appreciate the diligence the IBA puts into certifying rides.

The most interesting thing from my perspective is odometer error.  The IBA mileage came in at 1562.  Plenty of cushion over the 1500.  My odometer came in at 1580 or so.  Just goes to show you, map carefully, run GPS if you can, and always presume you're going to have to ride farther than your motorcycle thinks.

Happy winter to all!


Wednesday, November 12, 2014

As the season closes

Earlier this fall, I had the pleasure of being a judge at Irish Hacks, an AT&T-sponsored hackathon.  While there, I rekindled a conversation with a student I had met in the fall of 2013.  In the time since we met, he spent his summer doing a tour with the Navy based out of Pearl Harbor, then interned at Apple.  While in California, he was bitten by the motorcycle bug.  As you can imagine, I was pretty thrilled.  We had much to discuss.

He ended up buying an early 80s vintage BMW K100RS.  It's a fine motorcycle.  I came very close to purchasing one a little over a decade ago, but just couldn't bring myself to do it.  For the type of riding I was doing at the time, it was overkill - too much bike for just putting around.  Of course, one could make the same argument today...do I really need an FJR for an 8-mile roundtrip commute?  And the occasional trip?  Yes, it is overkill, but I digress...

Anyway, this guy rode up the west coast, through Idaho, and learned what motorcycling is all about when he experienced a flat near Rapid City, SD.  A couple took him in, put him up for the night, took him out to dinner, and showed him around the Black Hills while his bike was getting fixed up.  If the riding hook wasn't set firmly before, that experience certainly clinched it.

Anyway, at the hackathon, we agreed we had to go riding together before the snow arrived.  With the weekends winding down, I dropped him a note and we agreed to go for an early morning ride on Saturday, up to Allegan, MI, across the dam, and do a little loop I'd read about.

Saturday dawned chilly, gray, and threatening rain.  Knowing that the wind is relentless, I layered up - riding socks, long johns, long-sleeved t-shirt, woolen turtleneck, ankle to throat thinsulate liner, and my high-viz exterior shell.  I threw a balaclava, extra pair of gloves, microfiber, and spray bottle into the top box, and motored off to I our meeting place.

I ran into one of my current students while waiting.  He introduced me to his girlfriend and the three of us had a nice chat.  They were off to Milwaukee for the weekend, and I wished them well.

Pretty soon, I heard a wonderful mechanical sound, and up rode my riding partner for the day:




Wasting little time, we saddled up and headed northeast.  It was about 41 degrees and heavily overcast, with a bit of occasional drizzle.  We stopped so he could tank up just outside of Granger, and then we motored off into the unwelcoming morning.

Keeping up a sprightly pace, the weather soon grew a bit more unfriendly.  The temperature dropped to 39 and the pitter-patter turned into a steady drizzle.  We stayed off the main highways, exploring some delicious roads which would be much more entertaining if had not been raining.  Particularly fun was cresting a hill with a long, straight drop as we approached Decater from the south.

As we rolled into town, I realized I hadn't turned on my spot tracker.  Curses!  I missed tracks from the first part of our ride!  Rats.

Ah well, no big deal.  Jogging east and west, we continued our trip to Allegan.  The rain picked up and it was pretty chilly out.  I cranked up the grip heaters to Maximum Melt and continued to lead the way.  There was a bit more traffic on 40 north, which the Yamaha and the BMW had no issue putting quickly into the mirror.

We stopped to talk and thaw at a convenience store in Allegan.  I was feeling quite comfortable, except for my feet.  I didn't layer up the feet, thinking they would be OK.  The cold just seeped in.  The rest of my body was in great shape.  The balaclava stayed in the trunk.

That said, my riding partner was starting to feel the cold.  Without heated grips, the cold and rain were working their way in.  We talked for a while and agreed that instead of taking the loop to Lake Michigan and back, we would head west to Lake Michigan, then south back towards South Bend.

As we were cleaning up our shields, getting ready to head out, a guy going into the store said, "That's right, don't see any other riders out today!  You BMW boys are tough!"  I laughed to myself - people constantly confuse the FJR for a BMW.  I suppose the roundel is so visible on the K100RS, and so few people recognize the tuning fork logo.  Anyway, it is true - we didn't see any other motorcycles on our ride.

Back out into the rain, and we found ourselves crossing the Allegan Dam within 10 minutes.  It's a neat little dam, complete with power station:


Even more impressive than the dam was the collection of fishermen.  They were fishing from shore, from boats, and from the river in hip waders.  Steelhead is what they were looking for.  We didn't see any strikes while we were there, but then again, we didn't tarry for too long.



We hiked across the road and around the power plant to get a look at Lake Allegan:


Good-sized lake.  Of course, all the foliage was gone - I bet it would've been flat gorgeous two or three weeks earlier.  As it was, it looked desolate and wintry.  Foreboding, even.

Since we were stopped, I took a couple gratuitous bike shots:
A ride to match the plate frame!

Allegan Dam Road was a fun bit of blacktop.  Again, I can't wait to return in drier weather to explore the corners at a greater lean angle!

We zipped towards the lake, then headed south.  Soon, we entered the town of South Haven, and I decided to show him Gingerman Raceway.  Such a fun track!  We doubled back north, then took the 6 mile jog east to the track.  It was deserted, of course, but we could get in and check it out from the flag station at the start/finish line.  I gave him an audio tour of the track, pointing out the turns, elevation changes, and camber.  Though tempting to skirt the barriers and take a lap, we restrained ourselves.  Also, it was pretty clear that my riding partner was getting cold.  He didn't take off his gloves for pictures at our stop, and I knew that we better make tracks and get some warm liquid into our bodies.
In the paddock at Gingerman!

We headed west and picked up 196 south to 31.  At least the rain had stopped!  It was still pretty chilly out, temperature holding steady at 43.

We popped off 31 to pick up Red Bud Trail.  Such a pretty piece of road.  Again, we couldn't fully appreciate it as it was sopping wet, but still a pretty ride.  We even passed our second track of the day - the motocross track just north of Buchanan.

Speaking of Buchanan, we stopped at the corner of Red Bud Trail and Front Street, at which point I mentioned the Coward Café.  It didn't take a lot of arm-twisting to agree to a stop.

We rolled around the corner, powered off, and stepped inside.  The warm, welcoming smells were a delight to our cold and damp bodies.  When it came time to order, we were faced with a dilemma - their signature cinnamon rolls (which are insanely good), or waiting for the fresh chocolate croissants which were still in the oven.  We opted to not wait, ordering a pair of those amazing rolls and a pour-over to go with it:

We sat at talked and talked and talked.  Talked about family, friends, life, careers, motorcycles, places to go, places to explore.  I really enjoyed myself.  We explored the appeal of motorcycling, the feeling of simply being alive.  Our ride had taken about 4 hours, and yet we both felt we had been gone for days.

My perspective is that every moment on a motorcycle makes you feel alive.  Every sense is heightened as you become a fundamental part of the environment around you.  Every temperature variation, the smells, the sounds, the rain, the unrelenting wind - it makes you live every moment spent on that machine.  Because you are keenly aware of each moment, it elongate the sense of time.  A wonderful sensation I never tire of.

We talked so long that as if by magic, and sensing our torment during the ordering process, we were presented with a piping hot chocolate croissant to split:

Yes!  It.  Was.  Incredibly tasty!  Still warm from the oven, the chocolate exploding in molten lava with every bite.  Good grief it was delicious.

Eventually, we decided to get on with our respective weekends.  We rode south, I bid him farewell on 933, and headed for home.  Pulling up in front of the house, I took a couple shots of the filthy Feejer:

Love the muck-encrusted pipes

After thawing out in a long, hot shower, I fired up Spotwalla to generate our final route.  Due to cold, rain, and forgetfulness, I didn't mark any of the sightseeing/gas stops on the route.

Here's the spot trace itself - all told, it was about a 180 mile loop.

I decided to treat the FJR to a wash, getting rid of all the muck gathered over the past month of commuting in the rain and Saturday's adventure.  Clean and dry, I was getting really, really hungry for dinner.  I had picked up some steaks at Whole Foods the night before, and tonight seemed as good a time as any to devour them:

I decided to try a new method of preparation.  Reading Cooks Illustrated, I tried the bake/sear method.  Cooks has written articles over time debunking the "sear it first to lock in the juices" myth.  Basically, it doesn't matter - bake/sear or sear/bake, the residual amount of moisture is the same.

I fired up the oven on convect at 250 degrees, then began preparing the accompanying mushrooms.  After salting and peppering the steaks, I put them on wire racks in a rimmed backing sheet and slid them in the oven for 20 minutes.  As the mushrooms sautéed, the house started to smell remarkably good.

At the 15 minute mark, I lit up a big skillet with grapeseed oil until it started to smoke.  At the 20 minute mark, I took the internal temperature of the strips.  They measured 100-101 degrees.

Pulling them out of the oven, I place them in the smoking skillet for 1.5 minutes per side, flipping with a pair of tongs.  At the three minute mark, I took transferred the steaks to cooling racks and tented them with aluminum foil.  Setting a timer for 10 minutes, I opened a bottle of pinot noir and put a water-filled skillet on to boil.  The timer wound down to 5 minutes, at which point I dropped in the asparagus.

5 minutes later, dinner was ready!  I drained the asparagus and drizzled the spears with olive oil, finishing them off with a little salt, pepper, and grated parmiggiano reggiano.

I couldn't have been more pleased with the way it came out.  Next time we do steaks, I'll probably go with the bake/sear method again:


To top off the meal, my wife had brought back eclairs from Chicago that we used to have 10+ years ago.  Hadn't had them in years.  They were still delicious:

All in all, a wonderful, wonderful day.  Good roads, good conversation, inclement weather, good meal, great family - life is very, very good.

Tuesday, October 14, 2014

The Speed of Light

How fast is it really?  In the course I teach, students have the opportunity to interact with a database, taking their logical models, turning them into physical designs, and finally implementing them.
Up until this semester, I have made use of a database that is local to campus.  The ongoing management and maintenance of that environment is something which is of no particular interest to me – I just want to use the database.  Database-as-a-Service, as it were.  As in, Amazon Relational Database Service.

Lucky for us all, Amazon has a generous grant program for education.  After a very straight-forward application process, I was all set to experiment.
To baseline, I executed a straightforward query against a small, local table.  Unsurprisingly, the response time was lightning-fast.



Using RDS, I went ahead and created an Oracle database, just like the one I have typically used on campus.  After setting up a VPC, subnet groups, and creating a database subnet group, I chose to create this instance in Amazon’s N. Virginia Eastern Region.  Firing off the test, we find that, yes, it takes time for light to travel between Notre Dame’s campus and northern Virginia:



Looks like it added about 30 milliseconds.  I can live with that.
Out of curiosity, how fast would it be to the west coast?  Say, Amazon’s Oregon Western Region?  Fortunately, it is a trivial exercise to find out.  I simply snapshotted the database and copied the snapshot from the eastern region to the west.  A simple restore and security group assignment later, and I could re-execute my test:



Looks like the time added was roughly double – 60 milliseconds.

Is that accurate?  According to Google Maps, it looks like yes indeed, Oregon is roughly twice as far away from Notre Dame as Virginia.  The speed of light doesn’t lie.

So, what did I learn?  First, imagine for a moment what I just did.  Instantiate an Oracle database, on the east coast, and the west coast.  From nothing!  No servers to order, to routers to buy, no disks to burn in, no gnomes to wire equipment together, no Oracle Universal Installer to walk through.  I still get a thrill every time I use Amazon services and think about what is actually happening.  I can already see myself when I’m 70, regaling stories about what it was like to actually see a data center.
OK, deep breath.

Second, is 30 milliseconds acceptable?  For my needs, absolutely.  My students can learn what they need to, and the 30 millisecond hit per interaction is not going to inhibit that process.  It’s certainly a reasonable price to pay, especially considering there is nothing to maintain.

What is the enterprise implication?  Is 30 milliseconds going to be insufficient?  An obstacle that inhibits business processes?  We shall see.  For local databases and remote web/application servers, perhaps.  Perhaps not.

This is why we test, remembering that despite what a remarkably amazing toolset AWS represents, we are still bound by the speed limit of light.

AWS Midwest Region, anyone?

.entry-content

Sunday, October 5, 2014

Sometimes, 4 wheels are better than 2

This weekend, our family traveled to visit family in the Columbus, Ohio area.  There were multiple reasons for the visit - partially to revel in being together and getting some quality cousin time, partially as a staging ground for exploring the Fall Home School Day at the National Museum of the U.S. Air Force in Dayton.

My fall work/teaching/grading schedule inhibit me from joining the rest of the family at the museum on Monday.  Being the amazing wife that she is, Allison encouraged me to have one last long ride for the season.  As appealing as riding is, I decided to drive instead.  The same opportunity presented itself a couple years ago, and making the drive decision was a very good one.  I was confident that would prove true again, as we split the kids between two vehicles, with my son riding with me.

The drive usually comes in somewhere between 4 and 5 hours, depending on fueling and biological needs.  With 4 wheels, it is an easy non-stop hop.  Two wheels usually means a fuel stop.  Kids are the wildcard - sometimes a bathroom stop is needed, sometimes a food stop is needed, and more often than not, none of the above is needed.

So, 4+ hours with my oldest.  What a gift!  He had a chapter of physics to read, and an essay to write.  I thought it would be a better idea to get the essay out of the way first, so we talked about it.  The assignment was to "define your life goal, link it to the higher purpose of human existence, and identify three ways in which you are working towards that goal."  Heady stuff for a 10 year old.  Heck, heady stuff for a 41 year old!

What a wonderful assignment!  It spawned over an hour of really interesting, introspective, and reflective conversation.  We hummed along, miles drifting into the mirrors, rain occasionally spitter-spattering, with the rich midwest harvest landscape all around us.  What a wonderful opportunity to spend time really investing in the relationship I have and want to grow and nurture with my son.

To help guide the many ways this assignment could go, we spent some time talking about the themes Dan Pink identified in Drive: autonomy, mastery, and purpose.  With those three concepts as guidelines for motivation, the framing of the essay was in place.  This helped my son structure his thoughts and get through the creative process, figuring out what he wanted to say.  Once the what has been determined, the how flows very naturally.

It was fascinating to watch him just get started.  He was struggling with how specific the goal had to be, and the possibilities of how broad it could be.  I told him the story of a conversation I had while serving as a sensei/judge at the fall hackathon at Notre Dame.  Over the weekend, I struck up a conversation with Maribeth, a motivated and talented senior computer science student.  We talked about her first experience with C, and how it was intimidating.  The very first program starts as a blank screen.  She knew the parameters of the assignment, but just the sheer emptiness of the screen unnerved her.

Relying on what she had learned in class, she started with her first #include <stdio.h>, and the rest of the program made its way out of her brain, through her fingers, to the keyboard, and onto the screen.  That first step can be big and scary.  Seeing as she interned at Google this past summer, it's safe to say that it was also successful.

Anyway, my son was agonizing over his life goal.  I really liked his first idea around "saving the planet, because it is the only one we know of that can support 7+ billion people."  Through conversation, we agreed to a slightly more specific goal.  I told him not to worry - it is not something set in stone, but something that can evolve over time.

After finally deciding on the what, the how came quickly.  He got the first draft of his essay done, I enjoyed the delight that is operating a vehicle, and we shared an experience that neither of us will soon forget.  Physics can wait until tomorrow.


Life is, indeed, very good.

Wednesday, August 27, 2014

After the storm

Sticks.  Little, tiny sticks.  Twigs really.  You don't really notice them when you're driving around in a car, but they sure do have an impact when you're riding.

This week, we had a couple of days when big, nasty storms blew through town.  Luckily, no major damage was done, no loss of life, no substantial damage to property.  That said, it did blow down lots of little twigs, all over the place.

I got my first taste when I backed the FJR out of the garage.  My driveway is steep, so I have to be careful when I'm turning around.  I put my left foot down to hold the bike in place so I could fire the engine and start my day, when my foot slipped, just a little.  Not enough to drop the bike, not even close.  Just enough to make me think really hard about that little twig separating my foot from the driveway, causing an ever-so-slight roll in my ankle.

Off to work, gorgeous morning.  Sunny, crisp, cool, perfect day.  Rolling up to a stoplight, I put my feet down when...my left foot slips again.  Not a big, sliding, jarring movement.  Just a little slip.  I look down, and sure enough, another twig.  Again, no danger of dropping the bike, just a little reminder to be extra careful.

Just remember, after a storm blows through, or when you hit an area where storms have recently passed - watch for the sticks.  Sometimes, it's the little things.

Thursday, August 14, 2014

Night Rider

There is just something brilliant about riding at night.  I went for a nice loop this evening, and everything just felt magical.  The tunnel created by headlights is never ending, and one that I crave, especially on a night like tonight.

The temperature was cool, hovering in the high fifties.  Not many bugs.  Nice clean face shield.  That is something Schuberth really improved when developing the C3 as opposed to the C2 - the optics are phenomenal.  No starbursts, no peripheral distortions.  Just a wide, crystal-clear field of view.

Anyway, minimal traffic and a tunnel of light.  The muted roar of the wind, the soft hum of the engine.  It's the kind of thing that makes me want to just keep riding until the sun comes up.