Lame Interviewers and Techniques

I have just come back from an interview for a job that I really wanted.  I found the person asking the technical questions to be vague; “an application is having issues, how would you go about troubleshooting the problem”.  Hello?  Is it web based?  Is it reliant on a database or storage?  For fucks sake, give a candidate more to work on than that.  If possible, give them a real world example that you have come across yourself.  I wonder how much real world experience people like this have themselves if the best question they can ask is as vague as this.  I was asked four similar questions like this and felt that I was let down by the interviewer rather than by myself.  The only technical question I was asked, was about the configuration of Apache and Tomcat.  Now, I have done lots of Tomcat and Apache, but it has been well over 6 months since I actually had to configure anything, so asking me what the Apache configuration file should look like is stretching my memory at the very least.  Given that most System Administrators support any number of applications, expecting someone to have detailed configuration knowledge of something they haven’t been working on the day before is expecting a lot – especially in an interview environment.  I have given technical interviews and know that you don’t expect exact answers, and if you want to get the most from the person you are interviewing, you give them specific problems for them to work through and not just some vague randomness.  If they can’t answer one question, move onto something else, maybe ask what they have been working on more recently and quiz them on that or ask them if they any projects they have worked on outside of the office, etc.  By adapting your interview to the person being interviewed, rather than having a rigid (read lame) structure, you are likely to find a more skilled candidate.

Now, if I could only get that retard to read this.

About the best analogy I could come up with, would be asking a cook what are the specific ingredients for a sponge cake they haven’t made in 6 months when all they have been making recently, is main course.  Both involve cooking; either they can cook or they can’t, so asking them details about the the more recent items will let you know whether they are up to making a sponge cake (after all, configuring Apache+Tomcat is not difficult is it?).

Bike/Car Camera System Using Alix 3d2/3d3 Boards

Foreword: A while back, whilst traversing a roundabout, some bastard drove into the side of my lovely car and, although it was his fault, claimed it was mine and that I was in the wrong lane, etc, etc. Before that point, I had been toying with the idea of installing a forward facing camera to capture my trips to Wales and the number of idiotic incidents one sees when driving anywhere. This was the final impetus I needed to start my project. My original system used a Mini ITX board without any hardware encoder, relying on the efforts of mencoder and the CPU to encode the raw stream to a useable size and of reasonable quality. I learned quite quickly, that a hardware encoder was required.

Choosing the Alix system: After getting fed up with the car I wanted to install a similar camera system onto my motorbike. Rather than doing something practical and spending lots of money on a bespoke system, I decided to use my experience from the CarCam project to build a system for the bike. Being short of space, I needed the smallest system I could find, with hardware encoding, USB support and run on 12V. Needless to say, I couldn’t find anything that fitted this requirement.  How ever, I did find a supplier of MPEG2 Mini PCI cards which meant I only needed to find a small system board that accepted Mini PCI.

Development: It’s been over a year since I started working on this project.  I have sold one system to a friend who has been using it to record his off-road exploits (as well as his commutes).  During this time, I have refined the code to a stable release and optimised the time it takes to start recording from power on to around 25 seconds (from around a minute in the early code).  The system is based on Slackware 13.0 with a heavily customised 2.6.30 kernel and environment.  I am using aufs2 to mount over “/etc” and “/var” to prevent the Compact Flash card from being prematurely destroyed by OS writes.  The handling of inserted/ejected media, as well as media errors, is done via syslog-ng which calls helper scripts when the appropriate kernel messages are generated.  Other scripts are called from cron to check that the recording doesn’t exceed the 4GB file size limit of the FAT32 file system and that the USB device doesn’t fill up.

Video Quality: The output video needs some deinterlacing, but the overall quality is very good.

httpv://www.youtube.com/watch?v=eXbcwII4biY

Continue reading Bike/Car Camera System Using Alix 3d2/3d3 Boards

Blocking SSH Scans Using Syslog-ng

Some time ago I decided to do something about the number of SSH scans I was receiving on various machines under my control.  I am not overly concerned as I use keys for access, but there is always a possibility that a vulnerability exists which has not been publicised yet.  With this in mind, it is better to thwart the attempts early on.

I have seen people approach this various ways, and here is mine. It requires a database to keep a history of scans; I have used MySQL but any database should be fine.
The script will work under Linux and FreeBSD. Although configured to use Shorewall under Linux it would be trivial to replace the Shorewall commands with a line similar to “iptables -I INPUT -s -j DROP”.

Firstly, create a custom destination that points to our external script to process the reports from the SSH daemon:

destination ssh_scan { program(“/root/bin/sshscan”); };

Then create a filter to match the SSH daemon reporting an “Invalid User”:

filter f_ssh_scan   { program(“sshd.*”) and match(“Invalid user”); };

We can then create a log rule that passes any line that matches our filter to our script for processing:

log { source(s_sys); filter(f_ssh_scan); destination(ssh_scan); };

The contents of the script are as follows (including the code to create the MySQL database):

Continue reading Blocking SSH Scans Using Syslog-ng

Perl script to adjust ‘srt’ subtitle files

Here is a quick and dirty script to adjust the time offset of an ‘srt’ subtitle file.  Quite often, subtitles downloaded from sites such as subscene are out of sync with the video you own.  Rather than adjusting the subtitles offset every time you watch the film/tv series/etc. this script will adjust the ‘srt’ file for you.

Continue reading Perl script to adjust ‘srt’ subtitle files