FC6 KDE Suspend on a T42 Thinkpad

Just spent a good part of the evening upgrading my linux T42 Thinkpad to FC6. Wanted to see if I could get suspend to memory to work since I never got it to function properly in FC5. This page, led to the very simple solution.

Just needed to add a line to my grub.conf to set acpi_suspend=s3_bios.

Gotta say that I’m pretty impressed with the latest out of Fedora Core. Everything just pretty much works on my laptop. Exactly what you want.

How to prepare for a java interview

I just wrapped up another tour of the interview circuit. Not exactly how I would prefer to spend several weeks of my time, but alas it comes with the territory. I noticed a few things during this period.

The first point that I would like to make is that as a potential interviewee, you need to start preparing for the next job WAY before you’re really ready to start looking. Get your resume prepared and take a look at what it’s got on it. Are there areas where you’re weak that you could add some experience while you’re still at your current job? You need to take on successful projects and show motivation, but all of this needs to happen now and not later. The best way to get a great new job is to show that you’re already a great employee.

Secondly, it’s always better to get a job through a personal reference. It might actually be worth holding off looking until someone can introduce you to an opportunity. Some companies won’t even consider an applicant unless there’s a reference before hand, it’s just too risky for them. So, make sure you have good relations set up before hand with your coworkers and know where they’re going if they leave.

I’ve found that interviewing is the worst way to get to know a candidate except of course for all of the other ways. There is a big spread out there between good interviewers and poor interviewers. Sometimes after a questionable interview, I’ve gone back over the questions asked and tried to determine what the interviewer is selecting for with each question. Each question should tell you something about the interviewee no matter how they answer. As an interviewer, you want to make sure you’re selecting for traits that you would desire in an employee. If you ask a question that involves some minutiae of a technical spec and the interviewee doesn’t know the answer, what have you learned? Would you refuse to hire someone because they didn’t know a detail that could be looked up on Google in 10secs?

To be prepared for the bulk of questions that will be asked in a Java Software Engineer interview you need to study up on two books before you start, Concurrent Programming in Java(TM): Design Principles and Pattern and Sun Certified Programmer & Developer for Java 2 Study Guide. With these two books you can handle 75% of the questions that interviewers often ask, if you want to get that level up around 90% look up the Singleton design pattern in the GOF book.

I’m often left wondering after interviews why so much importance is put on these types of questions while other aspects of the potential employee are completely ignored. There’s a whole lot more to being a great employee than just having encyclopedic knowledge of software specs. Creativity, flexibility, social interactions, business and product understanding. All of these are ignored completely in most software interviews. Maybe it’s just because they’re harder subjects to nail down?

One interesting trend that I’ve noticed is the increase in tests and homework assignments for the interviewee that are performed offline. This allows the interviewer to get a slightly better feel for how the candidate will perform. I personally feel this is a positive trend.

A little bit of sanity returning to the world

I saw two posts today showing that the pendulum of reason is finally swinging back in the right direction. The first was over at Glenn Greenwald’s Blog and deals with making good on the intelligence mistakes of the last several years. Only problem is that it’s the Canadian Government that’s decided to come clean. The US Government still prefers to sweep things under the rug and hope no one looks.

The second piece was by the director of public prosecutions of the UK, Sir Ken Macdonald. Where he discusses the problems with the idea of having a war on terror. I found this post through Bruce Schneier’s Blog and believe that the discussion of the post is worth reading.

Suggestion for Google Video

I love using Google Video for their Google Eng Edu videos. This series of ~1hour long video of talks given on all sorts of techie topics is great. I love being able to get an inside access to these presentations. It’s just like being at school again and having the weekly presentation from the visiting professor.

The only issue with the format is that while it’s great to have the long duration video, instead of the normal 5-15 minute videos being pushed by other sites, it’s a pain to deal with the files. The optimum way for me to watch the videos is to batch them up and then watch them when I have some free time, say on a flight across the country. For this to work though you need offline access and while Google allows you to download these files, it just doesn’t work well. You essentially have to pretend that you’re watching the video on pause and let the player download continue in the background. Sometimes this works, sometimes it doesn’t and the worst part is that you can only do one video at a time.

The system is almost there, if Google would allow you to download multiple videos in the background so that you could watch them at your convenience it would be optimal. Of course I’m sure there are revenue issues, whole lot of bandwidth being used with no ads being served. However, I would sit through a 30 sec ad at the beginning in order to get this feature.

InnoDB faster then MyIsam?

There’s an interesting post over at the Mysql Performance blog testing performance differences between several storage engines. Their tests show that for some micro benchmarks that cover a lot of the basic usage patterns of databases in a web type environment, that InnoDB can actually be much faster than MyIsam. This goes against the prevailing belief that MyIsam was the fastest for read access especially in the very read heavy world of Web applications and that InnoDb was only used when transactions were required.

I’ve used InnoDb for the backend of my latest personal project, Cloudgrove, which actually has a heavier tilt toward write performance. I’ve always been concerned about read access in very large threaded systems when there are some write access occurring concurrently. The table level locking of MyIsam seemed like it could cause problems as all reads would be blocked while a write occurred. With InnoDb there is row level locking so that writes would not block at the table level.

I’ve got a good feel for how very large MyIsam tables handle load while doing performance work at webshots, using ~20 large db servers in Read / Write Master – Read Only Slave setups. I never had a chance to see how a similarly structured InnoDB setup would behave though. As Cloudgrove grows though I should get a good view on how it will behave.

I’m also using foreign keys currently to enforce data consistency and that could have a much larger negative impact on performance. Might have to pull those out and move data consistency up to the application layer.