Podcast interview with the creator of CSFBL (me!)

Earlier this week I had the pleasure of being a part of my first podcast! ZubaZ, a long-time player and active community member of CSFBL (the multiplayer baseball game I’ve been running for over 15 years), interviewed me for the 25th episode of his podcast series, Threads of Time. We talked about the history of the game, revealed some of its secrets, and outlined some of the plans for the future.

It was a lot of fun — and inspiring. For a long time, I knew that the game was good and that the community was great — and this podcast just further reinforced those thoughts for me. I have to give a serious hat-tip to ZubaZ, who made it easy to talk for nearly two hours about something that I’ve spent countless hours of my life working on.

Thanks to ZubaZ, and the entire CSFBL community for giving the game the longevity it has.

Check out the podcast: Threads of Time Ep25 – Brian

First day without coffee… or not?

I’m going to make an announcement that may come as a shock to anyone who knows me…

I’ve voluntarily decided to give up coffee.

Those that know me will probably react like the first person who saw me walking around today with a cup of water instead of a cup of coffee: they laughed. I was a heavy coffee drinker, about 5 cups a day. I enjoyed my coffee. I blogged about the wonders of coffee. I identified myself with a cup of coffee. I bought coffee for co-workers, and they bought it for me. I went out for coffee breaks when the smokers went out for cigarette breaks. I looked forward to drinking coffee…

So why the change? Ultimately, it came down to health and stress. I drink too much coffee (caffeine) and not enough water, and I’ve been too stressed lately. Coffee (caffeine) is not helping either of those.

After writing that, I decided to look up the negative effects of coffee. While typing into Google, the instant search instead brought me to this page: 7 Reasons Why Coffee Is Good For You (Popular Science). Not what I was looking for. Perhaps a more balanced review is here: 10 Reasons Coffee is Both the Best and the Worst Beverage Ever Invented (io9). Ugh. Why can’t this be easy?

Coffee isn’t a magic elixir, and it isn’t a doomsday device. Like most things in life, moderation is key. When it comes to coffee, I’ve tipped the moderation scale so far that it fell over. Time to recalibrate. I’ll be off the sauce for a while, and we’ll see where it goes from there…

Sync or synch as short for synchronize?

Today at work, someone wrote the following as a work item summary: “Synch production and test data”.

Reading this, I thought, “Which is correct – sync or synch – when shortening synchronize?

The winner is sync, and here’s why:

  • We pronounce either variant as sink.
  • c alone is often pronounced k (cake, panic)
  • ch alone is often pronounced ch (church, match)
  • Sync = ”sink”
  • Synch = “sinch”
  • One less keystroke for sync

I was happy with that until reading an article on The Language Lover’s Blog, “Sync or Synch?“, which made me conscious of other common variants, such as psych as short for psychology.

Ultimately, my search was put to bed when I read this comment:

you guys are such nerds!!! the world really doesnt care about the voiceles velar fricative converting to a velar plosive. blogging should be eliminated from the internet.

Guilty as charged…

The Runner’s Dilemma: A Story

Author’s Note: I am not a runner, and I probably never will be. My body isn’t made for running. But running is a good metaphor for journeys, and like many others, though I may not run, I still take many journeys in life, some with my body, some with my mind, and some with my heart. The below came to me this morning while driving to work, a journey in itself, as I reflected not on that journey, but on the greater journey of life, and how we get through it: one step at a time.

He had prepared for this for so long, so precisely; yet nothing was going as planned.

For years, he trained on a predictable track, its curves coming at regular intervals, its flatness something he didn’t have to think about. He trained on the perfect days, not too hot, not too cold, just the right amount of moisture in the air to stay refreshed without feeling oppressed. He was so prepared for the marathon. He knew it was coming, and he spent what seems a lifetime getting ready for it.

Now the day of the marathon was here, and nothing was going according to plan. The course was changed at the last minute. The predictable curves were now unknown turns, the hills and valleys mysteries. The course was scattered with potholes, as if God himself dropped them randomly from the sky. The weather was oppressively hot, with a harsh wind blowing loose dirt and debris, a humidity that made the air itself heavy to run through and breathe.

He wanted to give up, yet he found himself standing there, at the starting line, with countless others. His mind told him that this is crazy, that it can’t be done. But when the gun went off to mark the start of the race, his body reacted, putting one foot in front, then the next, as he found his stride. His mind told him to stop, unconvincingly, as his body kept moving, perhaps out of muscle memory, perhaps just to keep up with the mass around him.

As he moved forward, he saw people around him, some struggling, some unfazed by the changing events. The weather shifted as the course shifted, each turn bringing a new unexpected challenge. His mind kept thinking, this is crazy, I can’t do this, yet his body kept moving.

This went on for some time, the debate between mind and body, until his body started complaining. It was getting to be too much, the fatigue was beginning to set in. His body was not prepared for what he was doing.

He was about to give up when he looked around and his mind realized something: I’m already come so far. At that point, things changed. His mind found inspiration, and it tool control of the body, telling it not to focus on the entirety of the journey, but to focus on the next step… and the next… and the next…

And the body obeyed. It put one foot in front, then the next, continuing its stride, as the team of mind and body continued on to the finish line.

Tip: Don’t plagiarize when answering technical interview questions

I’ve been trying to find a SQL programmer/DBA to hire for nearly two months. Each qualified resume I receive gets the same technical screening email with four SQL-related questions. They are not difficult, and most mid-level candidates would be able to answer them in their own words.

“Using someone else’s words isn’t going to get you a job, or help you keep a job if you get it.”

The tip here is to always respond to a technical screening email in your own words. We all know that there are answers to every question on the internet, and we all use the internet as a resource to help solve our problems. This is fine. But when someone sends you an email with technical questions, they want to hear the responses in your own words. It’s OK to provide references to web sites, or quotes/snippets — this shows you know how to do research. But don’t pass off the whole response as your own.

In other words: don’t plagiarize.

Recently, I received a response to one of these emails which had inconsistent use of language, fonts, and font sizes. This raised my copy/paste alarm. So, I did, apparently, the same thing the prospective candidate did: I used Google.

One of the questions is related to identifying performance bottlenecks. The response from the candidate included this paragraph.

Performance Bottlenecks can be detected by using monitors. These monitors might be application server monitors, web server monitors, database server monitors and network monitors. They help in finding out the troubled area in our scenario which causes increased response time. The measurements made are usually performance response time, throughput, hits/sec, network delay graphs, etc.

I searched Google for the first sentence: “Performance Bottlenecks can be detected by using monitors.” The first hit was for a page on the web site GlobalGuideLine. The entire paragraph was copied from that page.

A second question in my screening email is related to storing BLOBs in the database. Part of the response I received read like something out of a technical manual:

In SQL Server, BLOBs can be standard FILESTREAM varbinary(max) data  that store the data in the file system. The size and use of the data determines whether you should use database storage or file system storage. If the following conditions are true, you should consider using FILESTREAM.

Googling the first phrase, “In SQL Server, BLOBs can be standard FILESTREAM”, proved my suspicion: the text is copied verbatim from the Microsoft TechNet article on the SQL FILESTREAM feature.

Needless to say, this candidate isn’t getting the job. Using someone else’s words isn’t going to get you a job, or help you keep a job if you get it. If you’re not qualified, don’t apply. If you can’t answer a question, say you can’t. Don’t pretend. Someone will find out, and it’ll only be worse when they do.

For more resume and interview tips (and experiences), read my blog post Interview and resume tips (and horror stories).

Simplicity 101: reducing clutter via minimalism

One thing I’ve learned to appreciate more as I’ve gotten older is simplicity. Less confusion, less clutter, less distractions can yield less stress and more productivity. (Note: I appreciate it much more than I am actually successful at doing it.)

One area where simplicity is important is in web design. A recent article by Smashing Magazine, “Principles of Minimalist Web Design, With Examples,” does a fair job at illustrating the importance of simplicity on the web, even though it’s focus is more on graphical design (not my specialty!) than interface design.

A link in the aforementioned article goes to an article, “The Minimalist Principle: Omit Needless Things,” by zenhabits, which is the source of the remainder of my comments in this post. Continue reading

Stop the email!

Some days I get over a hundred emails. Often, 90% of those are a waste of my time, and that is after excluding junk mail and related marketing mumbo-jumbo. Why so much email fluff, not-quite-spam-spam? It’s because people don’t consider the human cost of sending an email.

The Email Cost Algorithm

To understand the productivity cost of an email, we need to consider the factors that go in to an email, and how they correlate to time.

First, some facts and assumptions regarding email reading speed.

Second, some facts and assumptions about email writing speed.

Third, we’ll present some ancillary facts.

You can take your best guess as to how much time email takes up based on all that information. My back-of-the-envelope guess is that the average worker will spend about 30 minutes a day composing email, and 30 minutes a day reading email.

That being said, how do you avoid wasting people’s time with email? By knowing when you should and should not send an email.

You should always send an email when:

  • It is after hours, there is no other way to get in touch with someone, and you must make sure they received information from you at a given time. (Example: A client wants to know that their server is back online. You bring it online at 4AM. Send them an email, unless they explicitly told you to call them and wake them up.)
  • You need a record of your correspondence or need to maintain an audit trail that can be used to prove (or disprove) facts in the future.

You should sometimes send an email when:

  • You need to send a file or files to one or more people. Before sending, consider other solutions, such as YouSendIt, ShareFile, or 2Large2Email, to send your files.
  • You are sending information to an large number of recipients and have no more efficient way to communicate to them. (Example: Your company has no intranet and you need to distribute a new HR policy. A better solution than email is to hire a web development company to build your intranet, then post the HR policy on the intranet.)

You should never send an email when:

  • Typing the email takes longer than picking up the phone, dialing a phone number, waiting for someone to answer, and saying what you need to say.
  • You are sending an email to people who don’t need to read it. If a recipient isn’t expected to provide feedback to your email, and the recipient doesn’t have a need to know the information contained in your email, they don’t need to receive it. In other words: carefully review every recipient in the To: and Cc: fields; if they don’t need to know, don’t waste their time.

Remember — if it isn’t important, don’t waste someone’s time with it; and if there’s a faster way to do it, do it the faster way.

Quote: How to manage a client’s expectations

How to manage a client’s expectations:

It’s not about bending over backwards for the client. It’s about making the client think your bending over backwards when you’re not bending at all.

Not sure if I heard that from someone else or made it up myself, but I’m sure I learned it from someone much smarter than me!

Choose your passengers wisely

I commute to work five days a week, via train and ferry, and in each of those days I rub elbows with hundreds of fellow passengers. Fortunately, I often get a seat, which is helpful as I am on those trains and ferries for 60 minutes (each way!).

There are plenty of well-known rules when commuting, and I try to respect them all: be reasonably quiet, keep the headphone volume low, put your bags and packages at your feet or on your lap, don’t eat, and similar courtesies. One rule of commuting that is not well-known is related to how to choose what passenger you sit next to during your commute — and that is today’s topic.

Though I don’t do it as often now, I occasionally take (and used to always take) an express bus to work. These buses have four seats across, facing forward, split into pairs by an aisle. On an express bus, choosing a passenger to sit next to is easy: find the smallest person with reasonable hygiene who is not yapping on a cell phone. More often than not, this means an attractive woman. (I do not have bias to women; it is just that they are often smaller than men, and when given a choice, I would prefer to make the most appealing choice.)

Picking the person who sits at your side on a 60-minute bus ride can make a big difference. Pick the right person, and you enjoy a pleasant commute (and maybe a follow-up dinner or movie, if you play your cards right). Pick the wrong person, and your commute can be a miserable one.

The same holds true for life. We must pick our passengers wisely and carefully. The people who sit by your side can make the difference between happiness and sadness, achievement and failure, passion and despair, a good fit or a bad fit.

So the next time you are alone, out in the world, looking for a seat, wondering what passenger to ride withm think about your ideal, and find the best match. You’ll be glad you did.