Today was the first time I upgraded a Fedora system (I use Ubuntu).
Category Archives: Uncategorized
Racket directory-exists? Handlers
Today I experimented with how to handle Racket’s directory-exists? exception thrown when the empty string is passed:
(define (isdir? dir)
(cond
[(with-handlers ([exn:fail:filesystem?
(λ (x) #f)]
[exn:fail?
(λ (x) #f)]
)
(directory-exists? dir))]
[1]))
(isdir? “”)
Breaking Software
I just got my copy of “How to Break Software” yesterday. I read through the first half today and already caught a couple of issues in the DrRacket IDE. Choose File -> Search in Files and then clear the directory name input and click OK. Some exception window shows up. Next, try setting the font size by dragging the slider in preferences all the way to the left. The program hangs instantly, and the erroneous setting is stored for the next startup. The only way to recover is to manually edit the config file in %appdata%/Racket to save the day.
Longest Common Nonsequential Subsequence
If we need the longest common sub-sequence of two strings but with the caveat that we are only interested in having all the right letters & frequencies, and not their orders, then dynamic programming isn’t really necessary. This boils down to the problem of finding the largest common subset of the two sets of letters in the two strings.
The Fifteen Puzzle
I remember playing the fifteen-puzzle game on our first computer – an 80486 running Windows 3.1. It was a variation that used images instead of numbers, but I still remember how intriguing it was at that age. Well, today is the first time I’ve figured out it’s official name, thanks to some brainstorming with the folks in the lab (& Google, obviously).
Capturing Firefox Memory Dumps Using Task Manager
I am running Windows 7 x64 and used the task manager to capture a dump by using the “Create Dump File” context menu command on my Firefox 11 beta process that had frozen when I exited (window disappeared, but process remained – with 75% CPU usage). Visual C++ Express 2010 complained that “You cannot debug a 64-bit dump of a 32-bit process, you must collect a 32-bit dump of a 32-bit process.” That’s when I found this post which mentioned that the 32-bit task manager is actually available at C:\Windows\SysWOW64\taskmgr.exe and should be used instead.
Verifying MD5 Hashes
I grabbed a copy of WinMD5 – small, fast efficient. A bit sad that this is the first time I’m verifying the hash of a file I downloaded (happens to be from the AMD APP SDK).
How to Check Which DirectX Version is Installed
I couldn’t remember how to check which version of DirectX is installed on my computer – it’s been a few years since I’ve been interested in DirectX. Apparently it’s still as simple as:
dxdiag