Useful Polyglot Code
Four years ago I blogged about an incantation that would allow the Windows command interpreter (cmd) to execute Unix shell scripts written inside plain batch files. Time for an update.
Continue reading "Useful Polyglot Code"|
2010.01.12 Useful Polyglot CodeFour years ago I blogged about an incantation that would allow the Windows command interpreter (cmd) to execute Unix shell scripts written inside plain batch files. Time for an update. Continue reading "Useful Polyglot Code"2009.12.27 How to Get a Glowing Recommendation LetterStudents who do well in my courses often come to me asking for a recommendation letter for graduate or postgraduate study. I only write letters for students I know well and I can honestly recommend, so some end up with a glowing recommendation while others leave empty handed. While I was drafting a few letters today, it occurred to me that obtaining a good recommendation letter is a lot easier if you've planned for it well in advance. Continue reading "How to Get a Glowing Recommendation Letter"2009.11.25 The Risk of Air GapsAs some readers of this blog know, from this month onward I'm on a leave of absence from my academic post to head the Greek Ministry of Finance General Secretariat of Information Systems. The job's extreme demands explain the paucity of blog postings here. I'll describe the many organizational and management challenges of my new position in a future blog post. For now let me concentrate on a small but interesting technical aspect: the air gap we use to isolate the systems involved in processing tax and customs data from the systems used for development and production work. Continue reading "The Risk of Air Gaps"2009.10.21 Basic Etiquette of Technical CommunicationParents spend years trying to teach their children to be polite, and some of us had to learn at school how to properly address an archbishop. Yet, it seems that advice on courteousness and politeness in technical communication is in short supply; most of us learn these skills through what is euphemistically called “on the job training.” With enough bruises on my back to demonstrate the amount and variety of my experience in this area (though not my skill), here are some of the things I’ve learned. Continue reading "Basic Etiquette of Technical Communication"2009.10.15 Tags for Bibliography ReferencesI love writing my papers in LaTeX. Its declarative style allows me to concentrate on the content, rather than the form. I even format the text according to the content, keeping each phrase or logical unit on a separate line. Many publishers supply style files that format the article according to the journal's specifications. Even better, over the years I've created an extensive collection of bibliographies. I can therefore use BibTeX to cite works with a simple command, without having to re-enter their details. This also allows me to use style files to format references according to the publisher's specification. Yet, there is still the problem of navigating from a citation to the work's details. Here is how I solve it. Continue reading "Tags for Bibliography References"2009.09.16 Applied Code Reading: Debugging FreeBSD RegexWhen the code we're trying to read is inscrutable, inserting print statements and running various test cases can be two invaluable tools. Earlier today I fixed a tricky problem in the FreeBSD regular expression library. The code, originally written by Henry Spencer in the early 1990s, is by far the most complex I've ever encountered. It implements sophisticated algorithms with minimal commenting. Also, to avoid code repetition and increase efficiency, the 1200 line long main part of the regular expression execution engine is included in the compiled C code three times after modifying various macros to adjust the code's behavior: the first time the code targets small expressions and operates with bit masks on long integers, the second time the code handles larger expressions by storing its data in arrays, and the third time the code is also adjusted to handle multibyte characters. Here is how I used test data and print statements to locate and fix the problem. Continue reading "Applied Code Reading: Debugging FreeBSD Regex"2009.09.02 Job SecurityMy colleague, who works for a major equipment vendor, was discussing how his employer was planning to lay off hundreds of developers over the coming months. “But I’m safe,” he said, “as I’m one of the two people in our group who really understand the code.” It seems that writing code that nobody else can comprehend can be a significant job security booster. Here’s some advice. Continue reading "Job Security"2009.08.28 The Price of Cheap LaborThe strange entries I've found over the past two weeks I've been researching a large database are innumerable. Some addresses, like Wastington, DC are simply annoying, while others, like Vancouver BC V6T 1Z4 United States, are mildly amusing. It's clear to me that the database has been populated by the massive application of a cheap labor force. This is happening all too often, and I think it is a mistake. Continue reading "The Price of Cheap Labor"2009.08.27 Real HeroesI always admired the pilots of the two PZL M18B "Dromader" fire-fighting airplanes that were stationed in Cephallonia's airport. Continue reading "Real Heroes"2009.08.20 HP-200LX Remote Control HacksAll my friends know that for the past 15 years I've been semi-attached to an HP 100LX palmtop PC (recently updated to a 200LX) for my personal information management and many other tasks. The device is extremely versatile, sturdy, and flexible. Amazingly, after so many years of hard daily use, I still find new applications for it. Continue reading "HP-200LX Remote Control Hacks" |
Navigation
Recent Entries
Useful Polyglot Code (2010.01.12) How to Get a Glowing Recommendation Letter (2009.12.27) The Risk of Air Gaps (2009.11.25) Basic Etiquette of Technical Communication (2009.10.21) Tags for Bibliography References (2009.10.15) Applied Code Reading: Debugging FreeBSD Regex (2009.09.16) Job Security (2009.09.02) The Price of Cheap Labor (2009.08.28) Real Heroes (2009.08.27) HP-200LX Remote Control Hacks (2009.08.20) Category Tags
Apple (7) C (16) C++ (14) Computers (41) Discussion (5) Electronics (10) Environment (1) FreeBSD (25) Funny (14) GSIS (1) Google (6) Hacks (22) Hardware (13) Internet (11) Java (22) Linux (5) Management (12) Microsoft (10) One Laptop Per Child (3) Open source (48) Opinion (28) Parenting (9) Perl (8) Photos (13) Politics (1) Programming (81) Risks (5) Scala (1) Science (22) Security (20) Sights (18) Software (13) Software engineering (47) Standards (6) System administration (29) Teaching (6) Technology (21) Tips (31) Tools of the Trade (27) Travel (9) UML (5) Unix (24) Web (27) Windows (11) Writing (31) XML (9) Archive
Complete contents (251)
January 2010 (1) December 2009 (1) November 2009 (1) October 2009 (2) September 2009 (2) August 2009 (5) July 2009 (3) June 2009 (3) May 2009 (4) April 2009 (6) March 2009 (4) February 2009 (5) January 2009 (4) December 2008 (3) November 2008 (2) October 2008 (5) September 2008 (4) August 2008 (4) July 2008 (3) June 2008 (2) May 2008 (5) April 2008 (3) March 2008 (2) February 2008 (2) January 2008 (5) December 2007 (3) November 2007 (3) October 2007 (3) September 2007 (4) August 2007 (2) July 2007 (2) June 2007 (4) May 2007 (3) April 2007 (5) March 2007 (5) February 2007 (3) January 2007 (4) December 2006 (5) November 2006 (5) October 2006 (5) September 2006 (7) August 2006 (1) July 2006 (5) June 2006 (3) May 2006 (3) April 2006 (4) March 2006 (2) February 2006 (3) January 2006 (5) December 2005 (3) November 2005 (4) October 2005 (3) September 2005 (6) August 2005 (1) July 2005 (4) June 2005 (2) May 2005 (6) April 2005 (3) March 2005 (4) February 2005 (6) January 2005 (2) December 2004 (3) November 2004 (3) October 2004 (5) September 2004 (3) August 2004 (5) July 2004 (1) June 2004 (1) May 2004 (1) April 2004 (2) March 2004 (1) February 2004 (2) January 2004 (3) October 2003 (2) September 2003 (1) July 2003 (1) June 2003 (2) May 2003 (1) Syndication
Search
|