Wednesday, April 8, 2009

Using POST to Send Form Data to a Servlet

Ajax is a great way to make your pages more dynamic. When using ajax, it's common to send data to your servlet in url-encoded form using a GET request. But there can actually be issues with sending information in GET requests. It's generally better practice to send data as a POST request, but there's one subtle detail required to make it work.

Friday, March 20, 2009

How to Get Thumbnails to Show Up for More File Types in Gnome's File Explorer (Nautilus)

Gnome's file explorer was showing thumbnail images for some file types, but not others. It does so for video files by using the default installation of Totem to get the preview image. So, for example I was getting preview images for .flv files, but not for .mpg files.

Sunday, March 15, 2009

How to Swap Control and Caps Lock on Windows

A lot of programmers like to swap caps lock and control. This is especially big with Emacs users, so they can avoid "emacs pinky" from constantly holding down the control key at the bottom corner of the keyboard. The caps lock location is much easier to reach and can make a huge difference if you use a lot of control key combinations. Swapping these keys is pretty easy on Linux, but on Windows, you have to hack the registry.

Saturday, March 14, 2009

Making Fonts Look Good on Linux

Fonts on Linux have always been a sore subject for me. I love Linux, and I like almost everything about it more than Windows. But why can't the fonts look as good as they do on Windows???

msxml3.dll: The system cannot locate the resource specified

I recently started getting this error in my Ajax application:
msxml3.dll: The system cannot locate the resource specified

Bash: Use "if" instead of "&&"

Using the –e option in a bash script can be quite useful. It causes the shell to stop processing and exit whenever a command results in an error. There are many situations where continuing processing after an error has occurred can be detrimental and result in a loss of data. But if you use the '&&' conditional a lot in your scripts, it can also cause them to exit unexpectedly.

How to do a while-sleep loop in Javascript

There is no sleep() function in Javascript. It makes sense, really, because Javascript is single threaded. So, a sleep would freeze the entire browser until it returned. But, being able to sleep before continuing processing is a very common need when programming.

The example that comes immediately to mind is polling. When polling a resource, one would naturally do so in a while loop, exiting when the conditions are right for processing to continue.

But how can this be done in Javascript gracefully if there is no way to sleep? You could poll without a sleep, but that would consume all of the browser's processing cycles, effectively locking it up, which is probably not what you would want. Well, here is how to simulate a while-sleep loop in Javascript.

Friday, March 13, 2009

How to create a .profile/.login file in Windows XP

In the Unix world, a script is run every time you log in. The exact file depends on the type of shell. For example, tcsh uses the .login file, while sh and bash use .profile. But on windows, if there is something I want to run at startup, I just add it to the 'Startup' folder in the Programs menu.

But, in some cases, I want to run a set of commands, but I don't want it to be in the 'Startup' folder where it can be run again by just clicking it. I want to be able to execute certain commands at login without putting them in the 'Startup' folder.

Cannot define a function with window.eval() in IE 7

Sometimes it's useful to evaluate a string in Javascript. There a variety of reasons why one would want to do that, and it's reasonable to expect that the code would be evaluated in the same way as the code in your .js files. I needed to evaluate some code using the window.eval function in Javascript. It worked fine, until I got an error when the evaluated string tried to define a function.

Monday, March 9, 2009

Simple Setup for Sending Email from the Command-Line in Ubuntu

In setting up my new Ubuntu box, I wanted to set up some automatic backups. I did that, putting the backup script in a cronjob. But what if the backup fails? How will I know, unless I remember to check on it every day? How can I send myself an email from the script when there's an error?