Wednesday, March 5, 2014

Hack into 'Jurassic Park' like you're Samuel L. Jackson


For a movie full of giant dinosaurs, it's strange that one of Jurassic Park's most memorable scenes involves portly programmer Dennis Nedry — played by Seinfeld regular Wayne Knight — wagging his finger and repeating the words "Ah-ah-ah! You didn't say the magic word!" Now you can try to wrest control of the dinosaur-packed park back from the nefarious Nedry, using the recreation of the movie's UNIX network found at

Monday, January 13, 2014

change unity launcher buttons size

run the following script as root

to run from the command line: sudo XX, where XX is the icon size (popular size is 32)

logout and login again and you should see smaller icons in the laucher.

---copy and paste from this line to the end to a file called ""

import shutil
import sys
import os

def getparent (content, line_nr):
    for i in range (line_nr - 1, -1, -1):
        if "{" in content[i].lstrip():
            return content[i].lstrip().split(" ")[0]

def change_line (content, key, value, parent):
    line_nr = 0
    for line in content:
        if line.lstrip().startswith(key + ":"):
            lparent = getparent(content, line_nr)
            if parent == lparent:
                content[line_nr] = key + ": " + value + "\n"
                return content
        line_nr = line_nr + 1       

def load_file (filename):
    file = open (filename, "r")
    content = file.readlines()
    return content
def write_file (filename, content):
    shutil.copyfile (filename, filename + ".bak")
    file = open (filename, "w")
    for line in content:
        file.write (line)
shell_qml = "/usr/share/unity-2d/shell/Shell.qml"
icontile_qml = "/usr/share/unity-2d/shell/common/IconTile.qml"
launcherlist_qml = "/usr/share/unity-2d/shell/launcher/LauncherList.qml"
launcheritem_qml = "/usr/share/unity-2d/shell/launcher/LauncherItem.qml"

if (len(sys.argv) > 1):
    icon_size = int(sys.argv[1])
    sys.exit("Please enter your desired icon size as the first argument.")
if not os.geteuid() == 0:
    sys.exit("Script must be run as root.")

content = load_file (shell_qml)
content = change_line (content, "width", str (icon_size + 16), "LauncherLoader")
write_file (shell_qml, content)
content = load_file (icontile_qml)
content = change_line (content, "sourceSize.width", str (icon_size), "Image")
content = change_line (content, "sourceSize.height", str (icon_size), "Image")
write_file (icontile_qml, content)
content = load_file (launcherlist_qml)
content = change_line (content, "property int tileSize", str (icon_size + 6), "AutoScrollingListView")
content = change_line (content, "property int selectionOutlineSize", str (icon_size + 16), "AutoScrollingListView")
write_file (launcherlist_qml, content)

Tuesday, May 14, 2013

Resettting your mySQL root password

When you need to reset your root password for your mySQL server, proceed this way:

# sudo /etc/init.d/mysql stop
# sudo mysqld_safe --skip-grant-tables &
# sudo mysql -u root

on the mySQL console:

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

# sudo /etc/init.d/mysql stop
# sudo /etc/init.d/mysql start

To confirm you indeed have access to mySQL with the new password:

# mysql -u root -p

Thursday, May 2, 2013

Clementine - Finally a great Linux music player

I'm currently exploring clementine v1.0.1, a Linux music player. The first impressions are really good. It picked up most of my music collection (although it took a while, but it is a LONG collection...) but I got better organization than all other players I have tried.

A lot of the reviews I read said a lot of great things about and similar services integration but I'm not a customer of those platforms, so I can't really comment on that. I can tell you, however, that the "internet services" tab is quite comprehensive: Jamendo,, grooveshark, magnatune, and somafm - a lot of them I really never heard about.

Internet services tab

The album art for most of my collection was downloaded without problems, and the ones that were not downloaded were afterwards when you go tot he album covert option and select download missing cover art. There's quite a few that are not correct, but nothing that a little time to kill won't fix. Very happy with this point too.

cover manager window

Another thing that seems to be above average is file meta data management. By that I mean the sometimes tedious task of making sure that the album artist is the same on all your files because media organizers tend to think Korn is a completely different artist to KoRn. Bulk metadata change is a breeze with clementine and in no time you will have your albums/ artists organized in a very OCD-pleasing way - just the way I like it!

Bulk metadata edit made easy!

Integration with my HTC sensation mobile phone is a breeze. It sees it as a removable disk, which is nothing special, but the interaction with the phone and your music library is pretty good in my opinion.

Media player integration

Then there's the song information tab, that shows you - you guessed it - song information: how many people listened to that song on and how many times was played (note that that information shows up even if you are playing files from your personal collection). It shows you lyrics and artist info. All this is obviously pulled from online resources such as wikipedia and wikilyrics. Some of the more obscure bands and artists in my collection were not found, but I think only me and another 3 people have ever heard of them, so that's understandable.

the lyrics tab - all obviously pulled off the web on demand. So far accuracy has been great!

Another cool thing is the fade-in fade-out feature that you can hear when you skip songs or when you stop the player. For sure this is a feature other players also have but it's yet another point for clementine. On the topic of cool features, I also like the equalizer visualization at the bottom of the window - it's very responsive and you can change the visualization that mostly suits you. Again, for sure you can find this in other programs, but I particularly like it in clementine.

Like I wrote in the beginning of this review, I really like it and I will keep using it. If you are looking for a robust music player, try clementine.

Monday, April 29, 2013

get contents of network share on ubuntu

Took some time to get this one and in the end it's really really easy...

The problem: nautilus finds network share easily, lists it under the network section on the left had side bar. It also allows you to browse it with no problems.

However, regular programs (say a music library program) cannot open folders on the share because the network shares do not show up on the "open folder" dialog.

What do you do?

go to ~/.gvfs and you will find your share contents there.

Why did I not know this?

Thursday, December 20, 2012

Suunto ambit on Linux - log file

As requested in the comments of a previous post, here's a link to a comms log between the suunto and a PC. This is only part 1 of 6 of a session where waypoints are uploaded from the watch, followed by the upload of a move.

Hopefully this is useful for someone.