I’ve been thinking for a while about moving my simple web site and blog to a different platform. I’m currently paying to host everything on a traditional hosting service. Ten years ago, this was really the only option if you wanted buy a domain and put a web site out there (there was also self hosting with dynamic DNS, but I was never brave enough to open up my home network). Now, we have so many options that it would be difficult to list them all. We have “cloud” hosts like Azure and AWS. We have developer-friendly hosts like Heroku. GitHub can even host your static pages (more on that later). Most of these cloud-based options can be utilized for free with limited traffic and processing power.

Back to GitHub. With a combination of Jekyll and GitHub Pages, you can host a static site or blog for free on GitHub. You can even have your custom domain point there. The simplicity of this solution is appealing to me. There is no database, no server-side code, and no server configuration or complexity. You just have a bunch of static files in a special Git repository. For dynamic content (such as a blog), you create markdown files that will get converted to static html by Jekyll. The added bonus is that your site is served up as static content, eliminating time consuming server side processing on each request. Anyway, I’ve yet to pursue this path, but it’s the most appealing option at this time.

As for this blog… Given the rise of social networks in the past few years, I’m not sure that “blogging” things is the best use of time for me. The original intent of this blog was to share things with family and friends, but that function has been replaced by better tools. So, I’d expect that new blog posts will be infrequent.

Find/Kill a Linux Process by Name

I was doing some research to figure out how to easily kill a Linux process given part of it’s name. It’s fairly simple to do it manually, but if you didn’t already know, programmers are lazy.

The first thing I was doing…
> ps aux | grep Foo
find the process ID (PID) with my eyes, and then kill it…
> kill -9 123456

Next, I started finding complex piped commands to find and extract the PID. For instance…
> pid=`ps -eo pid,args | grep Foo | grep -v grep | cut -c1-6`

and slightly simpler…
> ps aux | grep Foo | grep -v grep | awk ‘{print $2}’

Finally, I discovered pgrep and pkill. There are quite a few options for each command, but simply put:

To get the PID for a process with a name containing ‘Foo’…
> pgrep Foo

To get the PID for a process with a command line containing ‘Bar’ (as in > Foo -n Bar)…
> pgrep -f Bar

Dr. Dobb’s Journal

I’ve been subscribing to Dr. Dobb’s Journal for at least 10 years. It has always been my favorite technical magazine because of it’s diversity of topics and brain-stirring articles. I got a letter in the mail last week saying that they were ceasing production of the full magazine. Instead, they will offer a Dr. Dobb’s Report stuffed into issues of InformationWeek. I’ll have to spend more time on their web site, as it looks like they have some good content on there.

Some Notes on Job Searching

I’ve recently been thinking about how I can improve my job search tactics. There are tons of web sites out there with great advice for job seekers, and some things are just obvious. I’ve decided to jot down some random, and not so random, thoughts of my own about the process (with a focus on the tech industry).

Where to find job openings…

I’ve actually found the most promising job opportunities on Craigslist. By “most promising,” I mean companies with exciting products, cutting edge technology, and fun work environments. My second go to site is Indeed.com. Indeed is a job aggregater that pulls in job postings from thousands of different sites. I’ve found it to be the most complete listing of jobs out there. SimplyHired.com is another aggregater that I use daily. It’s results vary slightly from Indeed, so I use them both.

In addition to Craigslist and the aggregaters, I check the popular job posting sites as well. Monster, CareerBuilder, Dice, Jobdango, 37Signals, Joel On Software, LinkedIn.

In addition to job posting web sites, it can be very helpful to meet people at public events related to your skills. For Portland, Calagator is a great resource to find these events.

Some things to remember when applying and interviewing for positions…

Know your resume. I made this mistake in my earlier interviews. When asked about my previous work experience, I found myself looking down at my resume for reference. It was probably a nervous reaction, but you should be familiar enough with your resume to talk about it without referring to it.

Know yourself. Be prepared to talk about your hobbies and interests. Some interviewers will ask questions about your personal life to gauge what kind of person you are. When you’re nervous, it’s sometimes hard to come up with those things, so have them memorized.

Know your previous work. Almost every interviewer will ask you to describe a previous project that you’ve worked on. Have a couple of projects in your head, and try to remember every detail about those projects. Know what was most challenging about those projects, and how you handled it, because they will ask.

Don’t stop working. I spend at least 10 hours a week reading articles and writing code. If your skills are fresh, answering technical questions in interviews is cake. Trying to talk confidently about something you haven’t done in 6 months can be challenging.

Look good. Take a shower and groom yourself. As much as we like to think otherwise, this can be a deciding factor when a company goes to make a decision in a close race. This piece of advice shows up on just about every career advice article.

Dress for success. Know what the work environment is like at the employer’s office and dress accordingly. I could be wrong on this, but… if it’s a start up or a small and hip company, feel free to wear jeans and sneakers. If you’re not sure, wear something nice. As a software developer, a suit is never appropriate and you will likely be laughed out of the interview.

Know your sources. One question that comes up occasionally is what blogs/web sites do you read to keep up with technology. I blew this one a couple of times because I could only think of a couple of web sites that I look at. I actually read 20+ tech sites daily, but they are all aggregated into Google Reader, so I tend not to recognize the individual sources.

Pad your resume. What I mean by this is to add some extra, non-traditional content to your resume. It’s gets boring reading through work experience. Some of my interviewers hadn’t even read that part when I got there. On page 2 of my resume I list out some of the personal projects that I’ve worked on. Following that, I have copied and pasted some recommendations from LinkedIn. Page 2 seems to get the most attention.

Be seen. Have a web site and get employers to look at it by referencing it on your resume. An online presence shows that you really exist and you have a life – you’re not just a name on a resume. My web sites and my Flickr photos have been discussed casually in a couple of interviews. If you don’t have a personal site, at least have a LinkedIn profile.

Thank them. I’m not completely sure about this piece of advice, but it seems like a good idea to send the interviewer(s) an email thanking them for their time. I’ve actually only done this once because when I was interviewing people, I found these emails annoying. However, I can see the benefits and most people probably appreciate it.

Don’t pretend (lie). You know what you know. Don’t pretend to know things that you don’t know, because you will likely get caught. This happened to me once: [interviewer] Are you familiar with technology x? [me] uh… yes! [interviewer] Okay, tell me more about x. [me] !@#$%.

Be friendly. Most of us software developers are introverts, but you should be prepared to make small talk and even crack a joke. If the interviewers feel comfortable around you, they will be able to envision working with you.

Want the job. Unless you are absolutely desperate for money, only apply for jobs that you think you will enjoy. If you are interviewing for a job that you really don’t want, it will show. Personally, I’m looking to restart my career with a good company and a fun job. I will not follow through with the application process for a job that I don’t think will bring me long term happiness.

Notes to Employers
How to make life easier for candidates…

Respond to our applications. I have sent in quite a few applications recently. Of those, I’d estimate that 25% of the employers have responded. That’s right, 75% of employers haven’t even acknowledged that they received my resume. I have no idea if my resume got lost in cyberspace, got tossed, went to the wrong person, or what. I have to simply cross them off my list, never knowing if I even had a chance.

Tell us when the position is filled. Most companies are good about this, but not all of them. If I make it as far as a telephone call, I’d like to know when the position is filled so I can cross it off my list. I have a few jobs that are forever in “pending” state because the employer left me hanging.

Strengths and weaknesses. You know we hate it when you ask questions like, “what are your strengths and weaknesses?” It’s makes us really uncomfortable, and I can’t see the benefit to the interviewer.

Online applications. It drives me crazy when a company requires that you register on their web site (or a 3rd party site) in order to apply for a job. Not only that, but they often make you fill out a 5 page online form where you basically have to retype your entire resume. We’ve already put a lot of time and effort into our resumes, so why not just take the one we have prepared?

Other Articles
Some other interesting articles about layoffs and job searching…

Mashable: 30+ Websites to Visit When You’re Laid Off
Some good general advice on how to cope with being jobless.
Mashable: CAREER TOOLBOX: 100+ Places to Find Jobs
A huge list of sites to help you find a job.
Layoff Talk at telonu.com
Stories from the many people who have recently lost their jobs.
Mashable: Top 10 Social Sites for Finding a Job
Using social networking sites to find a job.

That’s all I’ve got for now! This may turn out to be a “living” post with future revisions as I continue my search for that perfect job. Until then, wish me luck.

Free HD With DVR Capability

I bought a PCTV 800e HD TV tuner card from Woot! some time ago, but never really used it. While watching The Office last night in high definition (using a cheap HD antenna, not a cable or satellite subscription), we were wishing that we could pause the show as we do with our DirecTV service. That’s when I remembered my tuner card purchase and decided to get that set up with our media PC today. The plan was to hook it up to the media PC that is connected to our LCD television and then use Windows Media Center as a DVR. It was amazingly simple! I plugged in the USB tuner, installed the driver, started up WMC and ran through the TV setup wizard. We can now DVR HD television, and we get better sound because the media PC has an optical audio connect to our high end receiver. We also get program listings, which we didn’t get with just an antenna and TV. Yummy screenshots…

live hd live hd

First Impressions

I’m at the Chicago office this week, helping out on a .Net web project. I haven’t seen much of the city yet, but my first impression is that it’s big and old (old != bad). I’m staying about .75 miles from the office, so I might walk back to the hotel this evening and check things out on the way. I probably won’t get out much while I’m here, but if I do, I’ll be sure to take photos.

More Buying News

I’ve put my big buys on hold for now. I can’t decide what kind of car I want. I test drove the MINI Cooper and did not like it. It was too small, too noisy, and although the interior was pretty fancy, it felt cheap. As for the BMW and Audi, I can’t see spending $40k on a car when I can get one that works just as well for $20k. Needless to say, I have a lot of research left to do before I buy anything. The Honda Fit is now on my list.

Speaking of buying things, I just read about a new Dell mini PC (Dell Studio Hybrid), which would be great as a nice looking media PC connected to a television. It starts at $499, but by the time I added what I deemed to be necessary options, it was $1600. Anyway, I’ve already got a good media PC, but I’m always prepared to upgrade.