A maze-like flash game: Portal

If you like Prince of Persia and other puzzle “maze-like” games, you might enjoy Portal: The Flash Version, a third-party derivation of the original game from Valve, Portal.

It’s creative, provides a few hours of mental challenge, and avoids ennui that might ensue from too many levels.

Badgering the interviewer is a bad idea

I don’t interview people often, but when I do, I’m often reminded why I find it such a depressing activity. Candidates are rarely as good as they look on paper, never mind as good as they think they are.

I grind through a stack of resumes, propping my eyelids up with toothpicks, to pick the a few resumes that are sufficiently unusual and positive that some hope wells up.

And then, they’re usually dashed when I meet candidates in person, occasionally in a stunning proof of resume exaggeration. Recently, I had someone dig themselves pretty deep, before we even had the phone interview. The sequence is roughly as follows:

  1. I send emails to the candidates, asking for availability to have an initial phone call in the next two weeks.
  2. Couple days later, I receive a reply that is reasonably coherent, except what appears to be a typo when describing the time of availability. In email, I ask for clarification and suggest a time.
  3. Few hours later, candidate calls me, sounding confused and flustered. I explain I’m trying to book time slots for everyone on the same day. Candidate explains incoherently about his workplace, but I divine that some “sneaking out” is needed for the phone call. Okay, I suggest before work, e.g. 8 AM. Candidate is briefly stunned into confused mutterings, but eventually comes around and agrees to my original mid-day proposal, asserting strongly that the call has to be right on time.
  4. I send candidates meeting requests with time slots, teleconference number, passcode, and copy of their resume that I’m assuming is the latest.
  5. Immediately after, I send emails letting candidates know that they should have received a meeting request. After all, you never know when a meeting request or attachment might get filtered by an overzealous email server.
  6. Several minutes later, the candidate calls me again and expresses confusion over my email.
    • I explain there should have been two emails, and the candidate confirms there were. However, the other one had some “strange numbers”.
    • I realize… “You’ve never used a teleconference, before?”. Nope. “OK, well you just call the teleconference number, and when it asks you for the conference ID, punch in the other numbers.”
    • Candidate expresses some distress, and finally ends with,”You have the number, can’t you just call me like normal?!”
    • I’m tempted to find an “unexpected scheduling conflict” with the candidate’s time slot. “Fine. The number on the resume? OK, bye.”
  7. Mental note: on interview day, try to forget that any of this happened.

Moral of the story? Remove your phone number from your email signature when emailing interview candidates. Thank goodness it didn’t have my cell phone number.

[Update: Candidate emails me at 12:30am, interview day, and asks me to move the booking to next week, as a conflict with a "pre-booked health appointment" was realized "a few minutes ago". Starting to get a little displeased...]

Windows batch script to find most recently modified file

I needed to find and operate on the most recently modified file in a directory, but from the Windows XP command line rather than a Linux shell script. Knowing how unexpectedly powerful (but so very arbitrary and convoluted!) the Windows command line can be, I figured it was possible with a bit of help file reading.

And lo, it was good:

@echo off
:: This temp batch file is used to execute a subroutine.
set TMP_RECENT_BAT=%TEMP%\tmp_recent.bat

:: Reset the "output" env var in case something goes wrong
set MOST_RECENT_FILE=

:: Create the temp batch file.
::
:: This subroutine lists all files in the current directory,
:: sorts it in descending last-modified-time order,
:: and strips out the topmost file (i.e. most recently modified).
::
:: Directories, system files, and hidden files are not considered.
::
:: A side-effect of this routine is that the filename has a prefix of "[1]"
echo @echo off > %TMP_RECENT_BAT%
echo dir /o-d /a-d-h-s /b %1 ^| find ^"^" /v /n ^| find ^"[1]^" >> %TMP_RECENT_BAT%
:: Execute the subroutine above, and grab the output in an environment var.
:: We are assuming the subroutine above correctly returns only one line.
for /f "usebackq delims=="%%i in (`%TMP_RECENT_BAT%`) do set TMP_RECENT=%%i  

:: Strip the first 3 chars of the return value of the subroutine, i.e. "[1]"
::
:: If the subroutine didn't return a good value, don't try to set the var,
:: b/c we'll get a string like "~3" instead of a good value.
if "%TMP_RECENT%" == "" goto skip  set MOST_RECENT_FILE=%TMP_RECENT:~3%
:: This line not really necessary, since script that use this can just access
:: the environment variable named "MOST_RECENT_FILE".
echo %MOST_RECENT_FILE%
:skip
set TMP_RECENT=  

:: Delete the temp file
del %TMP_RECENT_BAT%
Follow

Get every new post delivered to your Inbox.