Category: Uncategorized

  • What I did on my vacation

    I took a few days off recently to get a break from work. I’ve rarely taken time off since last winter, often working weekends, and I could feel the stress building. So I arranged for a few guest editorials and scheduled last Thursday and Friday off. My wife was sure I’d be firing up the computer and working a bit, but I really tried to avoid that.

    So I tiled my bathroom.

    DSCI0007 This was my bathroom last week before I started. An ugly, gray carpet that the builder had put into the house. It was in the whole house, including the 4 bathrooms, when we moved in. I had tiled the other 3 baths the first year we lived there, but had avoided our master bath since the room is used so much.

    And it’s a big project, about 95sq ft of floor space. But I thought I could get it done in 4 days, Thur-Sun, if I had nothing else to do. My wife was planning on being gone to some horse event, and the kids were in school a couple days, and could hang out with friends over the weekend.

    As I started to write down my plan and get a list ready to go shopping, my wife asked if I really wanted to spend my vacation working around the house. Wasn’t there something else I’d rather do? Go out, do something, see a ball game, etc. There are some things I’d do, but what I was saving vacation for was to do a lot of snowboarding this winter. Since it’s too early to do that, and I needed a break, I thought this would be simple, mindless work that would give me a sense of satisfaction.

    Tile_20091002_01 I ended up losing all of Thursday to other chores and shopping for supplies. That meant that Friday was devoted to ripping out carpet and getting the underlayment down. Then Saturday was cutting and gluing tiles. I didn’t finish, and that actually moved into Monday to get the last few tiles done, but I had started grouting and here was the current state on Sunday night when I knocked off.

    My wife asked me if I felt better, and was it a good vacation? I said it was. Despite a sore lower back and knee, despite some nicks and cuts, and a lot of up and down the stairs, I felt like I accomplished something.

    I still get satisfaction from going in the other bathrooms, and seeing the work I’ve done, and I still like driving by the 1000′ fence I built in our last house. Those projects stand out to me and give me a sense of accomplishment that pushing bits around doesn’t.

    I’ll post a more detailed look at the project on my personal blog for those that are interesting in how an amateur lays tile, but the final total looks like this:

    • 5 days (I’ll count Monday, still some small stuff that leaked into Tue/Wed/Thur)
    • about $420 in supplies
    • 96sq ft of tile (approx) laid in the main bathroom, linen closet, and toilet room
    • 4 gallons of water run through the wet saw
    • 100 trips up and down the stairs
    • 2 trash cans filled with carpet, pad, and tack board
    • 5 cuts on my hands
    • A project that will stick out in my mind for years
  • We can’t all use duct tape

    I read The Duct Tape Programmer from Joel Spolsky recently, and I thought he made some good points. Then I started to see negative comments, like this rebuttal from Jeffrey Palermo, and I had to go back and re-read the first article.

    I still think that Joel makes good points, but the main point, one that’s kind of buried near the end, is missed. I think that too often what Joel forgets is that when he starts out controversial, he can be funny, but he turns off so many people that they don’t really finish off the article. That’s fine if he wants eyeballs but not if he really wants to get people to think.

    The main caveat, which is important if you want to believe in his point, is this: Duct tape programmers have to have a lot of talent to pull off this shtick. By definition, the average developer doesn’t have a lot of talent. They’re average. If they use duct tape and throw things together, then we wind up with a POS that can’t easily be refactored, enhanced, etc.

    The article, to me, is written for the superstars. The guys that do understand multiple inheritance, or can compute the results of a T-SQL statement with 2 CTEs, and 12 tables in their head. They shouldn’t get so caught up in complexity; they should code and make things happen.

    I’m a big believer in agile methods, making small changes rapidly, and moving forward. Get things done. Remember shipping is a feature, and don’t be afraid to do something half-assed at times.

    Just plan to fix it, fix things regularly, and work to improve your product. Not make it conform to any other measure by software engineering standards. Make it conform to your users’ standards. It works well for them.

  • My Journey – Part I

    I’ve actually been meaning to write about my journey as a SQL Server professional, but kept putting it off. I was finally "tagged" by Jacob Sebastian, so I decided to make my entry. I’m not a huge fan of being tagged, but I’ll participate in this one. I tend to write what I’m inspired by, not by challenges. That being said, these can be fun in the community.

    I have a long journey, so I’ve split this into two parts. Today I’ll look at my early development and education, and tackle my career tomorrow.

    A Programming Interest

    vic-20-de-yellowed My interest in computers started when I was young, maybe 11 or 12. My brother and I saw a Vic-20 computer in a store somewhere. We were captivated and begged my Mom to buy one. It was rare to get her to actually spend money on anything that might be construed as a toy, but she must have had some vision of it being a tool and agreed to buy it.

    We got it home, with it’s cassette tape storage device, and my brother and I proceeded to play a few games on it. That got boring pretty quickly, especially compared to our Atari video system, and I decided to make it do my bidding. Using some sample code, I began to write programs, learning how to make it respond to input from the keyboard, arrow keys, and build simple games that we could play. I learned to program in computations, like PI, and more importantly, allow it to store data that I could recall later. I know I built some early science programs to help with school work.

    AppleII001a A few years later I’d moved on to an Apple II. Actually it was a compatible, and acquired through a combination of working and saving my own money and begging for funds again.

    This was a real computer, one that had a disk drive (single 5.25") and color graphics. A couple of my friends had them and we traded games, cracked them where we could to remove copy protection, and even edit the text at times to display different headings and labels in games.

    This was the machine that taught me truly how to program, with AppleBasic, allowing us to write more complicated games. We wrote our own Dungeons and Dragons simulator as well as additional programs for school. I was lucky enough to take a programming class in early high school and learned how to PEEK and POKE around memory on this machine. It was exciting, and the best part was it taught me how to type fast.

    Typing was a combination of waiting until the last minute to finish off papers that I could print at school and accidentally formatting more than a few disks that contained my assignments. I learned how to rebuild programs from memory very quickly.

    College

    TRS80-III I started college with every intention of majoring in computer science. I’d taken an AP computer class with Radio Shack TRS-80 computers and learned PASCAL. In addition to learning about sorting, pointers, recursion, and more, I realized the the power of flat files for storing data allowed me to handle larger loads of data and perform analysis. No one wants to type data in every time they run the program.

    When visiting a friend at Dartmouth, they’d all been given a brand new Macintosh computer in 1984. It sparked my imagination and I could only dream about what might be possible in the next few years.

    At college I spent a year and a half learning LISP, APL, Fortran, and Assembler in various mainframe and mini-computers. This was the age of time sharing computers, and we had to travel to labs around campus to get our assignments done. That meant we were limited in the times that we could work, and also the time allotted. Our accounts were limited to xx minutes of CPU time per semester, so some level of efficiency was required.

    We also had a central printing room in one building. We would submit print jobs, and then go pick them up from a series of bins labeled A, B, C, etc. Your printout would have a page with your student account name on it in the bin that was labeled with the first letter of your last name.

    scenes0236

    My first two years of college were at Syracuse University in the mid 80s. This was the end of the cold war, but when I entered college many people were looking forward to working in the defense industry or in a government think tank, both of which had the best chance for someone to play with the latest technology.

    It was also the Wall Street era, and I found many of my programming classes too easy. Between the cold winters in upstate New York and the lure of making money in the Big Apple, I transferred to the University of Virginia and changed my major to economics. The next two years of my life were spent digging into accounting, finance, and economics, with every intention of going to work for a large bank or brokerage when I graduated.

    Lost

    My senior year of college started out great. I had a high GPA (3.8), had done well in my classes and was working on lining up interviews as I polished my resume. Life was good as I went to play rugby on the first Saturday in October. We hadn’t lined up an opponent this week, so we arranged a scrimmage within the team. I had been playing scrum half, and picked up the ball early in the game and headed around the right side, trying to outdistance my opposing scrum half, who was chasing me from behind.

    He caught me with a high tackle, both of us landing on my left shoulder. I knew something was wrong when I couldn’t lift my arm after getting up. I guess there was pain, but it was the lack of mobility that bothered me. Someone walked me to the medical center where I had my favorite jersey cut off me and I was examined. A grade III separated shoulder was the diagnosis.

    I’d worked for an orthopedic surgeon in high school, so I accepted a brace, walked home and got in my car and headed back to Virginia Beach. I enjoyed the weekend with a few friends and a few more beers before seeing my former employer on Monday. He recommended against surgery after a couple days, and said it would heal, but it would take time.

    That was the first really bad injury of my life. While I’d had sprains and pains over the years, this was the first time I as out of action for more than a month. In all, I wore a shoulder brace pretty much 24 hours a day for 12 weeks. A lot of sponge baths, learning to take notes with my right hand (I’m left handed), and some oral exams gave me a new perspective on life. I didn’t pursue interviews or a career and focused on getting healthy.

    It was April before I could do a push-up, and my only interest in computers was how they could make it easier for me to finish the various essays and papers I’d been assigned. I graduated and left school, heading back to Virginia Beach and another summer job of tending bar.

    Back on Track

    As much as I enjoyed working in a nightclub, as the summer moved on I became a bit bored. With nothing to look forward to in September, I was a little worried. One of my co-workers was taking classes in Electrical Engineering at the time, and due to finish the next year. He’d been working on his degree for 6 years, and I felt a little guilty for finishing my degree and not using it. I decided to enroll in the local community college and at least start working on a technical degree. A recession was looming, Wall Street wasn’t looking attractive, so I went back to school.

    I spent a year at community college beefing up my electronic skills, studying physics, and taking C. It had been 3 or 4 years since I’d programmed a computer and C was both refreshing and challenging to me. We wrote a word processor that gave me fits in managing large, complex strings. After that year I decided to pursue a masters in Electrical Engineering, thinking it was a good, practical field.

    odu

    Another year at Old Dominion University had me working with computers more than I expected and after finding myself in the computer lab helping the staff upgrade from Sun OS to Solaris one weekend, I switched to Computer Engineering.

    Everything was going well and as I approached my last year of full-time study, I decided to take an internship over the summer. That was the start of my career, and I’ll cover that in Part 2.

  • Winding Down

    I’m trying to finish up the last few things here at work before taking the weekend off. I scheduled off the next two days and plan on tiling my bathroom. Tia says it’s not really time off, but it’s a good project, it’s mindless (relatively), I’ve been wanting to do it, and I plan on leaving the computer alone. I might still be tweeting from the iPhone, but no work on SQLServerCentral.

    So I’ve scheduled out the next two newsletters, I’m editing Monday’s podcast and uploading that, and will schedule that newsletter tonight. Then I’ll be about done for 4 days.

    Looking forward to unwinding a bit. Now I need to remember to pick up some more beer tonight 🙂