Archive for 2008

how to make bash display username, hostname and current working directory

Tuesday, December 23rd, 2008
Just add the following line:

PS1="\u@\h:\w$ "

in your .profile or .bashrc.

UNIX: how to find files that DO NOT match a pattern or other criteria

Saturday, December 20th, 2008
Most people with some basic command line skills can readily issue the unix find command to find files of a specific type or matching a specific pattern.

You can do the exact opposite, that is, find files that do not fulfil a specific criterion. The "secret" is to precede an exclamation mark (!) in the argument list, just before the criterion that you want to negate.

For example:

# find . -type f ! -iname "*.mp3"

The above command will find all files that have not an .mp3 extension.

How to create Shortcuts in Windows from the command line

Wednesday, December 3rd, 2008
It seems that there is not a direct way to create a shortcut from the command line in Windows. The solution presented here takes less than two minutes to set up and works pretty good. However, if you find a better one, I would like to know.

First you have to create a small text file by the name mkshortcut.vbs. Use your favorite text editor to edit the file, even notepad will do. Then copy the following text and paste it into the file:

set WshShell = WScript.CreateObject("WScript.Shell" )
set oShellLink = WshShell.CreateShortcut(Wscript.Arguments.Named("shortcut") & ".lnk")
oShellLink.TargetPath = Wscript.Arguments.Named("target")
oShellLink.WindowStyle = 1
oShellLink.Save


Then save the file and exit the editor. Make sure that you move the file in a directory in your PATH (usually C:\WINDOWS\System32 is fine). Now, from the command line you can create shortcuts this way:

mkshortcut /target:TargetName /shortcut:ShortcutName

You will have to replace TargetName with the name of the target file and ShortcutName with the name of the shortcut to be created (do not include a .lnk extension!). For example:

C:\>mkshortcut /target:"c:/documents and settings/giannis/desktop" /shortcut:"My Desktop"

C:\>dir *.lnk
Volume in drive C has no label.
Volume Serial Number is 70FC-EBB4

Directory of C:\

12/03/2008  11:12 AM               453 My Desktop.lnk
1 File(s)            453 bytes
0 Dir(s)  46,659,989,504 bytes free

C:\>


Make sure that in target you include the full path of the target file name, starting with the drive letter and going down. For some reason Windows seem unable to create shortcuts with a relative path. Always use absolute paths for target.

search files that contain a specific string

Sunday, November 9th, 2008
Many times you find yourself at the top of complex directory tree, seeking for a file that contains some specific string value. Nautilus is not very helpful now, as it can only search on file names, not content. It seems that the command line is the only way.

Of course, you can always visit every single subdirectory in the tree and grep all files each time. But this is very inefficient and time consuming as the number of subdirectories grow larger, not to mention the probability of skipping some subdirectories by mistake.

"There must be a better way", you may think. And you are right. This is the command that will do the job for you:

find /path/to/top/level/directory -type f -exec grep -F -H [needle] {} \;

This command will output all the files under /path/to/top/level/directory that contain the stringl [neede]. The ; at the end is necessary to denote the end of the command. Make sure that you use appropriate escaping (\) according to your shell's fads.

If you are a Windows user and you cannot search within your files' contents (that's ok, it's not your fault, it's just that bloody windows explorer that never functioned...), you can also use the solution described here, at the cost of installing GNU utilities for Win32.

Windows refuse to eject volume for no obvious reason

Thursday, September 18th, 2008
I believe everyone who uses Windows on a daily basis faces that problem quite often.

The case is: you are done with your removable hard drive or flash memory and then you are trying to Safely Remove it. However, Windows may tell you that "The device cannot be stopped right now. Try stopping the device again later." even though you are absolutely sure that you have closed all programs that may be using the removable volume.

Most of the times, this is caused by the Windows Explorer, or explorer.exe (not to be confused with the browser Internet Explorer). You have to kill the Explorer's running process and the start a new instance.

Open the task manager (Ctrl+Shift+Escape). Make sure you select the Processes tab. Sort the processs by name (by clicking on the Image Name header) and then look for a process with the name explorer.exe:

task-manager-1.JPG



Once you find it, click End Process. You may notice that your windows list and all the icons on the bottom of your screen will disappear, as well as the icons on your desktop, but don't worry they will soon come back as they were.

Then, select the Applications tab. There you have to click on the New Task... button:

task-manager-2.JPG



The Create New Task dialog will show up:

task-manager-3.JPG



Type "explorer" in the text box and press Enter. Your windows list and icons should show up again. Now, try again to stop the device. Hopefully there will be no process blocking you any more.

Aftetris "Micro Edition" Free Java Game

Sunday, September 7th, 2008
aftetris-screenshot.pngAftetris "Micro Edition" is the Java ME version of Aftetris for mobile devices. This is a rather simplistic variant of Tetris, but it delivers a considerable dose of eye-candy, and it it highly customizable to the needs of the user. The game also takes advantage of the device's touchscreen, if there is one, and thereby can offer an enthralling playing experience.









Current version: 1.0.2

What's new in version 1.0.2:

  • Added "fast down", a useful feature for the slow levels.

  • Only the last row of new blocks inside the well. You really want this in these hard moments when the game is played in the top row of the well...




Here you can watch a small video demonstrating aftetris recorded directly from the emulator. My apologies for the watermark:



How to turn off autoplay in Windows XP

Sunday, August 31st, 2008
Autoplay (or autorun) of Windows XP can be a very dangerous feature since it may execute (without even asking you) possible harmful software from a CD, flash memory stick, or other mass storage media. It can be an excellent way of spreading a virus or other malware. Here is what you have to do to disable autoplay in Windows XP:

Go to Start → Run... Type gpedit.msc and press Enter:

run-gpedit-msc.jpg



The Group Policy console window will show up. Go to Computer Configuration → Administrative Templates → System. Make sure you select the Standard tab on the bottom of the window. In the right panel, scroll down till you can see Turn off Autoplay. It is Not configured by default, like this:

group-policy-console.jpg



Double-click on that item. The Turn off Autoplay Properties dialog will show up.It should look like this:

turn-off-autoplay-disabled.jpg



Make sure you select the Enabled radio button, and that you want to Turn off Autoplay on: All drives. Like this:

turn-off-autoplay-enabled.jpg



Then click OK and you are done.

Missing your "Shared Folders" after upgrading Ubuntu?

Wednesday, July 30th, 2008
Yeah, I miss them, too...

Since version 8.04 (Hardy Heron) the Ubuntu folks decided to take down the Shared Folders item from the Administration menu. Of course, you can still right-click on specific folders and go to the Sharing Options, or go to the Properties and then to the Share tab, however, it's still good to be able to view all the folders that you share at a glance.

The good news is that, the Shared Folders Manager is still with us, we just have to run it manually, though. Just press Alt-F2 and execute the shares-admin command, and there you have it.

I would like to say "Thanks" to Mohamed for giving me the idea for this post.

How to upload JAR files in Wordpress

Wednesday, July 30th, 2008
Yesterday I tried to upload a Java JAR file in my WordPress-based website, and I was this given this funny error message: "File type does not meet security guidelines. Try another."

The reason for that is that WordPress does not recognize the .jar extension as a known file type. And here is what you have to do to fix this (you are possibly going to need administrator's rights to follow the instructions):

Go into your WordPress installation directory and then go down to the wp-includes directory. In there you should be able to see a file by the name functions.php. Open this file in a text editor.

Use your editor's searching facility to find the text "function wp_check_filetype" (yes, *without* the double quotes, and, yes, *including* the space character between "function" and "wp_check_filetype"). You should be able to see a portion of the file that looks like this:

functions-1.png

Add the following line of code as seen in the screenshot below:

functions-2.png

The save the file and you are done! You will be now able to upload as many JAR files as you wish without annoying error messages!

Candiru: a Dactyl clone in Java

Monday, July 28th, 2008
This is my first attempt in writing a Java game for mobile devices. I wanted to take advantage of my new cell phone's touchscreen, so I decided to write a simple game that imitates Dactyl, a game I had seen in a friend's iPhone once. Here is a screen shot of my variant:

a screenshot of the Candiru game



And here is another crispier screen shot taken directly from the emulator:

candiru-screenshot-emulator.png



And here you can see a demonstration of the game running in my cell phone:



As you may notice, the game consist of a grid of bombs (the size of the grid is customizable). Then the bombs, one by one and in random order start to activate (they go red colored). The player has to point on every activated bomb in order to defuse it before it goes off (the speed of bomb activation as well as how fast the bombs go off are also customizable). The goal is to defuse as many bombs as you can.

Personally I find this game highly addictive, and I believe you can spot very interesting combinations in the Settings section to try on. It's highly likely that the game will look better in 240-pixel wide displays. However, I have only tested the game in my own cell phone, thus, your contribution on beta testing will much appreciated!

Here is the download link:

Have fun!

(The name Candiru is totally irrelevant with the game's objective. I was striving to find a name and then I remembered that earlier this morning I had been reading some stuff about Candirus, which are actually parasitic fish in the Amazon river; check it out some time.)