Posts filed under 'Software Development'

Wonderfully made

I just asked Cameron to put his Daddy’s shoes away.  He did - he’s a good little helper.  And then I stopped to think about what he’d just had to understand and figure out, and just how amazing it is that our brains put these pieces together.

First, you need to know that Daddy’s shoes were in amongst several other pairs of shoes in a group near the front door.  Our family tends to do a good job of taking shoes off when we come in; we’re not as good about putting those shoes away, so there were at least four pairs collected there.  So Cameron had to sort out a few things: one, which items in the room were shoes, which were Daddy’s shoes, and then grab just those two.  (He did, and then commented ‘Heavy’.)

Then I realized he had to figure out where to put them.  I hadn’t told him where Daddy’s shoes were to go, just “away”.  He parsed that to mean, take them down the hall, and put them in Daddy’s room.  Taking a quick peek, he not only put them in Daddy’s room, he put them in Daddy’s closet, and even on Daddy’s side of the closet.

I got into computer programming because I wanted to teach computers how to think.  I’ve now spent some 15 or so years in the profession, and no program I’ve ever written intuited nearly as much as my not-yet two year old putting his Daddy’s shoes away for his Mommy.  “I praise you because I am fearfully and wonderfully made” - Psalm 139:14

Add comment July 27th, 2008

Tools for software careers

As software developers, we often have a favorite toolkit that we can count on in our day-to-day jobs.  Favorite IDE (Eclipse), favorite text editor (vi), favorite source control system (Subversion), favorite language (whatever’s paying me now!) - all of these are tools in our virtual tool belt that we look to master to let us concentrate on the interesting details of the task at hand.

Here’s a list of tools that I find essential for my software development career, that I consider outside of my normal tool belt:

1) LinkedIn.com: this is my networking and marketing tool.  I use it to keep track of who’s where and who knows someone that might have an answer or a good job.  I’m happy to help others in the network, and like to answer questions on the board (see that marketing angle: I think looking at someone’s responses is another view into how they might fit into your organization).

2) Safari.oreilly.com: long ago, I started a bookshelf subscription to O’Reilly.  I can check out the latest books, keep an eye on what’s hot, and just generally grab info when I need it, without paying a $40/book charge for something that I may read once and then stick on a shelf.

3) Google’s code search feature.  Let’s face: lots of software documentation leaves much to be desired, and often it’s useful to see either source code or samples of how someone’s used something of interest.   I often use google’s codesearch feature (http://www.google.com/codesearch) to find a sample usage of an API of interest, or of a configuration file that the documentation just isn’t clear on.  Maven’s pom files are non-intuitive to me often: properties that are listed for plugins don’t seem to match with what I’d put in the pom file.  But I’m able to do a hunt for pom.xml files that reference a particular plug-in, and have a reasonable shot of finding what I’m looking for.

4) Del.icio.us (http://del.icio.us/) is my personal filing cabinet of interesting things on the web.  I tag all sorts of tutorials, examples, or useful tech conversations so that I can go find that OSGI tutorial that talked about how to properly track service references, for example, or how folks have dealt with logging from their containers.  I don’t tend to search much across other folks’ tags, just my own.  But I love being able to get to it from wherever I am.

5) Google’s Reader for RSS feeds: I love having one source to see what’s happening across the blogs of interest to me.  I also love being able to share items of interest with my contacts, and to see what they’re tracking.

Add comment March 18th, 2008

Things that peeve me in interviews

I enjoy interviewing folks, I really do. The hallmark of a great interview is one in which I think I’ve given the candidate some new insight, and the candidate has given me one as well. That’s a person I want to work with, and one in which I hope they want to work with us, or more specifically me. Hallmarks of a BAD interview:

* tell me about what you did in school, when you graduated from school some 5+ years ago

* tell me that you like to work in teams to learn from someone else (when it’s obvious you’re not teaching anyone else anything)

* tell how you want to be a manager or architect in 2+years, when you’ve not yet had a chance to demonstrate much in the software world

My latest story of awfulness involved a candidate who, when interviewing as a tester was asked what open source test toolkits they had used, then proceeded to confuse JDBC and JUnit. One is a mechanism for querying databases; one is a toolkit for unit tests. Forgive me my geekiness for being really annoyed when she blended the two, but I am enough of a geek to be annoyed at scenarios that confuse the two.

Add comment February 24th, 2008

4 letter adventures in software development

OSGI, Flex, CMMi: the 4 letter words currently haunting me.  Add my client’s last name to that set (4 letters which I’ll refrain from having show up in a nice Google hit).  Add the word ‘Spin’, otherwise known as the 3 month release cycle in use by my client’s organization.

Would like to say there’s some value to this post other than an Argh kind of rant (rant and argh both being venting 4 letter words for anyone who’s counting), but will instead leave you with this limerick:

She was a developer in a snit

There had to be a way to not quit

The work is inspiring

But oh quite so tiring

To continually avoid saying “Awwwww,  shit”.

Add comment November 6th, 2007

notgonnagiveyoumyrealaddresssorry.com

I love it!  I’ve got various comment spam measures turned on to try to reduce the amount of just plain gick that folks try to attach to my website.  One of those measures requires you to give me an email address.  Now, I hate spreading my info across the web, so I usually make something up.  But the one this guy attached is just great: jeff@notgonnagiveyoumyrealaddresssorry.com.  Whoever you are, Jeff, made me laugh.  Thanks.  (And, by the way, he had interesting feedback, too: check it out at  http://www.nerderypublic.com/archives/289.)

Add comment October 25th, 2007

Motorcycle dreaming

On Sunday, I had an amazing day.  (Monday wasn’t nearly so amazing, but I’ll save that rant for a separate post.)  On Sunday, my daughter scored an amazing number of goals in our soccer game AND I got to ride a motorcycle.  At one point she turned to me and said ‘that’s goal number five, Mommy!’.  The mommy side of me cheered.  The coach side of me figured I’d better get her off the field fairly quickly to try to keep things even across both our team and the other team.  It’s under-six soccer, no goalie, no keeping score, everybody gets equal playing time.  But when one kid keeps scoring, folks tend to notice and grumble a bit.  Hey, can I help it if she’s got legs like a gazelle?

Anyway, back to the motorcycle thing.  It’s been a long-time dream of mine to drive and own a motorcycle.  This Sunday was just a taste, riding on the back of a friend’s bike.  But now I’ve got the fever bad.  I keep looking in the want ads at used bikes, and then going to look up what features the various bikes have.  I’m no motorcycle expert.  One of the guys at work tells me I should look for a bike with ABS.  (Hey, I’d like abs, too, though I was thinking more of the six-pack variety.)  Others suggest getting a new bike.  Others suggest getting a Rebel.  (Did I mention that I get to whet my appetite based on two of the guys in my office pulling up on motorcycles occasionally?) 

 So now I’m dreaming of ways to finance my toy without impacting our budget or feeling like I’m depriving my kids’ college educations.  If you know any great software developers with security clearances, I’m accepting resumes.  One or two referral bonuses would do quite nicely to finance the dream. 

Add comment September 28th, 2007

Cron job versus Quartz job in Spring

I had the opportunity to soapbox recently on the use of cron jobs versus Quartz jobs to handle a task which was to be run on a regular interval.  The task is an application maintenance task.  Periodically, we need to clean out “old” data, so that the system isn’t bogged down by data which is no longer useful. 

My arguments for Quartz were thus: 1) running the regular job within Quartz means that we’ve encapsulated the behavior that the application needs within the bounds of the application itself; 2) that encapsulation also means that we can easily maintain the configuration (how often, when the thing is getting kicked off) within our source code repository; 3) we can easily utilize the same logs, alerts, events, or other infrastructure within the application within our job, and can inject those items using IOC; and 4) Quartz has support for clustering so that multiple machines could handle the load and/or we can have built in fail-over, such that the job doesn’t stop triggering just because one key machine did.  Honestly, my key happy factors are numbers 1 and 2.  I like owning what my app does, and not needing to worry about asking an administrator to look at the cron tables.

Just feeling like a geek post today. 

Add comment September 4th, 2007

Sign that a software guy is having a bad day…

Seen as a Skype contact message: “Software Development process of the day — Decapitated Chicken Process”.

Long ago, I had a cartoon from somewhere that I’d love to find again.  As I recall, it showed a guy in a suit, holding a book, a candle, and a knife.  He’s standing in front of a large mainframe computer, and there’s a woman also in office attire kneeling on the floor in front of him.  (Think here of ritualistic sacrifice of a virgin to appease the computer gods.)  Some days, it feels like that’s the only thing that has a chance of perhaps making things work.

Uh, did I mention I’m in a PMP training class? 

Add comment July 11th, 2007

Interesting convergence

Reading a book of lectures by Donald Knuth that I let myself be tempted by in my last spin through Borders. (Note to self: when picking up a book you’ve reserved, it’s completely possible to JUST go to the checkout line and buy that book, and only that book.) Donald Knuth is most famous for writing a set of algorithm books. His lecture set is from a set of lectures he gave at MIT on “Interactions Between Faith and Computer Science”.  The book’s entitled ‘Things a Computer Scientist Rarely Talks About’.
Observant readers of this blog will see a category for Christianity among my archives. It’s not something I’ve written about much of late, for a variety of reasons. But you’ll occasionally see in this blog that says something about Christianity and what I’m thinking about at the time.

Anyway, as I’m skimming his first lecture, I’m also taking a quick peek at Dr. Dobb’s Journal. Thinking about Knuth made me think about the made-up language he used for his algorithm examples which made me think about what new languages are out there that I haven’t heard about of late. An article about build systems (The Buzz About Builds) is on the cover of this month’s magazine, and since I’ve been wrestling with an automated build system at work, I take a quick look-see.

Now I’ll caveat that I’m not all that impressed with this article. I’m three sections in and it hasn’t told me anything of great technical value. A little bit of business background as to why build systems are now getting greater focus in the industry’s great, but isn’t going to help me wrestle with CruiseControl tomorrow. What I do find interesting is a quote that’s at the top of section three, ostensibly about distributed development teams and thus the need for better build systems, is this quote:

We Bokonists believe that humanity is organized into teams, teams that do God’s Will without ever discovering what they are doing. —Kurt Vonnegut

Note that I think it’s a lousy quote for distributed development teams. I don’t ever want to be on a team where I can’t “discover[…] what [I’m] doing”. But a very interesting convergence of reading materials. I’ll caveat that I haven’t read the source of Mr. Vonnegut’s quote: couldn’t tell you its context, applicability, etc.  But it does pop out to me tonight and intrigue me to find out more.  (Will admit to you that I would believe that we could often do God’s will without being aware of it.)
Update: a quick spin around the ‘Net points me to Bokonists being in Vonnegut’s Cat’s Cradle, and various serious-minded writers speak on its satire of religion. Now on my list of soon-to-reads…

Add comment June 24th, 2007

Wow - wish I wrote that!

I just did a quick Google search, trying to find an existing Excel spreadsheet template to do sprint burndowns for Scrum.  I badly mistyped, and ended up requesting Google do a search on ‘excel spritn burdown chart’.  Google couldn’t find anything on that search request (imagine that), but did offer: Did you mean: excel sprint burndown chart .

Not too long ago, I considered applying at Google.  They’re now up in Pittsburgh, we’ve got family up there, and wouldn’t it be interesting to get to work at a company that’s just become such a hallmark of our times.  I ended up deciding that, one, we weren’t really all THAT interested in moving to Pittsburgh, and also that I liked enjoying the idea of being able to say I worked at Google more than I enjoyed the practicalities of interviewing and working there.  Frankly, I’m not sure I’m smart enough to work there, and I’d rather not prove it to myself (or worse, have it proved to me).  (Even worse, somehow, would be the idea that you DON’T have to be smart to work there, that all of the things that they’ve built have been built using generally good folks like me who just somehow create technical magic.)

Anyway, Google’s intuition of my real search term needs brought all of that to mind and inspired an impromptu mid-day blog.  Now back to my generally interesting, but not nearly so AI-like kind of existence.

1 comment June 13th, 2007

Previous Posts


Calendar

August 2008
S M T W T F S
« Jul    
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Posts by Month

Posts by Category