Steve Simms

Highlights from 2008

Submitted by Steve Simms on Sat, 01/03/2009 - 12:30am.
  • Business
  • Personal

January

  • Backed out of building a house with a separate floor/apartment for the business, when it became clear that it wouldn’t be able to happen in the timeframe necessary.

  • Decided to stop actively holding back growth in the business, and instead to pursue growing and hiring employees.

  • Started volunteering as the financial administrator for the local CCC group.

February

  • Found office space at 30 Airport Road, which, in addition to being in a great location and having most of the amenities I wanted, required only minimal construction to be usable. Some friends got together and painted the whole thing for me over the course of a weekend, as well.

  • Moved from our house in West Lebanon to an apartment in Lebanon. Great view, convenient location, and decent noise isolation.

March

  • Started work in the new office. What space! It’s three times the size of the largest of the other three offices I’d been in, and hopefully won’t get outgrown for at least a few years.

  • Hired two people part-time on a trial basis through the summer. Lots of training and learning.

April

  • Added lighting to my repertoire of production services, now that I have somewhere to store the lights and stands.

  • Helped with a missionary training conference. The sound mixer in the chapel of the conference center was from 1978!

  • Did some coding for very nearly the first time this year. Wow, that was much too long a gap, but it means that having employees was starting to have the desired effect of freeing up some of my time. Indeed, looking at my Changelog at the end of the year, 40% of the file (which goes back to 2004) was written between April and December 2008, and that doesn’t count work done on other services this year.

May

  • Ended up not being nearly as busy as in prior years. I never did figure out why, though I think it might have been as simple as people spreading out their mailings over a longer period of time, since June stayed busier later than normal.

  • End-of-school-year concerts and banquets still happened, and the lighting went well.

  • Changed the rate structure for prayer letters and introduced service levels, which meant that I’d no longer be reading every single letter.

  • Discovered that the office suite next to mine was going to be vacant shortly. I’d been hoping that this would happen, but not for about two years, when I’d be in theory pushing the limits of my current space. My landlord offered to lease me the space at a huge discount for those two years, though, so we went ahead with that.

June

  • Tried out a new, larger inserter. Looks good, but we couldn’t come to an agreement on lease terms, so it’s getting put off until 2009.

  • Got some construction estimates on what it would take to turn the suite next door into several offices. Discovered that both the landlord and I were off by an order of magnitude on our original guesses! Construction ain’t cheap, even when the building is already in place. Suite #2 is therefore going to remain empty for a while longer until the business works up quite a bit more in savings.

  • Started work on a new service, as well as a framework to allow me to take advantage of much of code that I’d already written for the prayer letter service.

July

  • Decided to ask one of my employees to stay, and the other to leave. Ouch. Didn’t handle the latter well.

  • Attended OSCON.

  • Continued work on the new service, but eventually decided it was going in the wrong direction, and started over.

August

  • Took first real, no-work vacation in four years. Didn’t check E-Mail all week. This is a definite benefit to having an employee.

  • Kevin started working in a more permanent capacity, with the goal of taking on nearly all of the production work over the next couple of months (previously I had only had them doing post-production work).

  • Got a new laptop, and successfully installed Ubuntu on it, surprisingly easily (I’d never had any success getting Linux to work on a laptop including all hardware components before, despite many attempts). Have been running Ubuntu as my non-work computer ever since.

September

  • Dartmouth CCC started up again, which is always a busy time for me with surveys and other administrative stuff.

  • Migrated from CVS to Mercurial for source control.

  • Updated the survey code to run on the new framework while in the middle of Vermont with no Internet access, thanks to Mercurial and Ubuntu.

October

  • Continued working on the new service on an intense schedule. After taking into account the flaws in the first iteration, things come together much more easily.

  • Started looking at buying/building a house again, upon finding out that our apartment rent would be going up by over 8% if we stayed another year.

  • Found a piece of land fairly conveniently placed in Lebanon. Offered asking price. Offer was turned down. Welcome back to the wonderful world of upper valley real estate.

November

  • Bought a fair bit of equipment and furniture at an auction for a local printing company that had gone out of business. Made a quick trip to Newfoundland with one particularly large and heavy item intended for the Canadian office. That was fun.

  • Almost bought a new modular house, but got nervous over a significant number of construction issues, and decided to back out. Looked at a few other houses without success, but eventually found one in Plainfield that looks like it’s going to work out. Also a new modular, small, but well laid-out for our needs, and it has a small barn.

  • New service reached a demo-able state. Showed it to a few people at a conference, and got a better idea of what needs to be done before releasing it for public use.

  • Began the end-of-year rush, roughly two weeks before Thanksgiving. The auction purchases are already coming in handy!

December

  • What a rush! Lots of work (33% more than 2007), but having Kevin and Christine meant that nearly all of it got done within our timeline goals, which represented a huge improvement over 2007. The particularly-large mailing that derailed us in 2007 didn’t affect our turnaround times at all this time around.

  • Handled audio and lighting for Christmas concerts. One was particularly complex, but came off well, and was very enjoyable (even if I did end up getting sick due to lack of sleep preparing for it).

  • Ended the year with an enjoyable week of programming some significant enhancements into the PLS software that will make it much easier for us to handle complex mailings in the future, based on lessons learned during this end-of-year season.

August E-Mail Statistics

Submitted by Steve Simms on Fri, 09/05/2008 - 9:15pm.
  • Personal
  • Productivity

I was helping someone try and conquer E-Mail overload yesterday, and at one point he asked me how many E-Mails I get. I actually didn’t know, so I just ran a couple of searches on my logs.

In August, I received 14,273 E-Mails, of which 12,362 went directly to my spam folder. Yes, that’s 86.6% spam. One benefit of having your own server is that you can set up a really good spam filter, so I actually only see a spam or two every few days, and I’m not aware of ever having any false positives in over six years of using this system, except for one catalog E-Mail that I didn’t really want anyway.

That leaves 1,911, the vast majority of which went into my Inbox (I used to filter into folders, but now just have everything go into the one Inbox, and I deal with it right away). 69 got filtered to trash for one reason or another (things I used to read but don’t any more, but didn’t want to unsubscribe for whatever reason). Which works out to be just under 60 per day that wound up in my Inbox.

That said, I was almost completely off of E-Mail for a week, and it was summer, which tends to be slower, so I’m not sure how representative that is of a normal month.

Looking at September, so far, I’ve received 2,375 E-Mails, 1,918 of which were filtered as spam, and 8 of which were filtered to trash. That works out to be nearly 90 E-Mails per day that ended up in my Inbox, and there are three hours left in the day.

Number of E-Mails isn’t a very good measure of how busy a person is, since the number doesn’t convey how much work is involved in a given E-Mail. I happen to get a lot of status E-Mails, which are just read-and-delete, so people who get far fewer E-Mails than me could very well have more work to do to keep up with them. And people who get far more E-Mails may be able to delete more of them without even reading them.

But it’s an interesting number, all the same.

In terms of outgoing mail, I sent 344 messages in August, or a little over 10/day, on average (with a week off — discounting those seven days, it jumps up to between 14 and 15 per day. This month, so far, I’ve sent a little over 20 E-Mails per day. This number has dropped rather significantly since I’m no longer the one sending most of the production-related mail for my business.

Again, there’s no measure there of whether they were twitter-sized or Pauline epistles, but it’s an interesting number to look at.

I think one of the best measurements of how well you’re conquering E-Mail overload is by the size of your Inbox. Ideally, it should be zero, at least every so often (once per day is a common recommendation). This doesn’t measure how busy you are with E-Mail, but it does tell how well you’re keeping up.

For me, I aim for an empty Inbox at least once a week, and am usually able to meet it (I keep track). That means that any E-Mail that comes in will have an answer within a week, even if that means saying “I can’t get to this now, but will get back to you at such-and-such time” and otherwise ending up on my to do list.

Current Inbox size: 10, with the earliest E-Mail received yesterday.

A new kind of job

Submitted by Steve Simms on Sat, 08/16/2008 - 11:55pm.
  • Business
  • Personal

This has been a weird week for me.

On the one hand, the number of mailings sent this week comes in at #7 for all time, which is not bad at all for a summer week (being closed last week certainly helped).

On the other hand, I was barely involved in any of them. I did proofreading on roughly two mailings (one of which was a postcard, so that barely counts), and I only read a few others because I happened to be walking by the staging area while they were there, and I was curious what their writers were up to. For the majority, my only involvement was putting together the invoices, and trying to suppress the “did you remember to…” urge.

This is going to take some getting used to. Over the past few years, I’ve read literally thousands of prayer letters (it’s a neat job), and my days have been more or less defined by what shows up on my work list. Monday’s the busy proofreading day, Tuesday’s the heavy output day, Wednesday-Friday show declining amounts of work and are therefore the best days for meetings, and so on.

Now, rather than doing all the work myself, my task is to make sure Kevin has everything he needs (training, supplies, background knowledge, environment, etc.) to do the work. Beyond that, which doesn’t take as long — particularly on Mondays — I need to figure out what to do with myself.

Not that there’s any shortage of other things to do, and not that I’m just twiddling my thumbs, by any means.

But my schedule is much less defined than it was even a month ago, when I was still involved in some sense with every letter, even if I wasn’t doing most of the work then, either. And I didn’t view it as being very defined even when I was doing all the work. So I need to be careful to enforce some level of discipline that isn’t being forced on me by the work itself. Otherwise, it’ll be too easy to fritter away time on things that I don’t really care about.

Loosely, I want to be dividing my available (work) time into the following main areas:

  1. New product development. I have a ton of ideas of things to implement, and need to choose and create one that will help fund the creation of the others.

  2. Existing product enhancement. There are areas of the mailing service that could be improved, and in some areas, there’s a lot of room for improvement. There are also a number of things that I need to change from the operator’s perspective so that Kevin doesn’t need access to some of the arcane and obscure knowledge in my head that I only know because I wrote the code that he’s using, particularly when it comes to importing mailing lists (very powerful code; not so user-friendly).

  3. CCC involvement. Beyond being keeper of the checkbook, enforcer of the budget, and discoverer of really obscure financial policy oddities, I’d like to get a little more involved with people again. I miss that. Now that the class of ‘08 has graduated, I don’t really know any of the students. How time flies! I only tend to connect with a few students in a given class anyway, and it was a bit of a shock to be going to a thesis presentation for someone I clearly remember staying up all night with during C&R her freshman year, playing cards outside Mid Mass while making sure nobody ran off with the tent.

  4. Infrastructure. The process of ensuring that nothing is going to break under load, that everything is reasonably secure, and that people who work for me can enjoy doing so. This is less of a pressing concern than it has been in the past, now that cash flow isn’t a nail-biting issue, but it still needs time and attention.

  5. Other stuff. I want to work on some skills and areas that I haven’t given much attention in ages. More on that some other time, perhaps.

That’s what I want to be doing. Now I just need to figure out how to structure my time to be most effective in doing so. And get used to the idea of not being completely up on the missionary endeavors of several hundred people.

A Public Service Postal Announcement

Submitted by Steve Simms on Thu, 08/14/2008 - 2:03pm.
  • Business

Here’s another in a series of postal announcements that are so far from having anything to do with my business, I feel inclined to promote them:

Day-Old Poultry

We [the postal service] revised [the Domestic Mail Manual, section] 601.9.3.2 to add day-old emu chicks to the list of poultry accepted for mailing.

So, if you’ve been chomping at the bit to send day-old emu chicks to all your friends, now you can.

If you’re not into mailing chickens, you can also pay for your P.O. Box online as of this month, rather than needing to do it in person at the post office. So don’t go saying I don’t write anything useful here. :-)

You know your computer is slow when...

Submitted by Steve Simms on Mon, 08/11/2008 - 2:28pm.
  • Business

…running software remotely on a server in Texas (from New Hampshire) is faster than running it on the computer that’s in front of you…

OSCON 2008 Reflections, Part 3

Submitted by Steve Simms on Sun, 07/27/2008 - 4:00pm.
  • Personal
  • Programming

Perl is an insane language. I love it.

I’m guessing that there are very few languages that can be made to interpret rod logic, as shown by Damian Conway during the opening night’s keynote (or Latin, or Klingon, to highlight other talks he’s done), nor are there all that many languages that let you write positronic variables that let you return results before you’ve calculated them (same talk).

But even if you discount the things you can do with filters, how many languages let you do something like this:

*{";\n"} = sub { print something }

In case you’re not familiar with some of the lesser used Perl syntax rules, that says “make a function called ‘semicolon newline’ and have it print ‘something’ whenever it’s called.”

That will probably result in a “so what” response from the non-techies reading this, but it should cause a certain tightening of the stomach and a feeling of low-level despair to any programmers reading this, possibly with a little jaw-dropping, once they realize what it means. (Hint: What is at the end of every statement in most languages?) And maybe some anti-Perl flaming for even allowing such a thing (don’t worry, it gets worse — for the C/C++ programmers out there, you can also name a function “\0”). But you can write Fortran in any language.

Back in 2004, I attended a tutorial called Perl Best Practices. This year, I attended Perl Worst Practices. Damian C. commented that we must be the smartest, cleverest people at the conference to have convinced our bosses to let us attend a three-hour tutorial with that title. I’m not sure what that says for me. Other talks included Perl Security and The Twilight Perl (showing that things that should be syntactically impossible really aren’t).

What’s neat about Perl’s insanity is that it let’s you do practically whatever you want. Even if you shouldn’t. Even if 99.999% of the time it’s a monumentally dumb idea. And that allows best practices to be developed and codified over time, rather than being limitations imposed by the language (there is that 0.001% where it’s the perfect solution, and saves you days of writing workarounds). This is increasingly becoming a defining point of the Perl community, once you get away from the people who treat Perl like stereotypical PHP.

Learning some of these crazy tricks, while hopefully not the sort of thing you’d ever use in production, gives you a better understanding of the language. If nothing else, that can be really helpful for debugging, or if you ever have to maintain someone else’s code (or code that you’ve written more than six months ago).

Because, once you’ve spent three hours going through SelfGOL statement by statement, there’s probably not much that an inexperienced or undisciplined coder can do to scare you.

Outside of the Perl world, one of my goals for the conference was to get a better understanding of Ruby, since it’s getting a lot of attention. Well, I tried to be open-minded, but even the presenter reinforced that it’s still a relatively new and untried language that’s going through a fair bit of change as it’s maturing, and the syntax didn’t seem all that better when considering code to line noise.

The “fair bit of change” description is especially true for Ruby’s frameworks. Not that Perl doesn’t have its own problems with frameworks (it does, and I may write some thoughts on that at some point, since they’re mostly not safe to use, either), but Rails is probably the main selling point that Ruby has, to the point of being synonymous to a lot of people, and it’s still very much a moving target, without enough of an emphasis on backwards compatibility.

That makes it a very bad choice for any program that you want to stick around for a while, unless you’re willing to invest a lot of your energy in keeping up with the changes to your underlying framework, rather than enhancing your own code (that’s my big problem with Drupal as well, despite my really wanting to like it).

But lest I be accused of having a bias against anything that isn’t Perl, I did come out of the conference with an interest in learning more about the Mozilla framework, along with a renewed desire to help in at least QA with that project, with the hope of eventually getting to know it well enough to write some client software using its tools. And I went to a good session that did an introductory overview of C, since that’s a definite area of weakness in my skill set at the moment. I probably should have attended a Python session as well, but there are only so many timeslots available. Maybe I can set that as a goal for next time.

All in all, I think I was only in one session that was particularly bad. Otherwise, there was a huge range of quality, but I didn’t find myself wishing I had gone to a different session instead. So that was definitely a win.

More on speakers and presentation styles next time.

OSCON 2008 Reflections, Part 2

Submitted by Steve Simms on Sat, 07/26/2008 - 1:00pm.
  • Personal
  • Programming

Part 1 was a generic overview of my experience at OSCON this year. In short, I had been looking forward to this conference for about three years, and I wasn’t disappointed.

An event like this would probably be an anthropologist’s or sociologist’s dream study. Get over a thousand mostly highly focused, technical people, 80%+ of whom are introverted, statistically speaking, all with a fairly narrow similar interest, and put them all in one place to see what happens. It’s a lot of fun.

What happens is that a large number of them open up. They’re finally among people who understand them. They have conversations with complete strangers, almost like they were extroverted. (It helps that there are some extroverted people to act as catalysts.) They have that common understanding with these people that they lack with “normal” people, defined as roughly 99% of the rest of the world.

If you think I might be exaggerating, consider this — how many conferences have a “People” track, wherein many of the sessions in that track are related to how to get along with and interact with other people? (And some of them, based on overheard feedback, included practices that many would consider pretty fundamental, like, oh, say, the importance of showering.) That’s how bad geeks can be, in general.

One of the better talks that I did end up attending in that track (while speaker-following) had as one of its titles “Hacking Wetware.” For the uninitiated, “wetware” == “humans”. Oh, and hacking can be more or less defined as “getting to understand at a fundamental level,” not as “breaking in and destroying” or “doing evil things”.

Among other things, including using The Sims as its overarching point of reference, it featured the gem of explaining the stereotypical greeting using the TCP three-way handshake:

  • Hi, how are you doing? (SYN)
  • Good (ACK), and you? (SYN)
  • Good, thanks for asking. (ACK)

It’s great because it lines up so perfectly with the point of the greeting — you really don’t care how people are doing, you’re just establishing communication. I admit, I poke fun at people rather often by either changing or abbreviating line two, and watching them completely miss it. Though, the best one I witnessed was actually done by Christine at a restaurant, when she answered “Wet” (it was raining outside), to which the hapless greeter replied “I’m so glad to hear it. I’m fine.”

Anyway, back to geek-watching. My flight to OSCON was a somewhat poorly thought-through one-stop flight from Manchester to Portland with a layover in Philadelphia. Timing-wise, it worked well, but I hadn’t thought about the fact that Philadelphia is further from Portland than Manchester, which made for a really long second flight.

While in Philadelphia, it occurred to me that there was a decent chance that I might be able to spot other people who would be going to OSCON. So the game became how to spot them. (I did this last year for the National Postal Forum. There was a whole group of postal service employees on my flight.)

An observation that I made some time ago with regard to Christian conferences is that you can usually tell by what t-shirts people are wearing. Christians know that they’re not going to face much of any persecution while at such a conference, so they tend to wear all their religious stuff there. (This isn’t just a religious thing — you wouldn’t walk into a bar in Boston wearing a Yankees cap and jersey without expecting some persecution, and possibly higher prices.)

So, one person made it easy. He was wearing a t-shirt that asked “What’s your uptime?” Easy tell.

Looking at another person, I got the sense that he was a geek, but initially wasn’t sure. Right demeanor, right dress, right luggage, but nothing definite. It wasn’t until we both got on the same train to get to our (same) hotel that I noticed the subtle giveaway — he had a glider from Conway’s Game of Life sewn on his messenger bag. There’s no mistaking that, but only if you’re “in”. Turns out he’s a Perl geek, too, based on the sessions we were both in.

Back to sociology. The other thing that was amusing (and which I practiced a fair bit) was that you can completely ignore people and it’s perfectly fine. As was noted while the speaker was talking about the three-way handshake, idle chit-chat isn’t a strong point of geeks, since many don’t see the point (it’s a pragmatic thing). On the other hand, you could dive right into one of the topics of the day and that was also fine. Never mind that you hadn’t introduced yourself.

One thing I didn’t practice was the habit of a lot of people in the audience to spend the entire session on their laptops. Some were live-blogging the sessions, some were chatting on IRC about the speaker (there was apparently at least one instance of buzzword-bingo during a keynote), and who knows what others were doing. It wasn’t particularly distracting, so it’s not a complaint. Since I didn’t know anyone at the conference, I didn’t have any incentive to join in. Plus, my goal was to focus on the content of the talks, along with how it was being presented.

Let’s see, conference topics are the next thing to cover, but I’ll save that for next time.

OSCON 2008 Reflections, Part 1

Submitted by Steve Simms on Fri, 07/25/2008 - 10:00pm.
  • Personal
  • Programming

O’Reilly’s Open Source Convention is now over for 2008, and I now have the rest of the day to relax, rest, and reflect before my flight tomorrow.

I ended up doing a lot of reflecting, so in the interest of not publishing a novel in one chapter, I broke this post up into several parts, and will post them more or less daily (if I remember) over the next few days.

Christine commented that I’ve effectively been off the grid this week, and that’s been mostly true. I’ve handled a few E-Mails, mostly customer-related, but otherwise I’ve been a lot less available than even the last time I was here.

That’s mildly odd, because I’ve also been a good bit less social this time around (last time I hung out a lot with the PostgreSQL folks; this time, other than an evening with the Mozilla QA people and a Birds-of-a-Feather session on open source in churches and missions, I barely spoke with anyone).

On the other hand, I was personally paying for this conference, whereas the last one was paid for by my former employer, so I had a lot more incentive to squeeze every penny of value out of the conference that I could. Not that I was slacking off the last time, by any stretch. Which is exactly why I’ve gotten a few “Hello?” E-Mails this week, I suppose.

I don’t think I learned as much this time as I did last time, on an absolute scale. That doesn’t really surprise me — I knew a lot less last time, and I’ve spent the past four years working on expanding on what I picked up from that conference. But the sessions at this conference did do a lot to fill in gaps and refine my knowledge, and would have been worth it for that reason alone.

One thing I learned last time was that it can be a better use of time to follow certain speakers around than just picking sessions off the chart based on topic. Quite simply, this is because some speakers can make any topic a worthwhile learning experience, while other speakers haven’t spent enough time learning about speaking to be able to effectively present even an interesting topic.

That was borne out this time as well. After the first day of the conference, I decided to follow Paul Fenwick of Perl Training Australia, to the extent that I watched him give the same talk twice. He was probably the best presenter at the conference this year, at least that I saw. His presentation style is fairly similar to Damian Conway’s (another person on my “follow” list).

A mildly related observation is that you know you picked a good (or at least an esoteric) session on Perl when Larry Wall is in the audience. For any CCC people reading this, that would be roughly akin to you giving a talk on the Four Spiritual Laws and having Bill Bright sitting in the first or second row, watching and listening attentively. So, Tim Bunce (of DBI fame) made it onto my “follow” list after that session, too. His presentations weren’t of the same caliber as the other two (few are), but they were very useful.

Speaking of usefulness, I skipped nearly all of the keynotes, except when Damian C. and Paul F. were presenting. Maybe it’s that open source is more of a pragmatic consideration for me than it is an ideological one, though I suspect that at least some of the keynotes were paid advertising. In any case, they didn’t seem all that interesting, and I heard at least a few others (who did attend) say the same thing. This had the added benefit that it let me sleep in.

Oh, and speaking of sleep, having a conference in Portland, OR was really nice once I got here. It meant that an 8:30am start time was actually an 11:30am start time as far as my physiology is concerned, which is a much better time for a morning session for geeks to start, in my opinion.

And that’s probably enough for one post. Observations on geek anthropology, conference topics, and presentation styles will be coming up subsequently.

Five years being Technically Sound

Submitted by Steve Simms on Fri, 07/11/2008 - 11:52pm.
  • Business

Technically Sound has been around for five years as of today.

This would probably be a good time to reminisce about milestones and interesting things that have happened over the past years, including such things as deciding to experiment with sending prayer letters for multiple missionaries, quitting my day job less than a year later, renting various offices and houses where my main concern is the main circuit breaker’s capacity, and so on… Bootstrapping a business on roughly $200 of startup capital is such an odd thing, and there are so many stories that could be told.

If I did that, though, by the time I finished writing, it wouldn’t be “today” any more. Suffice it to say that there’s nothing I’d rather be doing, and the prospects for growth are looking really good right now.

Having a couple of trained employees, along with the lull in work during the summer, is allowing me to spend quite a lot of time planning for the future and working on a new service, both of which have been keeping me up at night, but in a good way. :-) I’m more eager than ever to be working on enhancements to the service and keeping up with growth.

Actually, that’s largely why I’ve been so scarce here. I could write on deefs.net, or I could write code. Code wins out almost every time, especially when the projects are fun to work on!

So, with that, I’m going to sign off, and maybe write a little more code or do a little more planning before I call it a night.

Happy birthday, Technically Sound!

On File Naming Schemes

Submitted by Steve Simms on Mon, 06/23/2008 - 10:26am.
  • Business
  • PLS Observations
  • Programming

Here’s the main reason why my file naming scheme can never be to just use the names that my customers use:

  • June08prayerltr.pub
  • Response Sheet.docx
  • May Letter - year in review.doc
  • June 2008 prayer letter postcard.pub
  • june 08.pub
  • June 08 PL.pub
  • June, 2008.doc
  • June 2008a.doc
  • May_June Prayer Letter.pdf
  • Update June.pdf

These are all files that I have open right now.

This is pretty common throughout a given month. If I stuck all of those in the same directory, and tried pulling up the one I needed, it would be a disaster waiting to happen, besides the fact that I’d be constantly overwriting files.

Since I’ve started, I’ve been using lastname-YYYY-MM-DD.pdf (or .doc, or .pub, or whatever), and for the past few years, I’ve been creating a new directory for each month (named YYYY-MM), which is somewhat redundant with the filename, but it works, and I could combine the directories if I needed to, without running into problems.

It has a couple of drawbacks. It breaks down at the end of each month, when some files get submitted for a mailing on the last day of the month, and more files on the first of the next. Not a big deal, but it means going back and forth between directories, or just having files in the wrong directory.

Also, last year, I started running into the problem where two people with the last name (Smith, which should be no surprise to anyone) would send letters on the same day. So, in those cases, I appended the first letter of the first name to the list (so, smithj for a fictitious John Smith).

Then, there was the family where the parents are missionaries and so is at least one of the kids, and they both submitted letters on the same day, and they have the same first initial. So much for that solution.

When I got three Smiths on the same day, it was clearly time to think up a new naming scheme.

I haven’t implemented it yet, but my current plan is to have the software create and populate one directory per customer, with a “Common Files” directory (for signature images, frequently-used response cards, etc.) and one additional directory per mailing. Then, since the computer’s doing all the work and not me, I’m also planning on having it create file system links for all of the active (and maybe recently finished) mailings in another directory, so I’ll be able to work out of the one directory, and still have an easily-accessible archive.

That should help address the fairly rare case when I’m accidentally working in the wrong month’s directory, and open last month’s letter, or something like that. It’ll also mean fewer files to sort through on a daily basis, since the server will be archiving all of the finished files out of sight.

123456789…next ›last »
Syndicate content
  • About
  • Humor
  • Programming
  • Tech
  • Sound
  • Contact Info
  • What's a Deef?
My Amazon.com Wish List

Welcome to Deef's Net, Steve's online home.

If you think of his professional web sites as his office and workplace, this is where he hangs out in the evenings, chats about what happened during the day, and explores some hobbies.

Recent Posts

  • Highlights from 2008
  • August E-Mail Statistics
  • A new kind of job
  • A Public Service Postal Announcement
  • You know your computer is slow when...
© 2000-2008, Stephen Simms. All Rights Reserved.