Archive for the ‘Technology’ Category

Software Development vs. Home Renovation

Posted by Nathan Pralle On September - 14 - 20111 COMMENT
  1. Your Estimate is Wrong — I’ve been doing both software development and construction for a long time, and universally?  You’re off — by a lot.   Not just a little, and if that ever happens, you’d better count your lucky stars and buy a lottery ticket, because it won’t happen again.   Ever.
  2. Scope Matters — Knowing when to draw a box around your code and stop and when to do the same when you’re tearing apart your house is important.   Projects like these can go on and on, one thing leading to another, until you’ve essentially rebuilt the entire house (which is so far out of scope as to be a crime).   Be flexible — scopes are hard to pin down exactly — but know when to draw your line in the sand.
  3. Rarely Do You Build New — Everyone knows that building a new house is expensive — so is software.    You almost never get the opportunity to being at scratch and start anew, and if you do, it’s fun but expensive (in both time and money) to go from idea to working construct.   Most of the time you’ll be revamping what you have to make it better.
  4. It Gets Worse Before It Gets Better — When you rip and tear into a house, things get extremely messy for awhile, and so will your software.   Myriads of crap will break and it’ll just stink for awhile as you try to make sense of it.
  5. Perseverance Will Pay Off — Rome wasn’t built in a day and neither will that new feature-filled release, but you WILL get it done if you keep at it.   Don’t give up hope when you’re ass-deep in rubble.
  6. Pre-Built Saves Money and Sanity — In the past, we’d go and use lath and plaster to make walls and ceilings.   Now we go and use sheetrock, because it’s faster and cheaper and saves everyone’s talents for things that really matter.   Likewise, libraries and pre-built modules are the wallboard of the software world and we all do better when we leave the menial stuff to others.
  7. The Cost Triangle Applies — Money, Time, Quality:   Pick any TWO to save on and sacrifice the third.
  8. Cleanup Sucks — You’ll vacuum a room 15 times.    You’ll debug a module 20 times.   The nature of tear-and-fix in either means you’re going to have to spend a LOT of time picking up after yourself and it’ll be decidedly un-fun, but worth it in the end.
  9. Beware of Unexpected Damages — You will break things that were never intentional, either by uncovering unknown issues, thereby breaking your budget or timeline, or by damaging some other part of the house or program that you weren’t planning on even touching, but is somehow related to the one being worked upon.   These can be your death-knell or your time to shine, your choice.
  10. “Perfect” is Rarely an Option — No matter how many times you paint it, the room will probably never be streak-free or have the right coverage in every single spot — but you have to stop sometime and call it good.    Likewise, if you keep your revisions open too long, you’ll spoil the opportunity to deploy.   Get it good and get it out.

Waltisms

Posted by Nathan Pralle On April - 8 - 20112 COMMENTS

Waltisms
The Wit & Wisdom of Professor Walt Will of Luther College


Professor Walt Will is one of the many excellent professors in the Computer Science department at Luther College in Decorah, IA, USA. During my tenure at Luther, I got the pleasure of having him for a few classes, the most noted being Databases. These quotes are collected from that class session. At the time, I printed these out and handed them to the entire class prior to the final exam, including a copy for Walt, whom I recall laughing a lot once he found it on the podium. I present them here so other students of Walt’s — and the general public — can appreciate his unique teaching style.

Walt is retiring this year and will be greatly missed; I am honoured to have been one of his many students.


“Have you hugged your computer account lately?”

“…and I’ll try to make those times as gentle as possible as we slam you to the mat.”
– Walt on relational databases and the math involved in them.

“One of the prerequisites for the course is to read — or read if you are pressed. I’m pressing.”
– Walt on his theory of motivation

“Oh…Oh…damn it anyway.”
– Walt trying to work out a math problem on the board and coming up horribly wrong.

“…couldn’t we bring this tuple into the join and give it some friends to play with?”
– Walt on sympathy towards tuples lost in natural joins.

“When you want it, you really want it. But you can go days — weeks, even, without wanting it.”

“That should have given you who are going to copy this time to get it copied, and the rest of you time to fall asleep. Good job on that so far.”

“You walk into your typical bar in Decorah and I’ll bet you won’t.”
– Walt on the lack of people who can write SQL in Decorah.

“It amazes me how you can walk down the street and meet people every day that couldn’t write a line of C++ if their lives depended on it.”

“Have you seen this textbook in the room at all??”
– indicating the course’s one-and-only textbook.

“…where you were thinking about something else and he was up here babbling on about whatever he talks about. I’ve been there.”
– Walt on the attention span of his 2:30pm class.

“You get a good score, I get the illusion that I’m teaching well, everyone’s happy.”
– Walt on his teaching strategy.

“I apologize for being too lenient and I promise to make it up in the future.”
– Walt on the easy grading on a certain test.

“I’m skipping over the part I really wanted to skip over for the time being.”

“The great thing about standards is how many we have.”

“So as you sit here ignoring me, in a skyscraper in Manhattan and a barn in Wisconsin, people are writing SQL queries….”
– Walt on the importance of SQL in daily living.

“…just imagining a person on a mountain bike with pink sprockets just puts a little joy into my life.”

“Well, you look around for awhile, and unless some of you have names I don’t know about…there are no Ferraris in the room.”
– Walt somewhere on the intricasies of functional dependencies.

“And it caught the attention of those people sleeping, just for an instant; I don’t have high expectations here.”

“I’m suggesting that most of you are well enough traveled that you know that there is a First Avenue in more than one city. Also, that Decorah isn’t the only city with a main street.”
– Walt on travel habits of college students.

“You can come in here and hold hands and sing, ‘We are the World’ or something, but if you can find something else to do at 2:30 on the Friday before Spring Break, go for it.”

“…And if this trips your trigger, you can read all weekend if you want.”
– Walt on the erotic pleasures of multivalued dependencies.

“I had this debate with myself, which I lost.”

“We’ve all become so perverted that we think that a tree’s roots are at the top and leaves at the bottom.”
– Walt on CS vs. Biology

“I can only lose so many battles with myself.”
– Walt showing the strain of a long spring semester.

“Oh, just kidding. Just trying to wake a few people up, just for a moment. Kind of ease ‘em back into reality.”

“Get a life.”

“You have big buffers. Nothing personal, but you do.”
– Referring to the size of some people’s memories.

“They tend to love their computers in a way that’s, well, kinda scary sometimes.”
– Walt on Macintosh owners.

“Back in the 60′s and 70′s everyone thought it was smoking dope.”
– Walt on hashing algorithms.

“Maybe it’s a database of stolen cars. And the one you bought doesn’t show up there. That’s a good thing.”
– Walt on the positive aspects of databases

“I have nothing against fractions and some of my best friends are decimals, but…”
– Walt on his relationship to math.

“Dang it to heck.”
– Walt on stubborn B-tree algorithms.

“Dammit anyway. Or ‘gracious’, whatever the expletive of your choice might be.”

“Sometimes your little sister could answer it.”
– Walt on the obvious answer to some final questions.

The Amazing Appearing Quark!

Posted by Nathan Pralle On September - 16 - 2009Comments Off

Let’s talk about quarks, shall we?

No, not the guy with the big ears from Star Trek, either — quarks, as in the really, really tiny particles that make up things like electrons, neutrons, and protons.    Did you know that?   Each of those things are made up of a lot smaller things called, “quarks”.   Now you know; go tell your mommy.

Here’s the really Fun Fact™ for today that I wanted to share with you, though, about quarks.   If you don’t think anything is amazing in the world, get this one:

Quarks always exist in pairs (at least) — a regular quark and an anti-quark.    The “anti” partner is exactly the same as the quark, just an opposite charge, so kind of like how you have yin and yang, right?    This partner arrangement is called a, “hadron”.   A hadron’s quarks are always stuck together like that couple in high school that moved as single unit and used up the four minutes of passing time between every class to exchange oral flora.   A quark pair is held together with a sort of stringy stuff/force called, “gluons”.     (The physicist who thought up that one was freaking sharp.) It takes a whole heaping lot of force to even try to pull them apart.

However, if you beef up and try to separate a pair of quarks, which you can only do in experimental arenas like particle accelerators, a funny thing happens.      The gluons stretch, forming stringy “tubes” between the quarks, somewhat like a rubber band.     If you could actually see it (nobody has), it might look something like this:

quark1

But a funny thing happens when you get the quarks too far apart and you push them even further away from each other.     Instead of the gluon tube breaking and letting the quarks fly free, the tube splits in the center and a new quark-antiquark pair appears at the ends of the split out of absolutely nothing.

Did you read that?   The new pair of particles appears out of thin air.    Actually, it’s not even air, it’s a complete vacuum. There’s nothing around them as far as we know, yet these two particles “BOING!” into existence.     It might look something like this:

quark2

If you are really being destructive, you can keep trying to break them apart and you end up with a generational photo like this next one.   It creates what is called a, “hadron jet”, or a shower of particles that were all generated from the original quark/anti-quark pair:

quark3

Click for Larger

How wild is that?    And you thought science wasn’t fun.    Shame on you.

You can read up more on quarks, color confinement, hadron jets, gluons, and so forth by going to the Wikipedia article on it here:    quark

Technical Time Leech

Posted by Nathan Pralle On July - 10 - 20091 COMMENT

If you have ever sat through a computer installation or waited for the seemingly endless years while a hard drive ground itself into a neat little pile of shavings and your shiny new program installed itself only to promptly screw up your entire computer and launch the equivalent of a digital turd on your desktop, then you know what it’s like to be sucked down to a crusty, dry shell by the technology time leech (technologicus lifewastus incredibilus).

It is an experience that few of us care to admit to and fewer still would willingly repeat on any idle sunny day, but we’ve all lost precious moments of our lives by spending them slack-jawed, staring at the glowing screen and that insidiously, slow-moving progress bar of torture.    The drool frighteningly puddles on our keyboards while the pixels bore holes into our cerebrum and whip our neurons into a thick, creamy paté suitable for filling nail holes and sealing rusty bumpers.

The leech hath struck again.

drooling_homerFor those not in the IT industry, it may not immediately occur to you the sheer number of hours we geeks can spend simply waiting — for the server to reboot, the installation to finish, the driver to load, the device to be recognized, the drives to stop spinning, the batteries to charge, the file to download, the page to render, the code to compile, the bug to show up, the printer to spit out exactly the one thing we did not want to be printed.   Sure, we get paid a decent wage but, unlike other professions (sans the D.O.T.), we spend an awful lot of it simply…doing nothing.    A whole lot of nothing waiting nothing.

“Well,” says my healthy and happy reader from behind their keyboard, “I realize that might not be entertaining, but I wouldn’t mind someone paying me to sit around.”    And in many cases, I would agree with that assessment if it weren’t for the fact that this time spent is anything BUT pleasant.    In fact, I’m pretty sure there’s a good case to prove the activity itself is banned by the Geneva convention and pooh-poohed in all civilized countries and 49 states (we’re still not sure about Utah, but then again — nobody is.)

You see, the keyboard cowboys — we of the wires, the flashing lights, the whirring drives, and the data whipping to-and-fro across the network in an orgasmic frenzy of processing — are very much used to things moving ungodly quick.    We cackle with excitement as the new processor crunches the data eight times faster than before or our Internet connection is large enough to download an entire DVD in a few seconds.   The fans spin faster, the drives whine higher, the processor burns brighter, the printer chucks paper further, and we count ourselves lucky if the damned thing doesn’t take off and establish low-Earth orbit.

To have a daily occurrance of our job be to sit and wait for technology, which in 2009 is light-years ahead of yesterday, to grind, chitter, think, process, download, or calculate is mind-boggingly numbing.    We are, essentially, pulling down hazard pay because — who willingly exposes their brain to this en masse?   Geeks, that’s who, the very ones that are ensuring that when we’re done with our work, you will be able to draw pictures, play solitaire, and watch free girl-on-girl action all night long while we enjoy an ever-so-satisfying bowl of instant noodles and ketchup packets.

So, the next time you find yourself ripping out your hair by the roots in frustration at a computer that appears to be either thinking hard on a problem or attempting to launch a sewer pickle, think of us geeks who, on a daily basis, willingly put ourselves between you and certain traumatic brain liquifaction, all in the name of your productivity and well-being.   And, if you’re so inclined, a kiss on the cheek and a pound of chocolate is an appropriate gesture that goes a long way to ensuring your data is backed up nightly.

You keep computing, we’ll keep drooling.    We’re your friendly, neighborhood geeks — protecting you from the technological time leech since 1936.

No Bovines of Holiness

Posted by Nathan Pralle On April - 23 - 20091 COMMENT
Bow Before the Sacred Cow (moo.)

Bow Before the Sacred Cow (moo.)

There is a term used in businesses and other organizations to indicate those things that are traditionally regarded as “untouchable” in terms of their being questioned or modified — the so-called, “sacred cows”.    (Borrowed from the Hindu religion.)  These have long been hindrances in business practices because people fail to explore why a particular practice or system is being used the way it is — they just assume that it’s The Way Things Must Be Done™.     However, it occurs to me that this isn’t only applicable to the working world, we have many steers and heifers wandering through our lives that we fail to examine or pay attention to, and we need to be willing to slaughter them in the name of progress, new ideas, and better wisdom if that is what’s required.

Think about your own life — what cows do you hold near and dear to your heart?    Here’s some areas where I see them in both my life and others:

Religion — Big one!   You knew it was going to be in here, didn’t you?    Those of you who read this blog regularly know that I’m a huge fan of questioning one’s religion and figuring out for yourself what really matters and what is simply bogus.    Holy cows roam free in the religious world where some practices and ideas stay the same for centuries or longer without any in-depth exploration.    Even simple things like, “What hymnal should we use?” can spark the, “Don’t kill my cow!” argument with great swaths of people popping up complaining about the possible change, citing history as a precedent.    “It worked for my grandmother, why should we change?”

Traditions — We all have family traditions and most of us enjoy them to one extent or another, but when was the last time that you challenged one of them as being irrelevant or misplaced?    In some families, that’s nothing less than treason, but why should it be irreverant to probe into the meaning and applicability of the things you do year in and year out?

Business — Time and time again it’s been shown that good business is a balance between doing things in ways that work and doing things in new ways that may or may not work better.     As a younger person in business, one of the hardest things I have to face is convincing the older staff that systems can be changed without sacrificing the stability they’ve enjoyed so far and, given the chance, can even be improved upon.  Fear is the glue that holds sacred cows in place and keeps them from being herded in another direction.   (Gives some interesting visions of incredibly sticky cows, now, doesn’t it?)

Your Halo is Slipping

Your Halo is Slipping

Life Philosophies — Many people, including myself, find it hard to break out of the typical “normal” life that has been prescribed by society and to choose a unique and interesting path.   The cow becomes sacred because it’s a societal pressure and deviating outside of that not only brings you problems in terms of diapproval but issues with the economics of the situation.    As much as I’d love to be in school longer, economically, I had to do my 4 years and get out to a job.   I would love to stay home and write or do something else, but the bills wouldn’t get paid.    Becoming a bum would be fun, but it would be frowned upon.   The cows become sacred as a standard that we are all expected to follow, even if someone could deviate without becoming a liability on the system.

There are many other places where this crops up — how we live, how we work, how we act, how we love.    What are some holy bovines in your life, and what are you doing to try to negate them, or do you simply embrace them wholesale because — that’s what you do?