Thursday, December 29, 2011

The First Law



No, this isn't a posting about thermodynamics. I've been on a fantasy reading streak in 2011. It started when I went to my local library one Saturday morning and saw a copy of George R. R. Martin's "Game of Thrones" on the shelf. I don't subscribe to HBO, so I've never seen the series. I'd heard enough about it to kindle a spark of book lust in my heart. When I went back to work, I found out that some friends were already deeply into it. Buy.com was selling a four-book boxed set for cheap. Soon I was off and running.

"Game of Thrones" was great fun to read - think "Lord of the Rings" with lots of sex and violence. The characters are memorable. The plot lines are tangled and convoluted. There are bogeymen still waiting behind the wall to jump out and scare all of us in future books. I was very happy when the fifth book, "A Dance with Dragons", came out just as I was finishing the fourth book. The first book was published in 1996. Long-suffering fans had to wait six whole years between the fourth and fifth books; my wait was as long as finishing the last page of "A Feast For Crows" and then downloading the newly-minted book onto my Kindle.

But I found that there were problems with the series.

Each book is a daunting task - they average 800-1000 pages each. That means a lot of characters to keep track of, a lot of balls for the juggler to keep in the air, and a lot of filler material. There were times when some of my favorite characters (Jon Snow and his sister Arya) got short shrift, while others that I cared about less dominated the story line.

Repetition has been with us since Homer's Iliad : it's wasn't enough for Odysseus to go sailing; he had to do it on the "wine-dark sea". Homer knew that repetition would help lengthen the story and make it easier for the poet to memorize all those lines. George Martin knows it, too. It's always "Myrrish lace" and "Valyrian steel".

There's more than a passing nod to J.R.R. Tolkien and his "Lord of the Rings" - still the greatest fantasy work I've read. Tolkien made up maps, history, languages, and whole alphabets to flesh out his stories. You're a true fan if you've read his "Silmarillion", the detailed pre-history to the trilogy. He's famous for stopping the story to tell you about people, places, and events that seem to be well-known to all his characters, but you haven't a clue. George R. R. Martin - are those initials real or an affectation? - takes this to another level. He's obviously a Grateful Dead fan: "Too much of everything is just enough".

Most of all, there were several times when I thought Mr. Martin could have used an editor. The books would have benefited from having a detached, objective adviser to tighten things up. I felt like the odd numbered books were all excellent. The even numbered books dragged a bit by comparison. There's a lot of set-up material that pays off eventually, but it's a long time coming.

Joe Abercrombie obviously had an editor when he wrote his "First Law" trilogy: "The Blade Itself", "Before They Are Hanged", and "The Last Argument Of Kings". The books are more manageable in size - 500-800 pages - but the characters are equally vivid as Mr. Martin's. I had some trouble getting started with the first book, because I had some distractions that kept me from focusing. But once it grabbed me I was hooked.

The thing that I liked best about Joe Abercrombie's writing is that he takes timeless elements and gives them a twist. There are standbys like a small group that journeys to a remote location in search of a precious artifact. The group faces dangers that alter characters for better or worse, that bind or split them apart. There's conflict and war and long odds to be overcome. But there's always a perturbation that sets his take apart. For example, there's a wizard named Bayaz who may appear to be Gandalf-like at first, but there's deep, dark water underneath.

I've finished my non-technical backlog. It's time to jump back on my technical stack. I received John K. Kruschke's "Doing Bayesian Data Analysis". I'll be writing about it as soon as I manage to make some headway.





profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Wednesday, November 30, 2011

How Do Your Get To Carnegie Hall?






It's an old joke:

A man stops a New Yorker on the sidewalk and asks him, "How do you get to Carnegie Hall?" The native answers: "Practice, practice, practice!"

Except it's not quite true. Practice is necessary, but not sufficient.

It's perfect practice that makes perfect. It won't do to simply burn bad habits into your muscle and brain memories. You have to repeat the right behavior to be able to recall it at a moment's notice.

I knew this after years of doing scales and arpeggio studies on the classical guitar. Sometimes I felt like I was practicing in my bad habits, because I wasn't focused enough on what I was doing.

Peter Norvig made me aware of the rule of 10,000 hours in his "Teach Yourself Programming In Ten Years". He presents five citations, including Malcolm Gladwell.

Now the Freakonomics guys have added their two cents: "The how of learning is deliberate practice."

This is true in sports, music, math, programming - everything. Technique matters; it's how you do it.

I've found that to be true in my new running venture. My new-found techniques learned by running barefoot have made it possible for me to run the Manchester Road Race without pain or stiffness. I was able to run the next day without any discomfort, although I will confess that my legs were tired. The only after-effect that consistently follows a run is tiredness in my feet. They're finally waking up after years of slumbering in their shoe cocoons. I think I've succeeded in learning how to run injury-free in middle age.

I have to remember that more when I work on my programming skills. I need to identify objectives better and be more aggressive about conquering them and making them mine.





profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Wednesday, November 23, 2011

Clocks and Roulette Wheels


I've studied a fair amount of math during my education. Engineers were required to take four math classes: two semesters of calculus, differential and integral; multivariate calculus; ordinary differential equations. A fifth course in partial differential equations was recommended but optional. The engineering courses reinforced and built on this base. The prevailing wisdom was that the engineering department taught the same stuff as the math department, but better. I guess we all liked it better when the engineering department presented the material because it came with a context that fixed the ideas in your head.

I took all those and kept going. I decided to sign up for complex variables and linear algebra, just because I liked math. There were also two grad classes that presented integral transforms, calculus of variations, differential geometry, and generalized tensors. The numerical methods that I studied followed the same track: linear algebra for solving large systems of equations and eigenvalues; numerical integration; evaluation of special functions.

I never took a formal course in statistics or probability. The last two graduate classes that I took were in the statistics department: analysis of variance and design of experiments. I was glad to have taken them, but it certainly didn't turn me into a statistician.

I recount all this because it's finally occurred to me that I've missed out on something important. When faced with quantum mechanics and the loss of determinism, Einstein said the God did not play dice. I can't claim to know the gaming habits of God, but I can say that probability and statistics imbue everything around us. They're stand-ins for ignorance, an expression of what we don't know or are uncertain about.

Classical physicists, like Newton, Laplace and Einstein, viewed the universe as a clockwork. Anything could be predicted, given enough information. This is ironic in light of the great service that Laplace rendered to Bayes' theorem by putting it on such a firm mathematical footing. Quantum mechanics killed this idea in the small; non-linearity did the deed in the large. It's all a roulette wheel. Does that mean the universe is really a big casino?

I became aware of two schools of thought in statistics: frequentists and Bayesians. I read hints about the food fight that has been going on between the camps for two centuries, but I didn't understand exactly what it was about - until I read "The Theory That Would Not Die" by Bertsch MyGrayne. The writing style was a bit repetitive, but the story was wonderful.

There were two bits that I especially liked. The first was a quote from Jerry Cornfield to his two daughters as he lay dying: "You spend your whole life practicing your humor for the times when you really need it."

The second was from a section about Jimmie Savage and Dennis Lindley. As the amount of data increases, subjectivists move into agreement, the way scientists come to a consensus as evidence accumulates: "That's the way science is done."

I recently saw "Doing Bayesian Data Analysis: A Tutorial with R and BUGS" by John Kruschke on Amazon. I was intrigued. I knew Bayes and R; what was this BUGS thing about? But now I know, thanks to "The Theory That Would Not Die": it stands for Bayesian Inference Using Gibbs Sampling. There's even an open source project that implements it as a framework. I hope to check it out in the coming months.

I'm planning to add a few items to my must-read list. Probability will be on the list. So will Kruschke's book.





profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Saturday, October 22, 2011

"Boomerang"




It's an interesting time to be alive. I love to read, and I'm awash in opportunities and technologies to make that possible. I'm connected to the Internet 24x7. I picked up a Kindle this year and like it very much, although it leaves something to be desired for reading technical material. I'm reading the third edition ofPeter Norvig's "Artificial Intelligence: A Modern Approach" on the Kindle, but I find myself going back to the first edition because the figures don't read well and don't zoom in when the text is resized.

No matter how technology marches on, I still love holding a real book in my hand. Going to the library is still and will always be one of my favorite things to do.

I was out and about this morning when I decided to pull into the town library to see what new books were on the shelves. I have a lot to do this weekend, so kicking back with a book wasn't on the schedule.

I couldn't resist when I saw Michael Lewis's newest offering entitled "Boomerang". He had me at "boom".

Michael Lewis has become one of my favorite authors. I've written about how much I enjoyed his books "The Big Short" and "Liar's Poker". His experience on Wall Street selling bonds for Salomon Brothers gave him an insider's understanding of an industry that's driving our news. There are few stories that compare to seeing the world's financial system teetering on the brink of collapse.

That's not to take any credit away from Lewis's writing. I've only read the prologue, but he finds a way to make the people and events memorable and entertaining. What a great insight: "I think I'll travel to the countries that are on the brink to see why they went awry." He's acting as the proxy for the hedge fund managers betting against foreign countries that they've never visited. His voice is so clear, so uniquely his. It's the essence of great story telling. He manages to take an arcane, dry subject like finance and turn that straw into page-turning gold. I admire him so much for developing that distinctive style and zeroing in on his subject.

I've got a list of things to accomplish today, but I plan to spend a little time with Michael Lewis later on. I can't wait!



profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Saturday, October 15, 2011

Operational At Last



My new computer is finally operational and on-line.

I've never seen a modular power supply before, so it wasn't a surprise when my best assembly efforts were for naught.

Will did his best to sort me out over a cell phone, sight unseen.

Steve and John tried to figure out what I'd done wrong by looking at photographs that I e-mailed, but the detail wasn't sufficient.

It took a breakfast with Matt and Karim to see what my problem was. I brought my non-functioning PC in the back of my car one Sunday, and the two of them opened it up and had at it when we were done eating. They quickly diagnosed where I'd gone wrong and gave me the key to sorting it out.

I had to order a couple more items: a fourth G-Skill DDR, to bring my total RAM to 8GB, and a 3.5" bay for my SSD so I could move it up in the case, right under the CD drive.

When I first powered it up, using the wireless keyboard that is attached to my old machine, I was helpless. No drivers were available for the wireless keyboard, so I picked up a wired keyboard for $19.

I fired it up this afternoon and installed the Windows 7 64-bit OS. After adding the drivers I was fully operational - except for my SSD. I can see it in the BIOS; I can even see it listed as a disk drive in my device manager. But Windows 7 only finds my hard drive, not the SSD. I have to sort that out. The hardware graphics acceleration is disabled as well; I think that's a BIOS setting.

But it's nice to finally have this machine on-line and operational. It took me a while, but I learned a lot. There's still a lot of work to do installing software and moving documents from my old machine.

But I have a great sense of satisfaction today.

My sincerest thanks to Will, Steve, John, Matt, and Karim for the inspiration, patience, and advice.



profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Sunday, September 18, 2011

A Shock To The System



I received shocking news at home last night: a friend sent a note telling me that my roommate from college, Luis DePina, passed away from brain stem cancer yesterday. Born on 10-Aug-1957, he was just 54 years old.

I remember the first time I met Lou like it was yesterday. My parents brought me up to Storrs to move me into Colt House, an all-male dorm that was home to 60 young men, before the start of classes in Sep 1975. They helped to lug my few possessions up the stairs to the fourth floor, got me sorted out, and then left me to my own devices. I was reading on my newly-made bed when the door opened - and all light coming in from the hallway was blocked by the 6'4", 220 lbm man who stood in the doorway. He stuck out his hand, said "Hi, I'm Lou DePina", and proceeded to move in.

It helps to understand that I grew up in Greenwich, CT - as white bread, as homogeneous a place as there was. I had never been past the steel-decked bridge near Sikorsky Aircraft in Stratford, CT. I could have told you who the mayor of New York City was, but I didn't know who was the governor of Connecticut. I had gone to a small Catholic high school, with a graduating class of 125. There were two African-American students in my class during those four years. One of them left before graduation to transfer to Greenwich High School to play football. I didn't have a personal relationship with either of them.

So it was a big change to be exposed to somebody so different from myself. Lou was an engineering major too, but we couldn't have been more different. I was awkward, worried, excessively religious, and had trouble connecting with all these strange people who thought so differently from me. Lou was a gifted athlete - he had been recruited to play on the varsity baseball team, and could have played on the basketball team in Connecticut's pre-Big East days.

But most of all, he was a genius at making people like him.

He was immediately given the nickname "Rook", short for "Rookie", by the upperclassmen. He then proceeded to ride roughshod over everyone in every competitive venue - be it basketball, foosball, or frisbee golf in the hallway. He was elected president of the dorm. Everyone who lived there knew and liked him.

We would go out into the quad on nice days and throw a baseball back and forth. I wasn't a baseball player, but I was game. Lou was an outfielder with a terrific arm. You had to pay attention when you were throwing with Lou, because you could hear the ball whizzing through the air when it got close. If you didn't position the pocket of the glove correctly you'd get a stinger that you wouldn't forget quickly.

I don't know how Lou managed to play baseball and keep up with school in the spring. I remember him coming back to the dorm exhausted after practice in the afternoon. The irony was that he was throwing to warm-up one day when he took a ball in the eye. He was talking with a teammate, and his throwing partner didn't realize that Lou's head was turned when he let the ball go. That was the end of his baseball career at Connecticut.

I found out later that Lou wasn't pleased at first with his new roommate. He talked with others about switching up after the first semester, because I wasn't having much fun. But things started looking up during the spring after I learned how to drink alcohol. The drinking age in Connecticut was 18 at the time. I was of legal age in high school, but I wasn't a drinker. I maintained that stance after going to college. We used to get home-made pizza for dinner on Friday nights from time to time, which was accompanied by a keg of beer (try that in today's litigious atmosphere). A friend asked me if I wanted to play racquet ball at the fieldhouse one Friday afternoon. When we returned from the game the pizza was gone, the keg was tapped, and there was a card game getting started in the cafeteria. I sat down next to Lou and started to play. He kept refilling my cup so I couldn't count how many beers I had drunk. By the time the game was over I was under the influence for the first time. They piled me into a car and took me to a party at another dorm, where they proceeded to introduce me to every girl we met by saying "He's drunk for the first time in his life."

The spell was broken. Lou taught me how to relax, to stop worrying so much, to enjoy myself, and to be interested in other people. If I took some of those lessons too far for a time and had to correct course, that was my fault. The lessons were well-needed and much appreciated.

We parted on the best of terms after three years of living together because both of us accepted positions as resident assistants in the dorms. It meant living alone in a single room. Both of us were busy with school and other things. Lou switched out of the college of engineering, so we didn't have classes together. We didn't see as much of each other on campus after that. I graduated in December and started working; Lou was still pursuing his degree. We didn't see each other after that. There was no e-mail, cell phones, Internet, or Facebook to help keep the connection alive.

I ran into him again at a Hershey Track and Field meet in New Britain years later. My oldest daughter was competing. The skies opened after we arrived, so everyone had to take refuge under the bleachers. There's where I saw Lou. He was director of recreation in Norwich. He had brought a group from the Y to the meet, including a young man with a beautiful, fluid sprinting style. (We stood to the side in between downpours and admired his form, with Lou critiquing it for me.) He told me that he was married and had a couple of young children in diapers. He had suffered an Achilles injury that stopped him from playing basketball, so he'd taken up golf as a substitute. It allowed him to continue to demonstrate his athletic prowess while doing what he did best - charming the people he played with. I wasn't surprised to hear that Lou was a central figure in Norwich politics.

It was the last time I saw him.

I'm sad to think that someone who was so important to me for those three years could have slipped away. It's a common thing, I suppose. As I've progressed through each phase of my life - high school, college, and a myriad of jobs in two disparate fields - I've had the pleasure of meeting lots of people that I loved spending time with. Lots of them are pleasant memories for me now. There are only so many hours in the day, so much emotion and energy that one can expend in maintaining relationships. Spouse, children, and family have to be the first priority.

But it doesn't diminish the affection I have for those people in the least.

There are three lessons here. First, relationships take energy and effort to keep up. You have to spend time in face-to-face contact. Sorry, Facebook. A long-distance electronic relationship is better than nothing, but it's a poor substitute for the immediacy of being there. Second, choose carefully. If it's not possible to hang onto every single person that you ever thought highly of, then you have to pick and choose. Let those people know that they're worth the effort. Write that e-mail, pick up the phone, and arrange contact. It can be breakfast, it can be a beer at a bar, it can be a stroll in the park. Just be there - early, late, and often. Don't let years go by and be left to wonder what the hell happened.

Third, and perhaps most important, is to not wait forever. Our time here is finite, and you don't know when it will end. If I've been waiting until my children were grown and settled to start picking up the thread with my old friend Lou, then I'm afraid that I waited too long. The opportunity is passed, never to come again. I hope I don't repeat that mistake.



profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Sunday, September 11, 2011

Born To Run


I wrote earlier about my desire to learn to run again. It's gone fairly well. I have not pushed myself too hard in terms of mileage or frequency, but I'm happy to say that I've enjoyed it. I've been trying to feel a good pace (on the order of 8 minutes per mile) and avoid injury. It's been short, frequent repeats: half mile at a time on the road; quarter mile laps on a track.

My oldest daughter returned from a summer spent working in San Francisco. She had a pair of Vibram shoes and an autographed copy of Christopher McDougall's Born To Run. I asked her if I could read it.

I was hooked on the first page.

It's a riveting story, even if you're not interested in running. I recommend it to everyone. It begins with a visit to his doctor and a question: "Why does my foot hurt?" He's a middle aged runner, like me, trying to figure out why this activity is breaking his body down.

He learns about the Tarahumara, a Mexican Indian tribe that is legendary for their ultra-marathon prowess. It's a journey of discovery; he goes to the Copper Canyons to find them and learn their secrets.

That's a compelling beginning, but I think it was the way he wove other characters and places into the narrative that grabbed me. He introduced American runners and events. It all culminates with a race over rugged terrain between the Tarahumara and American challengers, including the author.

It's great stuff.

I loved the tie-in with evolution and biology. Homo sapiens is the ultimate marathon running species. Our bodies have evolved a unique combination of attributes that make us great runners (e.g. temperature regulation via sweating through the skin; Achilles tendon; a tendon to keep our heads from wobbling when we run; the capability to take multiple breaths per stride).

The day after I finished the book I went to the place where I swim to get a workout in before heading over to work. I noticed one of the fitness counselors had the book cover in the collage hanging on the wall that described his interests. I was astonished to see a newspaper clipping showing Christopher McDougall leading a group of barefoot runners in Bushnell Park last October!

I decided that I'd give barefoot running a try.

There's a small track upstairs from the pool. It's a mere 1/11th of a mile long, but it seemed like a safe place to try out barefoot running. I went up one day and ran two miles in bare feet. It felt strange but good.

The next days were difficult. My calves have not been worked like that in a long time, and the soles of my feet were on fire! But I was willing, even eager, to try it again.

My next effort was outside on a rubberized track at my local high school. It was far too much sensation for my poor feet, so I had to run on the grass instead. One visit turned into another. I ran again in bare feet tonight. It felt fine. I may begin to enjoy this.

I also picked up a copy of Ken Bob Saxon's Running Barefoot. I learned a lot reading it; I'm looking forward to putting it into practice. I was checking my cadence all afternoon. I wasn't able to make the 180+ per minute cadence, but I was consistently in the 160-180 range. I was easy, light, and smooth.

My latest goal is still in sight. The journey's been a good one so far.


profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers






Tuesday, August 9, 2011

A New Computer





I spent the afternoon assembling the hardware I bought three months ago. Why the delay? It was a near-fatal combination of being busy, ill, and a terrible procrastinator. But there was nothing on the schedule today, so I decided that it was time to tackle it.

It went far better than I thought it would. I would put it right up there with IKEA. The instructions were pretty good, and almost everything fit together nicely. I started just after one o'clock this afternoon, and all the pieces were assembled before four o'clock.

I was worried about the CPU and cooler, but they slid right into place.

It wasn't clear at first where the solid-state disk drive would go, but the case was as ready as promised.

Everything is in the case, ready to go. Here's a shot with the side panel removed:



I have a few questions I'd like to review with some friends who are more experienced than I am. But once I have those resolved it'll be time to power up, set up the BIOS, and install the OS and software.

It's going to be a terrific machine once it comes on line. I'll wonder why it took me so long to get around to it.

Thanks to Will, Steve, John, Karim, and Matt for their encouragement and inspiration.






profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Tuesday, July 26, 2011

Keynote




I'm going to speak at my next Toastmasters meeting on Thu. It's the sixth out of ten speeches required to earn the Advanced Communicator Bronze designation. I'm working out of a manual entitled "The Professional Speaker." The first assignment is to deliver a 15-20 keynote address. It's easily the longest speech I've ever been asked to give.

I'm looking forward to it.

Here's the text of the speech. I thought I'd post it here for the hell of it. Plus if I lose the text before I speak I can always come here and fetch it.

“The Professional Speaker”
Assignment 1: The Keynote Speech

Target organization: young professionals at the start of their career.

Mr. Toastmaster, fellow Toastmasters, and welcome guests:

Opening: One of the things that I love about working for a company like Travelers is seeing so many young people joining the firm. You see them walking through The Link, well-dressed, clutching a Travelers red umbrella like it’s a lost-and-found family heirloom. Eyes wide, ears open, frantically trying to remember the names in this maze of buildings so they’ll have a hope of appearing at their first meetings on time.

For some, this is their first job after earning a college degree. They’re walking with ten league boots: separating themselves from their parents, living on their own, paying bills, being adults. What a huge change! If we view life as a series of decades, each its own transition, this is the foundation for adulthood. This is when you start your career trajectory, think about marriage, and decide how you feel about children. It’s the basis for our entire society.

I remember my first day on the job very well, but my gray hair gives me away. It’s a distant memory: it’s been a long time since then. Let’s inject some humor into this keynote, shall we?

• There was no cable; no CNN or Fox or ESPN.
• There was no Internet; no Facebook or Twitter.
• There were no cell phones; no iPhone, Android, or BlackBerry.
• There was no e-mail.
• Computers were kept in a separate room, with its own air-conditioning under the floor, and shared by an entire department.
• Communicating with that computer meant some interactive terminals, but it also included punched paper cards.
• There was a vault in which vellum blueprints were stored for each component. Computer aided design and manufacturing was in its infancy.

Compared to today’s office, those early state-of-the-art facilities felt like a scene out of Dicken’s “A Christmas Carol.” More coal for the fire?

The scope and scale of technological change is breathtaking, but the human elements are unchanged. As I look back on my career, I thought about what I might have wanted to tell that younger version of myself. Here are a few nuggets of wisdom that I offer for your consideration.

Story 1: Figure out what’s important to you.

What’s your goal? Is it money? Climbing to the top of a corporate ladder? Being an effective individual contributor with deep technical knowledge? Whatever that goal is, spend some time figuring out what is important to you. You can’t reach a goal unless you know what it is and the steps you’ll need to execute to get there.

There is a price to pay for everything. Positions of high reward come with great responsibility. No one will ask about your child’s upcoming weekend activity when they send the limo to your house to whisk you off for a business trip.

Pausing on the advancement ladder has a price as well. Choosing to be an individual contributor might mean enduring the frustration of Cassandra: a prophetess whose advice was ignored when she told the Trojans to leave that wooden horse left by the Greeks outside the city gates.

Know what you want.

Be prepared for the consequences of every decision you make.

Make your own measure of success. Take an alternate path.

Story 2: Consider alternative paths to success.

I grew up in a different time. The prevailing wisdom went like this: “Get a job with a well-regarded company. Work your way up the ladder as high as you can, then retire on the terrific benefits they provided.” There was an implied contract: be loyal to a company, and they’d repay you in kind.

That contract is long gone. Companies require greater labor flexibility, so employees need to take on more of the burden of managing and directing their careers.

Alternative paths are on everyone’s radar now. Your choice depends on your appetite for risk. Perhaps you’d prefer being a contractor to full employee status. Or maybe you’d rather go all in and start your own business. This is not for the faint of heart. There are no off days; all the success or failure will be yours to own. You have to learn how to do the work and all the marketing, too. It’s a balancing act: keeping just enough work coming in to make it possible to build your brand and deliver without working every waking moment or waiting for the phone to ring.

Each of the past three decades has seen defining technologies and companies that drove them: personal computers and Microsoft in the 80s; the Internet and companies like Sun, Cisco, and Amazon in the 90s; search and Google at the start of this century; mobile and Apple going on right now. All these sea changes produce opportunities that a smart person can capitalize on.

Story 3: Keep an eye on market forces.

This leads to my next bit of advice: stay informed about your field and those that affect it. You don’t want to be caught unprepared when the world changes. No matter how comfortable and successful you might be, it pays to keep an eye on world events and extrapolate. Have you noticed that every person in this room is likely to have an iPhone, Android, or Blackberry mobile device? If you’re a software developer, and you aren’t writing for one of these mobile devices, you might be doing your future prospects a disservice.

I went to a wedding recently. One young man, whose first job out of school is sales for Microsoft, was rhapsodizing about a recent company meeting he attended. As excited as he was about hearing Steve Ballmer speak, I hope he’s kept his eye on the rise of the mobile computer and the cloud, and the decline of the desktop. His company may not figure out how to replace their desktop operating system and Office monopolies, but I’m sure he’ll have to soon.

Story 4: Keep learning.

The people who were most expert in those technologies that predominated at the start of my career had to change and learn new things or be pushed aside. The cruel truth is that this situation is only getting worse every day. The pace at which new information is added to the world is only increasing.

I resisted the temptation to insert a statistic stating how many terabytes of information are added to the Internet every day, translating it into Library of Congress equivalents to make it meaningful to the audience. But for ever page of fundamental new knowledge there are probably tens or hundreds of pages of celebrity gossip and other meaningless chaff to sift through. I’ll summarize by saying that there are 6.8 billion people living on earth today, and those who are actively adding their bricks to the wall of knowledge are doing it at a rate that is increasing exponentially.

Chances are good that all of us will have several careers during our working lives. I can speak from personal experience: I’ve had two, and I’m expecting that I might have a third act in me. I would not have had that second opportunity if I hadn’t kept learning.

Story 5: Enjoy what you do.

“Choose a job you love, and you will never have to work a day in your life.” This quote is attributed to Confucius and others; it’s still just as true today. You’ll see a lot of stuff written about following your bliss, your passion. The implication is that you just might be able to turn doing something you love into that custom fit career. Whether it is photography or cooking or programming or speaking or something else, your chances of finding happiness pursuing a beloved activity are good. If you’re lucky, financial success and fame might even accompany it.

Story 6: Remember your co-workers.

I was laid off from the first job I got out of school. The economy was not very good at that time; in some ways it was worse off than it is now. Interest rates, inflation, oil prices, and unemployment were all high. A friend of mine recommended that I contact the Navy research lab in New London, CT. It was a department loaded with Ph.D.s; I saw no good reason why they would want a young man without a graduate degree.

Art Carlson, the man who headed Code 44, took pity on me and offered me a job. The two years that I spent there made all the difference in the world. I completed a Masters degree, learned a skill that I loved, and – most important of all – got my confidence back. I moved on from that job and managed to earn a Ph.D. of my own. After graduation I wrote a letter to Art Carlson to thank him for giving me that chance. I said that everything that happened to me subsequent to that interview was because of him.

I was told later by people I worked with that Art showed that letter to everyone he encountered at the lab. It might have meant as much to him as it did to me.

Work is a team sport. All of us are dependent on the good will of fellow contributors to meet our goals. Remember to be the kind of person that co-workers can recall with respect at minimum and fondness at best. You never know when you’ll encounter them again as you progress through your career.

Story 7: Don’t sell yourself short.

My father was an immigrant who came to America from Ireland. He didn’t want to be a farmer, so he left home to find economic opportunity in America. When he landed in New York and came to CT, he thought he’d died and gone to heaven. He worked at the utility company that maintained the water system in town. He was a backhoe operator; a union guy, through and through.

I grew up imbued with his work ethic. I worked for that water company during the summer between semesters in college, so I had a taste of what manual labor was like. I was grateful to study something that made brain work possible for me.

I’ve always loved the details of technical work, but I think I also absorbed the lesson that managing and directing work wasn’t for me. Underneath it all, I’m also a union guy, a laborer.

Part of me knows that this was a good thing, because I’m an emotional person with a thin skin.

But there’s another part of me that wonders why I never aspired to be the person who directed the activities of others. The people I’ve observed who have been in charge of things where I worked have been a mixed bag. A few have been inspirational, brilliant leaders, but when I think of the majority of them I can’t help but look back and wonder if I couldn’t have done at least as well.

The first step in becoming a leader is believing in your heart that you’re someone worth following; the second is persuading others that they ought to believe it, too. Work hard to have an idea of your own, a vision for how things could be, and then get to work persuading others that you’re right. Don’t hesitate to put yourself forward. You might surprise yourself.

Conclusion:

If I could choose one message that my younger self could have heard and taken to heart, I think it would have been the one about alternative paths to success. Oh, and maybe something like “Bill Gates will become the world’s richest man by writing a Quick Basic compiler and having the nerve to call IBM’s bluff over DOS” or “Page and Brin will make themselves the kings of search by solving an eigenvalue problem; you know what that is.”. All of us are limited by what we don’t know. People who prepare themselves well, are attuned to the opportunities that come along are the ones, and are bold enough to act on them are the ones who have the greatest career success.

If you’re one of those well-dressed, wide-eyed young people that I see walking through The Link, I hope that you’ll profit by taking my lessons that still apply to heart, that you are astute enough to spot the changes in the world that will invalidate some of my dogma, and that you derive as much pleasure from your life’s work as I have. Thank you.






profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Sunday, June 26, 2011

Running








It's almost halfway through 2011. We've passed the summer solstice, the happiest day of the year. This was what I was longing for back in January when there were ice dams on my roof that wouldn't yield to repeated blows from a steel hammer.

2010 was far and away my best swimming year ever - an absolute blow-out in yardage totals, attendance, and every other measure you can think of.

2011 will not top it. By the end of Jun 2010 I had 318,100 yards under my belt. Right now, my total for the year is only 158,100 yards. Half the total!

The reason is easy to see: poorer attendance and effort. Five of the first six months in 2010 were "best monthly yardage totals." This year I fell short in January and never caught up. I haven't been regular about making it to Masters workouts. My standard morning workout was 2500 yards last year. This year I've put in 2000-2400 yards a day, rarely reaching that 2500 yard mark. Those small differences accumulate over time.

I had two bouts of poor health. There was a feverish weekend back in March that left me flat on my back. But I went back to my swimming regimen as soon as I finished the course of antibiotics and recovered sufficient strength. I don't think I was fully recovered. When the trees popped in May, spewing pollen everywhere, my health collapsed. I couldn't breathe, couldn't stop coughing. I was able to recover thanks to extreme measures, a smart doctor and wonderful health coverage.

But I found myself back at square one when it came to fitness. I've always been lung-limited while swimming. Now I had to figure out how to get it back. I had to do something different.

Swimming and biking are great, but there's nothing like running to tax the lungs and expand capacity. I decided that I had to learn how to run again.

I started swimming back when I was 21 because I wanted to avoid the toll that pounding the roads would take on my ankles, shins, knees, and hips. That was prescient - no replacement surgery for me. I ran every day then, but I haven't since. I'm lucky if I run the Manchester Race on Thanksgiving Day and hit the road half a dozen other times in a year.

There's a speed limit sign exactly a half mile from my driveway. I started running half-mile repeats, with a two-minute rest in-between. The key is to be regular and focused. I want to run four times a week. Don't take days off. Don't be shy about two workouts in a day. Keep working my lungs, getting a sweat on, and building my metabolism and lung capacity up.

It's worked out well this week. I swam at noon on Monday, squeezing in 1500 yards that included some nice 100 repeats. I had a yoga class at the grammar school just up the street after work. I measured the distance from my driveway to the school: 1.3 miles. A run to yoga would be doable. I persuaded my youngest daughter to join me. It was fun to have a running partner.

We had a 90 minute yoga class that felt great. I felt strong and loose. Wouldn't a run home complete the day? My daughter was game, so we ran home in the dusk followed by clouds of fireflies. It was a beautiful experience.

I'm not trying to run marathons. I don't want to race or be competitive. I just want to get my lungs back and feel fit again. I've learned the hard way that running is the only way. I've neglected this activity for too long. If this week is any indication, it's like seeing an old friend again after many years.


profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Wednesday, April 27, 2011

The Power Of Music







I mentioned in my last blog that I've been on a reading roll for the past month.

One of the books I picked up at the library during one fruitful visit was "Thus Spoke Zarathustra" by Nietzsche. I've never read anything by the great philosopher. I thought this might be a good time to remedy my ignorance.

I know nothing about his life either, so I also found "Nietzsche: A Philosophical Biography" by Rüdiger Safranski. I hoped it would give me context and let me fill in the gaps before I started on the main event.

It used to be that when I started a book I felt a moral obligation to finish it, all the way to the last page. But that's fallen by the wayside. Sometimes you know early on that something's not working for you. Time is precious. Why not take an economist's view, forget about sunk costs, and cease with further investment?

I tried, I really tried, with Joyce's "Ulysses". I got halfway through. I found Leopold Bloom in a bar spouting gibberish and waded right into pages of nonsense syllables. That's where I got stuck. I couldn't push through.

The Nietzsche biography was the same. I read about a quarter of it. It's not that the author didn't do a fine job. It was meticulous and well-researched. I just didn't care about Nietzsche. The book went back to the library last weekend, along "Zarathustra". I'll have to try again someday when I'm feeling more inspired. There were others in the pile that I was anxious to get to, and I only had three weeks.

One feature of Nietzsche's life struck me: his passion for music. Here's a paragraph from the overture that sums it up:


Over the course of many years, Nietzsche used the music of Wagner to gauge his aesthetic pleasure. After hearing the overture to the 'Meistersinger' for the first time, before his personal encounter with Wagner, he wrote to Rohde: 'Every fiber and nerve of my being is tingling. It has been a long time since I experienced such a sustained feeling of rapture.'


And this:


In 'The Birth of Tragedy', Nietzsche called this ecstatic life in music the 'rapture of the Dionysian state, which eradicates the ordinary bounds and limits of existence.'


Does that kind of passion still exist today? Has the ubiquity of music diminished its power to move us?

Music was rare back in those days. If you wanted to hear a musician or composer you either had to go where they lived or hope that a tour brought them to your town. Performances were live. There was no radio, no albums, no cassette tapes, no CDs, no Internet, no .mp3 downloads, no iPods.

Now it's hard to find silence. You can have music everywhere you go. Pop in some ear buds and you can have a hand-picked soundtrack for your life, excluding all other sounds. You can see any artist, alive or dead, who has a performance posted on the Internet. I've seen more of Stevie Ray Vaughn, one of my favorite guitar players, since he passed away in 1990 than I ever saw during his lifetime.

What we might perceive as a superior musical past, when giants walked the earth, is survivor bias. The dross musicians that were The Archies of their day had their music die off. There were a lot of bands and performers in the golden ages of classical music, jazz, rock and roll, and every decade since I've been alive that were terrible. They inspired little more than groans from all but their most devoted, die hard fans. We don't hear much about them anymore.

I asked my oldest daughter her opinion. She says that live performance, and the experience of seeing an artist with a large group, can still evoke that feeling of ecstacy. She assures me that an opportunity to see Daft Punk live, especially in their native Paris, would evoke a response that Nietzsche would both identify with and approve of.



profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers


Wednesday, April 20, 2011

The Power Of Reading





I've been on a nice roll reading books lately. I always have two stacks in play at once: non-technical and technical. The latter backlog is always longer, because I've allowed the right side of my brain to atrophy a bit as I've gotten older. I used to be more balanced, but I've had to devote more care and feeding to my technical side to keep up.

It started when I fell ill in the beginning of March and was confined to bed for several days to overcome a fever. I had a lot of time on my hands. A friend at work was kind enough to loan me a paperback copy of "In the Heart of the Sea: The Tragedy of the Whaleship Essex" by Nathaniel Philbrick. It was one of those recommendations that I feared would be returned without being opened. I'd have to embarrass myself and explain why I hadn't bothered to give it a look if I didn't try, so I started reading it.

Was I wrong. I was engrossed in the first few pages and quickly fell into a reading trance.

The story of the Essex was well known at the start of the 20th century. It was the inspiration for Herman Melville's "Moby Dick". That name was on the tip of the tongue of every schoolchild back then. This book brought it back for me.

The Essex was a whaling boat that left Nantucket in 1819, at its height of economic power, in search of sperm whales. Whales were harder to find by that time, so captains headed around the tip of South America and into the Pacific in search of their prey. A whaling ship would be away for two or three years at a time. It was not a journey for the faint of heart: nothing in common with Princess Cruise Lines. I don't recall any mention of a midnight dessert buffet, but I might have missed it in my feverish state.

The descriptions of life on the boat were harrowing. I would imagine that the young men taken along to learn the trade suffered from some variant of post-traumatic stress syndrome. Killing a whale with harpoons, stripping the carcass with knives, boiling the blubber for oil, and storing it in the bowels of the boat sounds like one of the worst jobs ever invented.

The ship had only a quarter of its hold filled with oil when it was attacked by an unusually large whale and sunk off the coast of South America. It must have been a rebel that finally took the systematic murder of his pod personally. He rammed the ship, damaged the hull, and forced the crew into three whaling boats to survive.

The really hair-raising part of the story was just beginning.

They made poorly informed choices and ended up spending three months in open water on the Pacific. If only they'd known that a westerly tack towards Polynesia would have ended their troubles! The irony was that they feared Pacific atolls populated with cannibals. Instead they turned south and east, trying to make their way back to the South American coast.

Their only relief in those three months was a brief stop on a small, rocky, uninhabited island that provided some fresh water for drinking and tortoises for protein. Their food situation became dire enough to force the crew to resort to cannibalism. The captain shot his sister's son, along for the journey as a cabin boy, after he drew the short straw. They ate him with neither chianti nor fava beans.

Even worse, that man survived the journey and had to go home and tell his sister what had happened to her son.

It made me wonder how much of what we think of as our better nature is completely dependent on our ability to secure fundamental needs like sufficient water to drink, a regular supply of food, security from threats, adequate sleep, etc. All of us would be surprised at what we might become and how low we'd stoop given such horrible circumstances. So much of what we think of as civilization is dependent on the illusion that we can meet our needs with no more effort than it takes to walk into a grocery store and swipe a debit card in a reader. We're far more dependent on a fragile web of providers than we'd care to admit.

I enjoyed this book far more than I would have guessed when it was offered to me. It made me think of "The Perfect Storm: A True Story of Men Against the Sea" by Sebastian Junger, a more modern take on the dangers faced by men in boats on the water.

After I finished "Essex", I went to the library in town and trolled for four more books. I'll write more about those soon.


profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers


Sunday, April 17, 2011

Building A Desktop Computer







I bought my first PC back in 1994. I spent a summer as adjunct faculty at the Hartford Graduate Center (now Rensselaer@Hartford, a much more prestigeous name) teaching partial differential equations to first semester masters candidates and earned a cool two grand. That was the going rate for a desktop PC back in those days; it was before Moore's Law kicked into overdrive. I had money in hand. More importantly, I had my wife's approval. After a career spent using Digital Equipment VAX minicomputers and Sun SPARC Unix workstations, I was finally going to have a machine in my own home.

I think I was vaguely aware of the World Wide Web. If my memory is correct, I had a Mosaic browser available to me on my computer at work. It was chicken, meet egg: I could have placed an order for my first PC on the Internet, but I needed a PC and Internet access at home.

I called Gateway 2000 to place my order. '2000' seemed so futuristic, so far away at the time. They were a serious player in the crowded PC market. The person on the other end of the phone was most pleasant and helpful. Windows 3.1? Very good, sir. Would you like two 3.5" floppy drives, or would you prefer one plus a CD ROM drive? Excellent choice, sir. 512MB of RAM? What will you do with all that? It arrived soon after with a monitor that I had to bundle into my arms to pick up.

I couldn't do much with the damn thing. I had to buy a slow modem to access the Internet, which was frustrating as it could be. I couldn't do serious engineering work on it - I could barely do the kind of work that I wanted on the most powerful workstations available to me. The compilers were limited. But I loved having it. I wrote code and prose as best I could. It served me well, but by the time it reached the end of its life I couldn't bear it anymore. I loathed that machine by the time I got rid of it.

I added a second hard drive and maxed out the RAM slots, but those last years weren't kind. I wasn't a hardware guy, so I didn't know how to do anything. I told myself that I was an engineer first, then a software guy. Hardware was someone else's problem. I would have studied electrical engineering if I wanted to know a lot about it.

I don't remember exactly how long I kept it, but it overstayed its welcome. I swore off Gateway, which was in trouble and about to be subsumed in a contraction of the overcrowded market. I went with a proven winner for my second computer: Dell. Their stock had risen and split several times during that period of irrational exuberance. If I'd been smart enough to invest whatever funds I had on hand early in the process I would have been a rich man.

Once again, I placed my order over the phone. The person on the other end of the phone was most pleasant and helpful. I don't remember much about the specs now. I think the operating system was Windows 95. I thought that this machine would last me a very long time, but I was disappointed again. Dell's stock might have been a winner, but their customer service wasn't. I had some long and memorable phone calls with their tech support that were worthy of the comedy series "Outsourced". Once again, I added a second hard drive and maxed out the RAM slots, but those last years weren't kind. I still wasn't a hardware guy; I still didn't know how to do anything.

If I loathed the Gateway, I detested the Dell. I swore I'd never touch another machine of theirs again. Surely HP would be better! I had the Internet at my fingertips in 2005, so I placed this order on line. I didn't need the approval of a salesperson. It was click! click! click! and I had the machine of my dreams: Windows XP! 4GB RAM! Dual core Intel processors! A 220GB hard drive! Surely this one wouldn't disappoint me!

That's the machine that I'm still using now. I'm happy to say that after six years I don't hate this set-up. It's long in the tooth, but Moore's Law gave me something that has weathered the storm better than the others. I can still do what I need to do. I've written a lot of prose, a lot of code, browsed a lot of Internet on this thing.

But I'm still not a hardware guy; I still don't know how to do anything. It's time to do something about that.

I've wanted to build my own machine ever since reading Jeff Atwood's Coding Horror blog about building a PC back in 2007. My HP was only two years old at the time, so I didn't think I needed to be in the market for another one so soon.

Now it's four years later, and I could use another machine. Capabilities have gone up and prices have come down. The world of hardware continues to race along. If I was going to buy another OEM PC I would go for an Apple and see what that's like.

But I've decided that I want to try my hand at assembling my own and installing a operating system for the first time. It's almost a professional requirement.

I'll have lots of help: a friend at work has done this in his sleep, so he was kind enough to offer a complete parts recommendation from Newegg.

So I finally pulled the trigger this afternoon: I set up an account at Newegg and placed an order. My federal tax return will more than cover it. I have my wife's blessing.

This won't make me a hardware guy, but it's a start. I hope it'll give me some base experience and enough awareness to do what's needed to keep the machine up as the years go by.

I want to install an operating system - no, make that several operating systems - from scratch. After spending an engineering career working on nothing but Unix hardware, I've been unable to get away from Windows during my second act as a software professional. When I was an engineer I thought like a guy who didn't care about being an admin on his machine. I used what I was given; I didn't install software.

I'd like to get back to Linux and rediscover what I missed. Setting up my own machine to dual boot to Ubuntu would be fabulous. I want to learn why software professionals say Unix/Linux is a great environment in which to write software. I want to learn sed and awk and rediscover tools that could make my software development life better.

Most of all, it's a chance to keep growing and expanding and learning. Stagnation and satisfaction are death; we all need to keep doing new things that we're afraid of, to expand that circle of light where knowledge and comfort live, and erode that ignorant darkness that's all around us.


profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers


Sunday, March 6, 2011

Mandelbrot Set












I just finished a trivial but entertaining programming project: rendering a Mandelbrot set using Java.

Mandelbrot sets are named after Benoit Mandelbrot, the recently deceased mathematician that "discovered" them. He took a simple recursive relationship and mapped it onto the complex plane by counting how many iterations were required to observe the magnitude diverge when repeatedly squaring the value at each point:



I've known about Mandelbrot sets for more than twenty years. Chaos theory was all the rage in the late 80s; James Glieck wrote a terrific, accessible book entitled "Chaos: Making A New Science" that summarizes the history beautifully.

Knowing about Mandelbrot sets and having successfully coded them for oneself are two very different things. I saw a question about an implementation on Stack Overflow. Having not gone through it for myself I had nothing to contribute, so I decided to tackle it.

It took me a little while. It all starts with a good Complex class. I implemented the basic arithmetic operators using a fluent style, because it seemed cleaner to me. I wrote a nice JUnit test and asked IntelliJ to tell me about code coverage.

I haven't done any Swing programming in a very long time. I had the set in black and white displaying quickly, but then I had to get a nice color map. It was a happy moment when I saw the picture that accompanies this posting.

That wasn't enough; I had to be able to use the mouse to select a sub-region and zoom in. Once that was working I wanted to be able to save the lovely images to a file. Adding a "save" button would be nice, but my first try just writes the image to an output file when the window closes:



I checked all my code into my local Subversion. I have 100% code coverage for my two model classes (Complex and Mandelbrot, which implements an IterativeFunction iterface) and two view classes (MandelbrotPanel and PixelMapper).

It's not much more than a nice undergraduate problem, but it made me happy to get through it and get such a satisfying result.

I've created an open source project on SourceForge.net and uploaded the code to their Subversion repository. Anyone with a Subversion client can download the code and give it a look:

svn co https://mandelbrotset.svn.sourceforge.net/svnroot/mandelbrotset mandelbrotset


profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Monday, January 31, 2011

Password Card













It seems like every day we see articles about personal information being compromised. Authorities like Bruce Schneier have recommendations on how often to change passwords.

I'm trying something different when it comes to computer security.

I found a site called PasswordCard.org that has a solution that flies in the face of the "don't write your passwords down" admonition.

The site is based on a simple assumption: We all know how to protect our wallets. The site provides a printable card that can be laminated and kept in a wallet. There are randomly generated strong passwords of varying length showing. The idea is to pick a password starting from any row and column, of sufficient length, and use that for a site. Go left to right, right to left, up or down, diagonally - it doesn't matter. Keep the site associated with a password safe and you're in good shape. Even if the card fell into someone else's hands, they'd have a herculean task to figure out the combination and site it applied to.

I want to be sure that Facebook, e-mail, financial accounts, etc. are safe. I won't be using a common password everywhere anymore, thanks to PasswordCard.org.





profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Wednesday, January 26, 2011

Pro-crastination















My character flaws are like grains of sand at the beach - too numerous to count. Like my sweet tooth. Pepperidge Farm's double chocolate Milano is a special weakness. Do they lace those things with crack cocaine? I think they must have hired the chemists from the tobacco companies who specialize in keeping users addicted. They probably got a sweet rate for their trouble, too.

Did I mention my awful sense of humor?

But one of my very worst traits is my procrastination and laziness.

I had a sad reminder of that this morning. The Taking Care Center where I swim is in the basement of a building across the street from where I work, two floors below street level. I had a very nice swim, during which time I played "stroke golf" to measure my efficiency and speed, did a set of 5x100 IM, and finished with a 1x200 kick with board set that left my poor hips tired and sore. I showered, dressed, and put my stuff back in my locker before trudging up four flights of stairs to get back to street level.

For some reason a memory popped into my head while I was walking. I found myself back in the insurance industry after I left Kaman Aerospace for The Hartford in Jan 2005. Soon after I arrived I had a good idea. The engineering education that I received left me with a wealth of mathematical knowledge that was lying fallow since I left engineering back in 1995. But actuaries are the lifeblood of the insurance industry. Why not leverage something that I already had in this new field? At worst, it would improve my industry knowledge and make me a better developer. At best, it could become a new career path in case I needed one.

I contacted the head of the actuarial program at The Hartford and went so far as to order study guides for the first two actuarial exams. I found out right away that my knowledge was long on calculus of continuous functions and physics, but short on discrete math, statistics, and probability. I had a lot of work ahead of me to refresh my memory of the things I used to know and to fill in the gaps in my background by learning the new material.

As I trudged up those stairs this morning, I realized that six years have passed and I've made no progress whatsoever towards achieving this goal.

The thought depressed me terribly.

Six whole years gone by. It seemed daunting at the time, but if I'd been able to summon the energy and dedication to make a little progress every day I would have been able to get through it in spades. A long, steady accumulation of small steps does the trick every time.

How do you make something like this happen? There are lots of technical topics that I want to master (Python, Android, jQuery) and books to get through ("The Algorithm Design Manual", John C. Hull's derivatives and options text, etc.), but my efforts are too scattered, diffuse, and sporadic.

I could take the Nike approach - "Just Do It" - but that hasn't worked so far.

I've had great success in my fitness life with tracking. Just the act of writing it down and seeing progress helps. But what to write? Problems completed? Chapters read? What's the metric that I should track? My new One Hundred Push-ups regimen not only has the counting metric going for it, but it also mandates a Mon-Wed-Fri weekly schedule.

What's standing in my way besides my natural laziness?

The Internet isn't helping me. StackOverflow, Facebook, StumbleUpon - all are time sinks. I need to kill my television. It's like the hearth in my house - it's always on. It's too easy for me to surf over to a Celtics game and become an anti-athlete. I love the game, and know it well from a youth misspent trying to master it, but it's been years since I played myself. When did watching others do things become a worthy use of my precious time?

Seneca's "On The Shortness Of Life" says it best:

It’s not that we have a short time to live, but that we waste a lot of it.


I'm desperate for a plan. How can I fix this?




profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Saturday, January 15, 2011

One Hundred Pushups













I'm already obsessively tracking my swim progress each and every year. While my yardage totals and performance in the water would not be impressive for a trained swimmer, I've been pleased enough with my old guy efforts.

One of the joys of swimming is also a problem: buoyancy. The water holds me up when I'm swimming. It's gentle on joints - knees, ankles, and hips don't take the pounding that something like running or basketball would dish out. But you don't get the benefit of a weight-bearing activity.

We all lose muscle mass as we age. I've been thinking for a while that I need to mix some strength training into my routine. I've never been a machine or weight lifting kind of guy. The place where I swim today offers a lot of interesting alternatives besides swimming, but I'm not sure that they fit into my day as nicely as the early morning, before work swim does.

So what's my solution? I'm trying a regimen that I Stumbled Upon: One Hundred Pushups. The idea is to build strength by working your way up to 100 good push-ups per day over a six week period.

I like it, because it can fit into any day, it doesn't use machines, and I don't have to go to a special place in order to do it. I can also work it in with yoga, so I'd have all three legs of the fitness stool: aerobics, strength, and flexibility.

Today was my first day. I know, the web site says to work on Mon-Wed-Fri with weekends off, but I swam last night and wasn't up to doing pushups when I returned home. I did the test on Wed and found that I was average for a guy my age. So I'm starting at the beginning at Week 1.

I'm hoping that having a routine laid out will help me stay with it. I'll be tracking it in my Excel spreadsheet. I'll report back on my progress in six weeks.

profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Wednesday, January 12, 2011

A Record Snow Event













We had a record snow event here today.

The forecast was bad enough where people were planning to work from home before leaving the office last night. I was one of them. I made sure that I had my laptop and power cord before I left. As long as the electricity and Internet stayed up I'd be able to work.

It wasn't snowing when I went to bed last night.

I slept in a little bit this morning, since I didn't have to catch the early bus. I got up at 6:30 when the dog started flapping his ears and whimpering to let me know that he needed to go outside. We both had a shock waiting for us when I opened the back door to let him out: 18" of snow had fallen overnight, and it was still snowing hard! Somebody had a cold, wet tummy when he came back inside.

I made some tea, ate a quick breakfast, and headed outside to start clearing off the driveway. I didn't have plans to leave, but I knew that I'd need a couple of passes on the driveway to keep it clear.

A year ago I finally broke down and bought a Honda snow thrower. I had cleared my modest driveway and sidewalks with a shovel all my life, but a December nor'easter convinced me that I should spare my back and get some help. I was happy with my purchase right away, but today it was a life saver. The snow spilled over the top of my 18" tall snow thrower when I started. It was still a chore to push it through all that snow, but it kept up nicely.

A modest snowfall would usually require 45-60 minutes of effort with a shovel to clear off the driveway. Today it took me two hours, even with the help of the thrower. The stuff that was packed into the end of the driveway by the snow plows was truly heart attack snow. I don't know that I could have gotten through it without mechanical assistance.

The snow was falling so fast that there were 2" on the part where I started by the time I was done. I had to do a second pass right away! But the worst was over.

I went inside, fired up the laptop, and drove revenue for my employer all day. I went out again at dusk to take another shot at it. A fresh 6" had fallen since morning, bringing our total for the day into the neighborhood of two feet of snow.

Yes, it's a record for this area.

If winter ended tomorrow, and we didn't get another flake of snow until next winter, we'd already be over the average snowfall for the year.

The last memorable years for snowfall were 1995-1996. They were two record totals in a row. We seemed to get a fresh storm every week, usually in the middle of the work week to maximize the inconvenience. Our kids had to attend makeup days almost until the Fourth of July.

It looks like 2011 is poised to challenge them.


profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers