Category Archives: gnu linux

Notes on running the Crippled Turbo C/C++ from Dosbox, within a Linux Env

Notes on setting up Turbo C/C++ within DosBox 0.74, compiled from source: Install DosBox from source This is the dosbox_shared directory containing Turbo C/C++ This config file is tested and works, modify the last three commands, to set the correct path to where you’ve extracted the dosbox_shared.tar.bz2 Place the config file in /home/username/.dosbox/dosbox-0.74.conf

The Unofficial Gentoo Linux x86 uClibC stage3s’

Update: The catalyst spec files are available here: Following this Gentoo bug: We have official experimental uClibC for x86 and amd64 stages. I will not be maintaining these unofficial ones any longer. The link to the official archives is: and The uclibc experimental stages on the gentoo mirrors are all outdated(they […]

Use Ruby to Generate your Shadow Password

I was initially stumbled on creating the shadow compatible SHA-512 hash. After a little research, the answer was obvious: require ‘digest/sha2′ password = “pass@123″ salt = rand(36**8).to_s(36) shadow_hash = password.crypt(“$6$” + salt) And you now have a password hash which you can directly use in /etc/shadow

recursive get from an FTP server

As we all know, downloading a directory from an FTP server over FTP over the command line is not possible. Some, have found mget to be the holy grail, I certainly do not. I was restoring my music backup from my NAS, and I didn’t want to do it the GUI way, so CLI is […]

playing with grsecurity | a brief tutorial

This howto is intended for those looking for better means to secure the Linux kernel, and the userland by the means of a powerful and simple role based access control policy. Contents What is grsecurity? Setting up grsecurity + gentoo in a VM The real thing: Grsecurity Getting familiar with gradm Generating the policy Fixing […]

chname: change the hostname for a given command

Run a command in a utsname namespace with a new hostname. You can essentially chroot with a desired hostname and fool a user. I’ve simply built RPM packages for this neat little utility. The source and package are found below. RPM Package: chname-1.0-0.2.x86_64.rpm SRPM Package: chname-1.0-0.2.src.rpm Visit the project’s home page for further clarifications.

the one thing is useful for : backgrounds

714 wonderful backgrounds! Yes, in my personal opinion, is only useful in supplying fresh backgrounds, which are breath taking. These breath taking set of wallpapers, when set to change randomly on your desktop, makes the look and feel more exquisite. Download the file(see below). The script and the images are inside the tar file. […]

[howto] grsecurity + NOUVEAU + Compiz + Seg Fault

Assuming that you have a grsec + PaX enabled kernel, you would realise that the nvidia-drivers are a bad choice. Quite a few applications will fail(the ones that use Use the nouveau driver for your card, as it’s pretty much stable and works with good 3D acceleration. To get compiz working NOUVEAU under hardened […]

creating unique environments – chroot snapshots – using aufs2

What if you decided that you wanted to experiment and test within a chroot(ed) environment? And then something went wrong and you had to start all over again from scratch? Big headache, too much pain, especially with RPM based distributions. Well don’t do that then, here’s an interesting approach. Use aufs2, a stackable filesystem. An […]

bootstrap CentOS from Gentoo (or any linux distribution)

To bootstrap CentOS in Gentoo, I did the following. It basically installs the essential CentOS components into the specified directory, and from there on, chroot into that directory and perform tests, etc. First off, you’ll need to unmask a few packages(replace ~amd64 with ~x86 if your on the x86 architecture), and enable the flag sqlite […]


A quick script to wait for a certain pid, then once that quits, execute a command. You may ask, why not just do command1 && command2 ? Well, if command1 exits with a non-zero exit status value, command2 will not get executed. Hence, I’ve brewed a quick script for this purpose. File: /usr/local/bin/waitpid #!/bin/sh # […]