Archive for the ‘Uncategorized’ Category

Some of you old farts may remember the classic PC Game Jazz Jackrabbit. Which basically was a straight ripoff of Sega’s Sonic the Hedgehog with a rabbit and an awesome gun. It ran back in the days of DOS, and while it may be possible to get the game to run in a DOS emulator, it hardly makes sense to have a whole DOS Emulator for only one game. So that leaves us old folgies with no way to enjoy one of our favorite blasts from the past.

Enter the OpenJazz project. An open-source recreation of the Jazz Jackrabbit game engine. All you need are the game files from your old Jazz Jackrabbit CD-ROM!! The following excerpt is from the OpenJazz website.

“OpenJazz was started on the 23rd of August, 2005, by Alister Thomson. Academic pressures put the project on hold until late December 2005. The source code was released on the 25th, and the first version with a degree of playability was released on the 15th of January. Since then, a variety of ports have been released by other people.”

So to install it can be a little difficult depending on what you are doing. If you are on Windows or Arch Linux, you are in luck, there are easy avenues to install OpenJazz, if you are compiling from scratch it can be a little more difficult.

On Windows you can download these two zip files, from the openjazz download page.,

One contains the executable and the other contains libraries that the OpenJazz executable requires, which are SDL (Simple Direct Media Layer) and Modplug (a sound library). If you extract these zip files into the same directory, then also place your game files in that directory. Then, run the OpenJazz executable and your nostalgic urges should be satisfied with the Original Jazz Jackrabbit you remember!

Unfortunately, those binaries and libraries will only work on a 32-bit Windows system. If you have 64-bit you’ll have to compile Jazz from source, possibly the supporting libraries as well. I will leave this as an exercise to the poor soul that decided to use 64-bit windows.

If you are lucky enough to be on Arch Linux, then installing OpenJazz should also be a sinch thanks to the Arch User Repository and myself. 🙂 The Arch User Repository is basically a way Arch users can submit scripts that allow others to easily download and compile software into packages that can then be installed. As of writing the openjazz in the aur should work fine and with sound. If you have yaourt all you need to do is yaourt -S openjazz and in no time you will be waxing nostalgic.
Compiling OpenJazz isn’t so hard either. By default however, it compiles without sound but enabling sound is a cinch. Just as long as you have the dependencies which are the SDL development library and the modplug development library. Instead of knowing what to add to the makefile like before, all you need to do is open the makefile and uncomment the lines in the makefile that enable sound. Since this document is intended for users of all skill level, I’ll get a little more specific. First, download and unzip the source file found at, (i’ll assume you can do this), when you open the directory there will be a file called Makefile.debian. Open the file and “uncomment” lines 32 and 33 by erasing the “#”. In the world of many linux config files and some programming languages like Python, “#” are lines that are ignored by the necessary interpreter on the Computer.

Hopefully this will spur more interest in the project especially for those that had trouble getting it working and in open source game engines in general. The project is still under development and there are some flaws like holes jazz can’t get out of and the music doesn’t loop during levels. But it is still awesome to play again natively on Linux. Happy Gaming!!!

I’m over gnome. Even when I was a gnome user I did minimal gnome installs. However, I like many still use many gtk applications. Most of the applications I use are gtk applications. However, I don’t use a DE, I either use xfce4.8 or compiz as a standalone wm.

However, I still want my desktop to look nice. Now with some of the gtk applications I use adopting gtk3, such as Nautilus and Gedit, I want my gtk2 and gtk3 apps to use the same icon and gtk theme.

The first step to acheiving this is using icon and gtk themes that support both gtk2 and gtk3. I went over to gnome-looks and selected the “Zukitwo” theme.

To change gtk themes without installing an application is rather simple. However, there are two seperate files for gtk2 and gtk3 which you must edit. Below are examples of the two files on my system.

## ~/.gtkrc-2.0
## Edit GTK2 Theme Settings
gtk-font-name="Zekton 10"
## ~/.config/gtk-3.0/settings.ini
## Edit GTK3 Theme Settings
## Create this File if it doesn't already exist
gtk-theme-name = Zukitwo-Dark
gtk-icon-theme-name = Tango
gtk-fallback-icon-theme = gnome
# next option is applicable only if selected theme supports it
gtk-application-prefer-dark-theme = true
# set font name and dimension
gtk-font-name = Zekton 10

Here is the link to the Zukitwo theme that I used.

I reported this bug with debian and it seems they will not make the changes to glibc. It does seem that one of the patches to seems to work and that is the workaround I will be using.

I’ve assisted a few others in fixing this. Here is a blog post with how to apply the patch.

Quick and Simple Samba Setup

Posted: March 11, 2011 in Uncategorized

This post is about Samba, the *nix implementation of the smb protocol. Put simply it runs as a daemon and can allow a *nix/bsd box to share folders with other *nix/bsd boxes and even windows boxes.

In this post we are going to dig into a quick and easy configuration of Samba.

In Windows with one click you can share folders and anyone can have access to your documents, to create and delete, and possibly upload mallicious software. On Linux thankfully we have permissions and other security measure some built directly into Samba which prevents this, although Linux could still be setup to share folders with one simple click.

Two basic security settings in Samba are Security=user and Security=share. I like to use Security=Share and that is what we will dive into first.

You can read more about the different security settings here. Basically security=share is a little more relaxed security wise and does not require usernames.

Not only do we have to deal with Samba permissions, we also have linux filesystem permissions to be concerned with, given that you are using a filesystem that supports permissions which is usually the case with Linux. The filesystem permissions supercede the Samba permissions.

Keep in mind in order for others who are not created as users on the host machine to view Samba shares, the permissions for others must be set so that they can execute the directory. This means in order to give others the permission to read and write to the shared directory they will need to have rwx permissions. In order to achieve this we will need to use the chmod command.

chmod -R 777 /directory/iam/sharing/

This will give everyone the ability to create and delete files in this directory I am creating.

This may seem like a gaping security hole, but luckily by default, files created through samba by other users are owned by nobody, which has extremely low permission and will not execute. This means that others cannot upload and run mallicious code. However, this settings could always be changed so that others could create files with more relaxed permission and not under the nobody user.

Read more about chmod and basic permissions here.

With this type of settings it would be more wise to only allow others to access and read the files in the directory. For this 775 permissions would be sufficient. (rx)

Let’s say I want to create a shared directory of my mp3s and I want to allow selected users to create and add files to this directory.

One way to accomplish this would be to use security=user.

We will make a directory where we will store the mp3s.

mkdir /home/user/mp3s

We will create a group of users that are allowed to access these mp3s.

# groupadd mp3users

Next, we make sure that the mp3users own the mp3 directory, first making sure your user is a member of the mp3users group

# gpasswd -a user mp3users
# chown -R user:mp3users /home/user/mp3s

Now you own the mp3 directory and it belongs to the mp3users group. Now we will change the access permissions of the directory so that you can read,write, and execute it, the members of the group can read, write and execute it, but others have no access.

#chmod -R 770 /home/user/mp3s

This takes care of the Linux setup of the directory. Now we must setup Samba.

First I will show you, my basic samba configuration. I stripped out a lot of the stuff that is unnecessary for me, to make my file simpler and easier to read.


### Paul's Samba Configuration

#======================= Global Settings =======================


workgroup = MSHOME

server string = %h

####### Authentication #######

security = user

encrypt passwords = true

passdb backend = tdbsam

obey pam restrictions = yes

unix password sync = yes

passwd program = /usr/bin/passwd %u

passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

pam password change = yes

Most of that is default. You may want to change workgroup=MSHOME to the workgroup that the computers in your house use, it is easier to MS computers to find other computer that are on the same workgroup, that's just the way it is.

server string =%h

This means that the hostname of the computer will be used as the network name of the machine through samba.

Now we will append /etc/samba/smb.conf with the shares we want to setup.


comment = music

path = /home/user/mp3s

writeable = yes

public = yes

guest ok = yes

valid users = paul rita @mp3users

[MP3] is the name of the share over the network.
Valid users restricts access to only the users and groups listed. Now we must create the user “rita” and add her to the mp3users group and enable her in samba. Here is how we do this.

adduser rita
## creates the user rita

gpasswd -a rita mp3users
## adds rita to the mp3users group

smbpasswd -a rita
## adds rita to the samba database

smbpasswd -e rita
## enables the user rita in the samba database

smbpasswd -n rita
## this makes it so rita does not need a password

Read more about restricting access through Samba here.

Smbpasswd is where passwords are stored, it handles samba access to your computer. The -n switch doesn’t always work as intended for me. Keep in mind that the users will need the passwords created when you ran smbpasswd -a in order to access the shares.

You can change the guest account from nobody to somebody else by settings the following in the Authentification section of /etc/samba/smb.conf

guest account = mp3user

You can then control that user’s permissions and which group he belongs to with the commands used above. Be careful because this is how you can grant anyone the permission to upload mallicious code.

You can also change the permissions of the files and directories that your guest users create by adding the following to the shares that you setup.

create mask = 0770
directory mask = 0770

This mean that the files (create mask) will be rwx for the owner and those in the group, and directories (directory mask), will be rwx for the owner and those in the group.

Anyway, that is a quick Samba setup, and a crash course in permissions. You could do other things like making sure all your shared folders are owned by a “sambashare” group and add your selected users to that group. The choices are yours and yours alone. Good Luck.