Posts tagged linux

New Server Upgrade Almost Ready!


 This is the new Dell PowerEdge 2950 server that will be used on the website. It’s packing a nice dual quad-core 3.16Ghz CPU, 16gb of ram, and VMWare to make management and repairs easier and better. The current server only has 2GB of ram, and a very ancient quad-core 2.1Ghz cpu (one of the first Xeon quad core CPU’s released). We are still adding some bits to it, saving up our spare change and buying them as we can.

In the next few weeks, this bad boy will be shipped off to the datacenter and installed in it’s rack, so the site can receive a much-needed upgrade.

If you want to check out CVGM and listen to some great oldskool computer game music, check out  Thanks!


New Tool In Development – Litecoin Miner Status – Monitor Multiple Litecoin Miners At Multiple Pools!

Project Update
This project has now been officially released. You can visit the project page (and download the tool) Here or get to it throught Discography tab at the top of the page. Thanks!

LTC Miner Status ScreenshotI have been working on a new tool for the last couple of weeks to assist Litecoin miners in their quest of mining. As a Litecoin miner myself in this new coin, a few pools started to pop up here and there and there was not much of a way to track what was going on. Hence my tool came along!

A common thing with any coin mining process is hopping, or switching from one pool to another. With my tool, you can see what you are doing across multiple pools, including how much LTC you have mined and how much you have been paid.

The interface is split into 3 main portions. The top part is a “ticker” of sorts that pages through the supported mining pools, showing you the current overall stats of that individual pool such as it’s overall mining speed, and the number of individual miners currently working there (and their combined KH/s speed). The middle field view shows the miners you have listed in that specific pool (If any) and what your miners are currently doing there. The base view is an overall view of your current mining summary across all of the supported pools. The tool is quick, easy to use, and sits quietly in the background keeping itself updated.

The tool is currently going through the last few days worth of testing with some close friends and miners, and I hope to have it released in the next couple of weeks once all the fine tuning has been done to it. If you are interested in testing out the tool, feel free to get in touch with me at andy [at] with your information. You can also find me on IRC , in #elitist, #litecoin and #rfcpool

Support For Many Pools!

At the time of the release, or unless someone suggests otherwise, the following mining pools will be supported from the initial launch of the application:

  • Elitist Jerks
  • OzCoin 

Additional Mining Pools

If you own/run/reccomend another litecoin mining pool that you would like to see added to this program, let me know either by email or in the comments of this post and I will see what I can do to get it in. Your pool must support JSON statistics that can easily be accessed via the web. The tool supports all mmcfe-based pools, I just need to know your details.

The Program Is Beerware!

The program itself will be released as BeerWare, meaning if you like it and you find it extremely handy, you should donate some coin towards a beer or two for the developer! Pool owners who want their pools listed within the app are encouraged to donate a couple of extra beers as well, especially if your pool requires a lot of work to get added (custom JSON etc.) There will not be a charge to buy the program ever, and anyone who does try to sell it for money are trying to rip people off. It will always work the same if you choose to donate or not. Donation addresses to send coin to will be in the About section of the program in various different formats. All donations are truly appreciated 🙂

Donation Addresses

Some people are already asking for donation addresses to bribe with, they are as follows:

LiteCoin: LfrxgdK1PgJQPRkPVDqopQt3FaYVswmp74

More details will be released for the program as soon as they are available. Versions will also be made available for Mac & Linux in time. Feel free to comment or ask any questions in the comments section on this post. Initial testing only available to Windows users. Thanks! FishGuy876


Telling Git To Ignore File Permissions


So, I have been having issues with git and repos. Im still extremely new to git (having used subversion for years) so every once in a while I run into something that makes me want to keep going back to svn. Today was such a day when I discovered that git didn’t like that some of the permissions had changed on the files within my repos.

Most of this problem for me occurs from working on files both in Linux and Windows, so its natural that samba will change some of these permissions. So, after reading the manual for a while, I discovered I could issue the following:

git config core.filemode false

This will instruct git to ignore changes to file permissions! Yay! Migraine easing. And according to the git manual:

    If false, the executable bit differences between the index and the
    working copy are ignored; useful on broken filesystems like FAT.
    See git-update-index(1). True by default.

And there you have it 🙂 Pretty straight forward, and saved me from having to buy more headache pills 🙂

New Commodore 128

New Commodore C128 & 1541 Disk Drive \o/


New Commodore 128About 3 weeks ago I found a new toy online 🙂 Meet my new Commodore 128 & 1541 Disk Drive. Both are in really excellent shape, and the 1541 is pretty much brand new, it doesn’t have a fingerprint on it! At the same time that I got the machine, I also went ahead and bought an XA1541 transfer unit, which connects to a regular PC, or a 1541 Commodore disk drive and acts like the device itself.

If connected to the 1541, the PC can transfer disk images back and forth between the drive, handy for making backups, copying downloaded images back to floppy, so they can be ran on the C128.

Software exists to connect the 1541 directly to the C128, however I wasn’t able to get it to work, so I may have to build a special DOS box in the future and try it again. The software is quite old and might not even work with this particular adapter.

Information on the adapter, and others in the series which can connect to various commodore devices, can be found on the following site: This is an open design, anyone can freely made it, although I chose to pay a fee and bought mine pre-built as I can’t solder to save my life 🙂

After playing with the new setup, it was very handy for transferring SID files to disk for playing on the real machine. Its funny to me just how used to emulated recordings I became, as the real SID versions quite often sound very different. I will eventually record some of these and put them on

I plan to use this computer to do a bit of coding in the future as well, so expect a small intro or some other piece of coding poop to come from me soon! Meanwhile, some additional images!

XA1541 C128 running 'BatPlot' by Adam West Group


Toshiba L675D And Kubuntu 10.10 Maverick/Lucid No-Boot – SOLVED!


I picked up a new laptop last week (L675D-S7015) to replace my failing HP laptop, and one of the first things that I wanted to be able to do on it was install Linux. On the old machine, when it was set to dual boot the Windows part would randomly reboot during startup, which was terribly annoying. So, on this machine I was very frustrated when I went to boot my 10.10 Kubuntu Live CD, and was just presented with a blinking cursor seconds after pushing the Start Kubuntu option from the disk menu!!

After a bit of playing and thinking about the problem, I remembered an issue I had a long time ago on a different Toshiba with ACPI. I did some googling and all I could find on the subject was people trying the ‘nomodeset’ and ‘forcevesa’ modes, which didn’t work in this particular case. I was able to remedy the issue by pushing F6 on the CD menu and select ‘acpi=off’ and then booting. Fired right up!

Once Kubuntu is installed, and you reboot for the first time, you will again experience the same problem. To fix this, we need to make a slight tweak to the Grub boot options. When the Grub menu appears showing your choice of OS, highlight the Linux kernel and push ‘e’ to edit it. If your linux doesn’t show the grub menu, you can hold shift during the beginning of the boot to show it. Scroll down to the part that says ‘quiet splash’ and add ‘acpi=off’ to the end of the string. Push Ctrl+X to boot it. You should find now that you can boot to the linux desktop.

Now we can get it to work, we need to make these changes permanent. Once booted, go to a terminal window and type ‘sudo vi /etc/default/grub’ and just like before, find the GRUB_CMDLINE_LINUX_DEFAULT and add acpi=off to the end, it should then read ‘quiet splash acpi=off’. Save the changes, exit the editor and you MUST run update-grub in order to make them permanent. It re-generates the grub configuration file, and makes the changes permanent.

After this is done, you can reboot to test it, but it should work without you needing to do anything else! You can proceed to install updates and new kernels, and the option will automatically be applied when the kernel is upgraded!

If like me you boot to more than one OS, while you are editing the grub config file you can change which OS is booted by default. Looking at GRUB_DEFAULT which is 0 by default, and will boot the topmost option. Set it to 3, it will boot the 3rd OS in the list. Set it to whichever OS you want to boot if it isnt the default, and dont forget to update-grub! You can also change the GRUB_TIMEOUT value from 10 seconds to anything you please.

I took some crude pictures using my phone of the process. Hope this helps someone else who has been frustrated with this process!

Windows 7/Kubuntu Dual Boot

Dual-Booting Kubuntu Alongside Windows 7 Without Wubi – Properly!


Windows 7/Kubuntu Dual BootThe hard drive took a major dump in my laptop this weekend, left it backing up some stuff while I went to go see Tron, and when I got home it sounded like a DJ was scratching some kind of new rap tune. Needless to say, the drive was on its way out, but luckily I have been able to recover almost all of my data so far 🙂

After installing a replacement hard drive, I thought it was about time that I put a dedicated linux partition on this system as I have been using Kubuntu to do some Android development (installed via Wubi). While Wubi is nice for messing around, it isn’t the most stable system to be using and I have had a couple of disasters in the past with it messing up my virtual partitions. Wubi also has some known bugs, where after installing inside Windows, you’ll get a message about no root filesystem being defined and that you should fix it in the partition manager. Nice, if you can actually get there to do it!

So, I installed Windows 7, left 40gb of free space intentionally for Kubuntu. After the process of doing all the software installs and updates etc. for Windows I thought that I had better take a shot at installing the Linux side of things. Boy, what a mess 🙂 Firstly, there is something about the partition layout in Windows 7 that GPartEd just cannot see them (even using the GPartEd Live CD, or any LiveCD including Kubuntu). It thinks my hard drive is completely unpartitioned. Not what I was expecting, as I was hoping I could just throw some linux partitions into the free space, and then install. Very confusing 🙂 Adding any changes at this point would erase my new Windows 7 partition instantly.

I remember something a friend told me years ago about partitioning, that he had once used Linux to do the partitioning of his drives for some wierd XP install, as the Windows tools at the time were quite shit, so I figured that to get this to work the way I want it, I should probbably attempt something similar. I didnt really have much to lose (besides sitting through a few hundred megs of Windows Updates) so I went ahead and prepared the partition in GPartEd.

An important thing to remember here is the partition table. You must go into the Partition Table section and create a new ms-dos partition table, otherwise if you don’t it may try and use GPT by default (which won’t work with Windows 7). If you try to install Windows 7 without this partition type change, it will pop up a Warning message when you try to select the partition, and clicking Details will tell you that it cannot install on a GPT partition. So, after this step (which will completely zap your entire drive) I proceeded to create an NTFS partition, leaving 40gb free space for Linux later on. After applying the partition changes, booting the Windows 7 installer and installing windows by selecting the NTFS partition I just created, I was then able to reboot with a KUbuntu LiveCD and work with the free space on the drive correctly! It will even mount the Windows partition (just remember to hit Yes on the option to Unmount it duringi the Kubuntu install). Even grub works well and offers Windows 7 as an option in the boot menu.

When installing Linux with manual partitions, remember to add a swap partition at least 2x the size of the available ram in the machine, and the rest can then be an ext4 partition (that mounts to /) and thats the minimal that Kubuntu will need in order to boot correctly. Grub takes care of the rest of the issues with booting and selection etc. as most of Grub resides in the liunux part.

I am sure that several people have had problems trying to get the dual booting to work correctly, so I hope that this helps at least one human being out there who has struggled with this as long as I have.


Converting Databases To UTF8 Format From Latin1


I have been putting off the inevitable the last couple of weeks, which was the task of converting the database for to UTF8 from the default collation of latin1-swedish-ci. I am not the best when it comes to administering MySQL via command script, and phpMyAdmin didnt do the job properly of conversion for me. After a bit of googling, I found a bash script at islandlinux that was able to help me out considerably:



if [ ! "$DATABASE" ]; then
echo "Please specify a database"


if [ ! -d "$BACKUPDIR" ]; then
mkdir -p "$BACKUPDIR"


mysqldump --add-drop-table --extended-insert "$DATABASE" > "$BACKUP"

TABLES=`mysql --batch --execute 'SHOW TABLES' "$DATABASE" | grep -v "^Tables_in"`

for TABLE in $TABLES; do
echo 'ALTER TABLE `'"$TABLE"'` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;';
# uncomment the following line to process the commands
#mysql --execute 'ALTER TABLE `'"$TABLE"'` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;' "$DATABASE"

This script converted the database tables and everything under it to the correct format. It also backs up the databases first in case something decides to take a crap on you. The problem I had with phpMyAdmin was even though I changed the collation to utf8_general_ci it didn’t do it recursively into the tables and the fields underneath it.

Thanks for the script guys 🙂 You saved me even more work!


Annoying Problems With std::vector on Linux Vs. Windows


So I spent most of this weekend working on getting my engine to compile correctly under GCC/Linux (Ubuntu 10.4) and ran into some serious headaches. It’s been a few years since I last built anything on Linux at all (last time was when I did some work for Epic Interactive and their linux ports) and took me a little bit to remember how makefiles worked etc. and bring my SDL code up to date.

After compiling the code, I was having a hell of a time trying to figure out why it would always cause a segmentation fault after the first few seconds of running. Here is what gdb had to say:

[Thread debugging using libthread_db enabled]
[New Thread 0xb3da2b70 (LWP 4813)]
[Thread 0xb3da2b70 (LWP 4813) exited]
[New Thread 0xb3da2b70 (LWP 4815)]
Program received signal SIGSEGV, Segmentation fault.
0x0807c27d in ?? ()
(gdb) backtrace

#0  0x0807c27d in ?? ()
#1  0x08083eee in ?? ()
#2  0x0807e59f in ?? ()
#3  0x08082231 in ?? ()
#4  0x08062d98 in ?? ()
#5  0x0804deaa in ?? ()
#6  0x0806659b in ?? ()
#7  0x00369bd6 in __libc_start_main () from /lib/tls/i686/cmov/
#8  0x08049891 in ?? ()

Unfortunately, that doesn’t really tell me much of anything 🙂 After a little bit of playing around with the manual pages in GDB, and some serious googling, I was able to get the app to compile with some debug symbols. This is the output:

[Thread debugging using libthread_db enabled]
[New Thread 0xb3da2b70 (LWP 3711)]
[Thread 0xb3da2b70 (LWP 3711) exited]
[New Thread 0xb3da2b70 (LWP 3713)]
/usr/include/c++/4.4/debug/vector:265:error: attempt to subscript container
with out-of-bounds index 0, but container only holds 0 elements.
Objects involved in the operation:
sequence "this" @ 0x0xb162bf4 {
type = NSt7__debug6vectorImSaImEEE;
Program received signal SIGABRT, Aborted.
0x0012d422 in __kernel_vsyscall ()
[Thread debugging using libthread_db enabled]
[New Thread 0xb3da2b70 (LWP 3711)]
[Thread 0xb3da2b70 (LWP 3711) exited]
[New Thread 0xb3da2b70 (LWP 3713)]
/usr/include/c++/4.4/debug/vector:265:error: attempt to subscript container
with out-of-bounds index 0, but container only holds 0 elements.

Objects involved in the operation:
sequence "this" @ 0x0xb162bf4 { type = NSt7__debug6vectorImSaImEEE; }
Program received signal SIGABRT, Aborted.0x0012d422 in __kernel_vsyscall ()

This error is generated whenever I try and set up Vectors in the code to handle some rather simple arrays. I even tested the code where I created a vector, and checked its size to see if it was 0 and was still able to create the same problem. This is how I did all the safety checks in my code; if Vector.size() > 0 { Safe To Do Some Stuff, If Size Was Legal For Array }.

So, for whatever reason, they behave very differently than in Windows. I really don’t have the time to figure out the specific reasons, though after a couple of hours of googling trying to get GDB to display as much information as it did, it turns out a lot of people have issues with vectors doing strange things on Linux.  As a result, I will be removing that code from the project to make sure it’ll compile and run on all 3 platforms (Windows, Mac and Linux) without any further issues! Lucky for me, it is an easy fix!

Go to Top
%d bloggers like this: