Author: MC

  • Navigation Mesh path finding in MMORPG Bots (updated)

    One of the biggest challenges in writing a Bot (autonomous character) for an MMORPG is the navigation.  You have a few choices, ordered by complexity; Steering: Quite simply, given a destination you steer the character towards that point.  If it gets stuck you try jumping, reversing, strafing left/right.  This is obviously the most primitive form of…

  • MacBook Pro 17″ 2011 – Intel SSD woes solved (kinda)

    I recently upgraded my work laptop to the new MacBook Pro 17″ (2.3Ghz i7, 8GB RAM), being ever the tinkerer I was keen to replace the stock HDD for one of the latest SATA III (6Gbps) solid-state drives. After a brief bit of research it boiled down to two options OCZ Vertex 3 240GB or,…

  • World IPv6 Day

    World IPv6 Day is fast approaching (June 8th 2011), excerpt from their website; On 8 June, 2011, Google, Facebook, Yahoo!, Akamai and Limelight Networks will be amongst some of the major organisations that will offer their content over IPv6 for a 24-hour “test flight”. The goal of the Test Flight Day is to motivate organizations…

  • Earthquake Data (fixed)

    I just noticed that the Earthquake Data I’ve been collating had some minor errors (no lat/long), a quickity quick fix to some of the regular expressions and its back to normal.  A total of ~31,020 earthquake events, updated daily from data provided by the fine people involved in the GEOFON Extended Virtual Network project.

  • Consuming Twitter streams from Java

    A while ago I was playing with the Twitter Streaming API, one of the first things I wanted to do was collect a lot of data for off-line analysis (in Hadoop).  I wrote a hacky little utility class called TwitterConsumer.java that did just the trick. Basically you just initialise it with a valid Twitter account…

  • Supermicro AOC-SASLP-MV8: DRIVER_TIMEOUT

    I have been using the Supermicro AOC-SASLP-MV8 host bus adapter on quite a few Linux machines recently.  Supermicro/Marvell only provide stable drivers for Windows and a select few (outdated) Linux distributions.  I had to rely on the open-source support in the drivers/scsi/mvsas tree of the Linux kernel. Running this card with 8 x 2TB hard…

  • Reading ZIP files from Hadoop Map/Reduce

    by

    in ,

    This post has been obsoleted by my update here: Hadoop: Processing ZIP files in Map/Reduce One of the first use-cases I had for playing with Apache Hadoop involved extracting and parsing the contents of thousands of ZIP files.  Hadoop doesn’t have a built-in reader for ZIP files, it just sees them as binary blobs. To solve…

  • Earthquake Data

    With today’s events unfolding in Japan I went looking for sources of earthquake data when I stumbled upon the GEOFON Extended Virtual Network and after a quick bit of scripting I collated all the data into a simple CSV format making it easier to analyse. I have published the collated data on a new page…

  • Simple Speed Tests

    OCZ 30GB SSD $ hdparm -Tt /dev/sdb /dev/sdb: Timing cached reads: 3358 MB in 2.00 seconds = 1679.46 MB/sec Timing buffered disk reads: 452 MB in 3.01 seconds = 150.05 MB/sec Western Digital WD10EADS 1TB $ hdparm -Tt /dev/sdb /dev/sdb: Timing cached reads: 3372 MB in 2.00 seconds = 1685.85 MB/sec Timing buffered disk reads:…

  • Open MPI Master & Servant Example – BogoMips

    by

    in

    In yesterdays post I introduced a simple ‘master & servant’ technique where I used the rank-0 node to collate results from all the other nodes. To do this I used the methods MPI_Send and MPI_Recv to send/recv 128-byte MPI_CHAR strings. Today I am extending the example by sending/receiving MPI_FLOAT‘s to demonstrate that native C/C++ numerical…

  • An Open MPI Master & Servant Example

    by

    in

    Building on the Getting started… post from last week I’ve knocked up a quick example showing one way to get your MPI processes to communicate with one another. master_servant.c: #include <stdio.h> #include <mpi.h> #include <unistd.h> int main(int argc, char *argv[]) { int numprocs, rank, namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Get_processor_name(processor_name, &namelen);…

  • Getting started with Open MPI on Fedora

    by

    in

    Recently rediscovered the world of parallel computing after wondering what to do with a bunch of mostly idle Linux boxes, all running various versions of Fedora Core Linux. I found this guide particularly useful and decided to elaborate on the subject here. Background Open MPI is an open-source implementation of the Message Passing Interface which…

  • Hauppauge WinTV-NOVA-HD-S2 working on Fedora Rawhide

    by

    in ,

    Long story short, I installed Fedora Core 10, enabled fedora-rawhide.repo and upgraded to Rawhide (17th Feb ’09), giving the following post install/upgrade: acl-2.2.47-3.fc10.i386 apr-1.3.3-3.fc11.i386 apr-util-1.3.4-2.fc11.i386 apr-util-ldap-1.3.4-2.fc11.i386 attr-2.4.43-1.fc10.i386 audit-libs-1.7.11-2.fc11.i386 audit-libs-python-1.7.11-2.fc11.i386 authconfig-5.4.7-1.fc11.i386 basesystem-10.0-1.noarch bash-4.0-0.4.rc1.fc11.i386 binutils-2.19.51.0.2-12.fc11.i386 bzip2-1.0.5-3.fc10.i386 bzip2-libs-1.0.5-3.fc10.i386 ca-certificates-2008-7.noarch checkpolicy-2.0.16-3.fc10.i386 chkconfig-1.3.41-1.i386 compat-db45-4.5.20-5.fc10.i386 ConsoleKit-libs-0.3.0-3.fc11.i386 coreutils-7.0-7.fc11.i386 cpio-2.9.90-3.fc11.i386 cpp-4.4.0-0.19.i386 cracklib-2.8.13-2.i386 cracklib-dicts-2.8.13-2.i386 cronie-1.2-7.fc10.i386 crontabs-1.10-28.fc11.noarch curl-7.18.2-9.fc11.i386 cyrus-sasl-lib-2.1.22-21.fc11.i386 db4-4.7.25-9.fc11.i386 db4-utils-4.7.25-9.fc11.i386 dbus-1.2.4.4permissive-1.fc11.i386 dbus-glib-0.80-1.fc11.i386 dbus-libs-1.2.4.4permissive-1.fc11.i386 dbus-python-0.83.0-4.fc11.i386…

  • DVB Support for the Videolan Client (VLC) on Fedora Core 5

    The version of the Videolan Client (VLC) for Fedora Core 5 from freshrpms does not include DVB support. [foo@localhost ~]$ vlc –program 4704 dvb:12207000:0:3:27500000 VLC media player 0.8.5 Janus status change: ( new input: dvb:12207000:0:3:27500000 ) status change: ( audio volume: 256 ) status change: ( play state: 1 ) [00000295] main input error: no…

  • IT Terminology – Hard Drive Jenga

    Hard Drive Jenga A term used to describe removal of Hard Drives from a RAID storage array where the objective of the game is to remove as many drives as possible without the array collapsing causing catastrophic data loss. Not for the faint hearted! Not to be confused with Hard Drive Dominoes (another fine example).