Posts filed under ‘Software Development’

RHOK and Programming Stereotypes

Last month, Ryan and I went up to Chevy Chase, Maryland to attend Random Hacks of Kindness (RHOK). The event gathers volunteer developers and tech-geeks together for a weekend of marathon coding in order to knock out projects for non profits.

I highly recommend the event, particularly if you are like me and you work from home. Working late into the night in a room full of diligent developers was nostalgic. Between all the learning and the concentrated productivity (the type of productivity that proceeded meetings and phone calls), it made me feel “young again”… only with much, much better food. 🙂

I did learn an uncomfortable lesson about myself though. When we sat in the opening session, I looked around the room at my fellow developers and found myself surprised.

“Look, you aren’t the only girl,” Ryan whispered.

But I didn’t expect to be the only female programmer. I have worked with plenty of competent and inspiring women in technical positions. I did, however, expect Ryan and I to be far in the upper percentile of “thinness”.

We weren’t. Actually, most everyone in the room was quite fit.

Had I been living in Elizabeth City too long and I expected everyone to have the extra plumpness that I’m told accompanies rural life? Perhaps most of these programmers are from the city where they walk more regularly? Maybe the type of programmers who want to take care of the community are the same type of people who’d take care of their own bodies as well.

Or most likely…. I am victim to a stereotype. When I look back on my career, most of the people I worked with were in good shape. I wonder how it was that I began to think otherwise.


Regardless of the source, the RHOK event shed light on a stereotype I had in my head– one that wasn’t even based on my own experience and observation.

How inaccurate was my perception? Ryan Somma recently authored The n Types of Programmers, a collection of software developer stereotypes on his blog. Each type of programmer is accompanied by a little cartoon… and guess what!

Most of those little guys and gals appear pretty thin as well. 🙂

Ryan Somma’s Programmer Stereotypes are Thin!

July 6, 2010 at 10:43 am 1 comment

AutoTextEntries(“Page X of Y”) in Word 2007

One of the applications I am maintaining works heavily with Microsoft Word Automation.  Over the summer I had to prepare that app to work on Office 2003 machines.  This month, I’ve “prepared” the app to work with Office 2007.  I say “prepared”, because even with all the backend and file structure changes with 2007, I had to make significantly LESS code changes for Office 2003->Office 2007 than I had to do with Office 2000->Office 2003.  In fact, the only code change I had to do for 2007 was set the Word application’s visibility to “True” in a few places.  That’s it.  Everything else worked right away.  I applaud Microsoft for keeping their object library so consistent between versions.  My boss, however, may see the less billable hours as a detriment.  🙂

Now once I tested all the related features on my Office 2007 development machine, I compiled and deployed the application to an Office 2007 machine.  Suddenly a couple of the features were producing a “Requested Member of the Collection Does Not Exist” error.  I was able to track it down to this offending line:

pubWordApp.NormalTemplate.AutoTextEntries("Page X of Y").Insert Where:=pubWordApp.Selection.Range

So I tap into Old Reliable (Google) and found someone with the same issue and a helpful response on the subject.  It got me on the right track, but I found the bolded portions to be incorrect:

You have a lot of work to do. 😦 

In Word 2007, AutoText entries are a specific group of the more general Building Blocks collection. You can’t access any template’s .AutoTextEntries collection the way you could in 2003. Start by reading the topic in the Word 2007 VBA Help titled “Working with Building Blocks”.

Actually, it wasn’t a lot of work and I could access the AutoText collection the same way (My main tip off– no issues on the development machine).  I just needed to add my “Page X of Y” to the “AutoText” section of Word 2007’s new Building Blocks on the test machine. Once you factor out my normal struggle of finding things in the ribbon, it was rather easy:

1) I created a header in a blank Word document and added my “Page X of Y” text.

2) I highlighted my new text and went to Insert->Quick Parts->Save Selection to Quick Part Gallery

3) When the Quick Part Properties prompt displayed, I made sure to designate the properties appropriately:

Name: Page X of Y
Gallery: AutoText
Category: General
Save in: Normal.dotm

I saved my changes, closed out Word and then that old 2003 code (pubWordApp.NormalTemplate.AutoTextEntries(“Page X of Y”).yada.yaya.yada) worked just fine. 

Once again– I, happy.  Boss, not so much.

March 16, 2008 at 11:45 pm 5 comments

Obsolete Freedoms

Two Saturdays ago I painted my guest bathroom. That bathroom sports some old, torn carpet that I have no intentions of keeping. So, unlike some of my other painting endeavors, I didn’t have to worry about spreading out drop clothes on the floor. I felt so liberated and uninhibited! At one point I dropped a brush doused in “Delicate Yellow” right smack onto the middle of the carpet. I got to shrug, pick the brush and continue my work. It was so pleasant.

Later in the week, I worked on-site with a customer. There, I work on an old application that another team is currently rewriting in newer technologies. My job is to do just enough maintenance to the old application to keep it meeting the company’s needs until the next version is in place. A new issue surfaced and I worked on updating the code accordingly. I keyed in my logic and started to manipulate an existing variable (changing an ID number to 0 so it would not get picked up later in the process). Then I started to wonder if the code would be more readable if I declared a new Boolean instead.

“Wait a second,” I thought, “This code is going to be dead in 4 months!”

So I got to shrug, keep my variable set to 0, and continue my work. It was so pleasant.

Twice within a couple of days, I stumbled upon the same sensation. In a world where we pursue the latest and greatest– a world where 1 million iPhones sell in 74 days, 153.9 million video game consoles were sold in 2007, and the average new-car buyer trades their vehicle in every 4 years— I found freedom in working with items going obsolete.

February 8, 2008 at 1:24 am 1 comment

Flickr Photos

3D Printed Products