Code Poet, Swordsman, Eternal Wanderer
Please feel free to comment
Email: james AT jameshollingshead DOT com
Saturday, May 31, 2008
Another Message From Our Sponsors.
I went ergo quite a while back. With the amount of time that I spend on the computer, it just makes sense. The less damage I do to my body while I work, the better. It was a bit of an adjustment, but I think it was well worth it.
That said, my old gel mousepad was in real need of being replaced. It was a cheap cloth one that I picked up along the way. I'd had it for a couple of years and it was starting to leak gel.
I didn't want another cheap one because I was tired of getting sticky hands from leaking gel pads. Since I like my Fellowes Crystals gel wrist rest for my keyboard, I decided to give their mousepad a try.
Weirdly, I ran into it a little more cheaply at Office Max here in town than I can get it from Amazon, so I went that route (I think I mentioned being cheap before. Not to the point of being a tightwad, but I appreciate the saving of a few bucks here and there :P)
So far, I have to say that I like it. The gel wrist rest is firm yet just yielding enough to be comfortable (unlike my old pad which gave way too much). The mousing surface is nice and has a lot less drag than my old cloth pad had. The size if fairly standard for a gel mousepad unlike what some of the reviews on Amazon say.
The big "Fellowes" logo at the top of the pad on the mousing surface kind of annoys me, but it's not like that's a deal breaker or anything. I just tend to dislike logos plastered over everything. I even took a seam ripper to my messenger bag to remove the ugly red logo on it when I picked it up. It's just a personal thing. Generally the only readily visible logo on anything I wear is on my shoes and my backpack.
I might see if I can take a fine grit abrasive to the logo to remove it at some point in the near future. We'll just have to wait and see.
All in all, I have to say that I approve. Then again, I tend to think that my wrists are worth the $16 the pad cost after taxes (Though I might be biased since I even have gel pads for use with my laptop when I have to use it out of the house).
Current mood: Tired
Current music: Aqua - Doctor Jones (Yes, I listen to Aqua. It's fun.)
Tuesday, May 20, 2008
Late Night Advice.
About a week ago, I got an email from a CS student in
He seems to be a bright guy, is nice and eager to learn. I also have to say that his English is a heck of a lot better than my Spanish is after far too much disuse. Honestly, I have to say that I enjoy the conversations. It’s often nice to meet new people, and I seem to get the opportunity so infrequently of late.
Among other things, one of the things he has asked is if I have any advice for an aspiring CS student.
I thought that part of my response to him deserved to be posted here since it might be of use to someone else out there.
Let's see, my advice for you as an aspiring computer scientist...
* Study and do your projects, but take time to have fun too. There is more to life than class and books (though class and books are important). Sometimes it is the things you learn outside of your classes that come to mean the most to you.
* Don't be afraid to try new things. Opportunities are where you find them and sometimes you regret the ones you passed by for the rest of your life.
* Don't be afraid to ask questions (but do it politely). The people who insult or look down on you for asking generally do it because they either don't know the answer and don't want to appear uninformed or because they have forgotten what it was like to still be learning those things.
Most people who know what they're doing are more than happy to help people out as long as the person is willing to learn and is polite.
* Try to learn from your mistakes. (Try to learn from your successes as well, but you should especially try to learn from your mistakes)
* Try not to get too stressed. I know it's easier said than done, but getting too tightly wound doesn't do you any good and only serves to cause you problems both in your life and the quality of your work.
* Learn things outside of class. Don't just stick to what they're teaching. Pick up things on your own as well. It will give you an edge over the other students after you graduate and will often help while you're still in school.
* Keep learning even after you graduate. The lessons don't stop just because the grades do. In fact, the *really* interesting lessons frequently start after you get the degree.
* Don't get into the mindset that you're too good to learn from someone just because they're different. Everyone can teach you *something* (this applies to life as a whole as well)
* Don't look down on people. Kindness makes the world go around a lot more smoothly than malice or disdain do.
* Keep a portfolio of sample projects for companies that you interview at. It can be things you've done in your classes that you're particularly proud of as well as things you do outside of class. (In my case, my portfolio also includes published articles.)
* Develop good written and spoken language skills. It's something that a lot of computer science students seem to ignore, but once you get into the business world, it becomes pretty important. You will find that your job is more than just writing code - it involves dealing with people quite a bit as well.
* Learn to socialize. It's another part of dealing with people and you should be comfortable with it.
* Have a hobby that doesn't involve computers. We all need some downtime. Otherwise you run a risk of burning out.
* Realize that while your skill at writing code is important, your skills with people are also important because they help you not only get and keep jobs but they also help in your day to day life.
* Make friends with and help people who aren't as good at programming as you are. It will do a few things. First, it's a nice thing to do (You had help to get to where you are. Pay it forward by helping others). Second, the people you help today may be the people that help you several years from now. Finally, it helps you practice the basics.
* Make friends with people that are as good at programming as you are. The first two reasons for this are the same as the first reasons for helping people who aren't as good. In addition, the people as good as you are often look at things from a different point of view and can see things that you would otherwise miss.
* Make friends with and learn from people who are better at programming than you are. Some things are best learned from someone who has practical knowledge instead of from a book. It can save you a lot of time and headaches (not to mention make you a better programmer).
My last piece of advice should be common sense, but sometimes we all forget it (myself included):
* Be a decent person. Help where you can (not just with programming and technical issues, but in daily life) and don't lord it over people when you do help. In the end, I think, all the good you do will eventually come back around to you in one way or another.
Looking at what I wrote to him, I have three things that I want to say:
Where was the person to teach *me* these things? If he or she was there, I must have missed it because I ended up picking up most of those things the hard way (or maybe that’s *why* I had to learn them the hard way. That seems more likely…).
I mean, I can point to some of the things in that list and think of someone who *did* endeavor to teach me that lesson (whether or not I picked it up at the time), but most of them came from falling on my face (frequently with considerable force and, in the case of some of them, repeatedly).
Why is it that I seem to have such a hard time following my own damned advice sometimes? Is this a problem that everyone has? (I honestly would like an answer to that one).
When in the hell did I start sounding like my sifu? I’m not old enough to be passing out wisdom yet. Especially when I can’t seem to follow my own damned advice half the time…
Current mood: thoughtful
Current music: Vanessa Carlton – Hands On Me
Sunday, May 18, 2008
Late night pondering.
You know, it's funny.
I started training with a sword when I was a kid. I've done it for almost two decades now.
I've got more than a few swords of all different types, but for some reason, the one I feel most drawn to is my old bokku-to. It's just a simple wooden katana, its grip worn and blade splintered from years of use.
It's one of the swords I used in order to learn to move on after the end of a very important relationship. That period took well over a year, and more than took its toll on the sword. I don't use it for fighting anymore because of the wear, but it's still my favorite blade for forms.
It was, I suppose, the thing that taught me how to get back to basics. I sometimes gain some measure of comfort from just using it now (as strange as that may sound to some people).
Given the events of the last few years, I think it might be time I re-learned that lesson. I realized not long ago that I've been letting some things get in the way of doing what I should be doing.
Sometimes we trap ourselves in a cycle of actions and emotions that only serves to hold us back. Breaking free, for me at any rate, seems to be approached by getting back to basics - tearing things down to rebuild them anew.
I'm ready to try. I know it won't be easy, but it needs to be done. With lots of effort, and a little luck, I may make it, because it is definitely time to move on.
Here's to hoping there's still a little magic, and some more lessons, in my old friend.
Current mood: troubled yet calm
Current music: Ivy - Edge of the Ocean
Thursday, May 15, 2008
Wednesday, May 14, 2008
Reclaiming momentum.
Have you ever noticed how hard it seems to be to get going on something?
Frequently, it doesn't even seem to matter what that something is; just that you aren't doing it right now. I mean, once you actually get going, it tends to be pretty easy to just *keep* going, but getting started is like trying to push a boulder uphill.
Your brain always seems to come up with a hundred other things that you could be doing even though you know that you need to do what you're trying to get started. Heck, sometimes mine even goes into the "eh, we'll do it later" or even "what's the point" argument.
It's a real pain in the butt to fight that. I think it's worth doing, though even if (or probably because) it isn't easy.
Current mood: trying to gain momentum
Current music: Bon Jovi - You Give Love a Bad Name
Thursday, May 01, 2008
Quality Isn’t Cheap.
I don’t agree with a lot of what Joel Spolsky says anymore. Granted, he still does pull off the occasional really good article, but it seems like most of his writing anymore is just saying how great he is.
His latest article on Architecture Astronauts looked like it was going to end up being one of his decent works when I started reading it. Unfortunately, the first part of the article was a smoke screen.
The real topic of the article?
Joel was whining that Google and Microsoft are buying up all of the decent CS graduates at good salaries and he just can’t compete.
He throws in a bunch of other things to make you think that isn’t the real topic of the article, but that’s what it boils down to – Joel is upset because he has to compete on a salary basis with Google and Microsoft because he wants the same sort of people that they hire.
I love his complaining that the Goog and MS are giving recent grads something that’s getting sort of close to 6 figure salaries.
I know that sounds insane if you’re looking at it from the point of view of the average salary here in
Google is located in one of the most expensive places to live in the country.
The
If you think about it in those terms, that salary doesn’t seem so outrageous. In fact, buying power wise, it’s probably about the same as you’d be getting here with a couple of years of experience. Granted, that isn’t *right out of college* for most people, but it’s pretty close (and some of us had several years of experience before we graduated because we worked our way through school).
Now, want to know the real kicker?
Joel’s company is located in NYC.
That’s right. He’s based in an expensive area, competing with other companies based in expensive areas and he’s complaining about the cost to hire decent people.
If you want to have lower salaries, do what Eric Sink did and locate in the
I have no doubt that the man is intelligent. He wouldn’t have been able to get as far as he has if he weren’t smart. However, he’s being far too ego driven now and that leads to a lot of stupid mistakes.
He’s buying into his own cult of personality and thinks that people should want to work with him just because he’s him instead of realizing that good people cost money no matter who you think you are (especially in expensive areas).
After all, we want to be able to do things like eat, pay the rent, go out and do things, etc.
Personally, I view the “salary problem” he is citing as a somewhat positive sign. It means that the market may actually be improving somewhat.
Current mood: amused
Current music: 10,000 Maniacs – Candy Everyone Wants