Wednesday, 5 June 2013

Berndsen - Supertime

This is somewhat of a non-sequitur post, but I figured I should add some filler to break that nasty one-post-a-year habit I seem to have.

Thursday, 12 July 2012

OS X 10.8 Mountain Lion, Time Machine & Netatalk

Apple Time Machine - OS X 10.8 Mountain LionWell, it has been nearly a year since my last post, and true to form, this post is also about the latest version of Apple's Mac OS X 10.8, Mountain Lion. It seems that anyone who is using Time Machine to backup to a non-Apple network share, such as Netatalk, will be receiving an error message.

Opening up the Console, you will also see the following nondescript error:
com.apple.backupd: Backup failed with error: 19

Luckily there is a simple solution to this problem! But first, a little about how I discovered the solution.

After doing some Google searches, I did not discover any fixes to the problem, so I decided to see if perhaps invoking Time Machine via the command line would produce a more descriptive error. Unfortunately, invoking Time Machine via the command line (tmutil startbackup) only resulted in the same error dialogue.

So I decided to try assigning the backup disk manually via the command line just to see what would happen. And you know what? It worked! Without further ado, I present the solution!

  1. Mount your Time Machine volume manually (not the actual sparse image).

  2. Open Terminal.app and enter the following:
sudo tmutil setdestination /Volumes/YOUR_BACKUP_VOLUME

Just make sure to replace "YOUR_BACKUP_VOLUME" with the name of the real volume. Now you can start the backup and it should work properly again.

Update:

I've noticed now that I've brought my laptop outside of my home network, Time Machine still tries to connect to my backup server, which results in the following error:

AFP Error - There was a problem connecting to the server "ZARQUON".


The only solution I can find is to turn off Time Machine while I'm roaming. I'll look further into this when I get back onto my home network.

Update #2:

Try using the following method if you get errors while roaming. I cannot guarantee it works until I attach myself to a different network.

sudo tmutil setdestination afp://user:pass@host/share

Remember to change the user, pass, host, and share to appropriate values.

Friday, 22 July 2011

OS X 10.7 Lion, Time Machine & Netatalk 2.2

Failing at Time Machine
With the release of Apple's Mac OS X 10.7 Lion, many people will notice that Time Machine fails to play nicely with their current Netatalk servers. There is a relatively simple solution for those of us who run Netatalk servers on Linux servers and NAS devices. However, if you're relying on a NAS-vendor such as FreeBSD, you may need to wait for them to offer an update to ensure compatibility with Mac OS X 10.7. Apparently the major reason for this break in compatibility is a lack of a "replay cache", which was introduced in AFP 3.3.

Anyhow, below I've created a simple guide on how to setup Netatalk 2.2 from source on most any Linux system. I am using Gentoo in this guide, but the basics should be the same on any other system. Currently Gentoo has not merged Netatalk 2.2 into portage, so we'll have to download the source from Netatalk itself.

Download Netatalk 2.2 (Unstable): http://netatalk.sourceforge.net

Extract the contents of the file and cd to the directory:
# tar xvf ./netatalk-2.2-beta4.tar.bz2
# cd netatalk-2.2-beta4/

To build the binaries, first run the program ./configure in the source directory. This should automatically configure Netatalk for your operating system. If you have unusual needs, then you may wish to run:
# ./configure --help

to see what special options you can enable. The most used configure options are:
The most used configure options are:
  • --enable-[redhat/suse/cobalt/netbsd/fhs]
    This option helps netatalk to determine where to install the start scripts.

  • --with-bdb=/path/to/bdb/installation/
    In case you installed Berkeley DB in a non-standard location, you will have to give the install location to netatalk, using this switch.

Now run configure with any options you need. For Gentoo we'll use the following configure options:
# ./configure --enable-gentoo --enable-zeroconf

The configure summary should look something like this:
Configure summary:
    Install style:
         gentoo
    AFP:
         AFP 3.x calls activated:
         Extended Attributes: ad | sys
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     (PAM SHADOW)
         DHX2    (PAM SHADOW)
         RANDNUM (PAM SHADOW)
         passwd  (PAM SHADOW)
         guest
    Options:
         DDP (AppleTalk) support: no
         CUPS support:            no
         SLP support:             no
         Zeroconf support:        yes
         tcp wrapper support:     yes
         quota support:           yes
         admin group support:     yes
         valid shell check:       yes
         cracklib support:        no
         dropbox kludge:          no
         force volume uid/gid:    no
         Apple 2 boot support:    no
         ACL support:             yes

Now we couple and install Netatalk 2.2:
# make
# sudo make install

Edit the file to look something like my setup, but make sure to change YOUR_USERNAME to the name of the user on your system. The ~/.TimeMachine directory can be whatever you chose for your backup directory. It is important to add "tm" to the options section on  your Time Machine share, otherwise it will not work.
# vi /usr/local/etc/netatalk/AppleVolumes.default

# The line below sets some DEFAULT, starting with Netatalk 2.1.
:DEFAULT: options:upriv,usedots

# The "~" below indicates that Home directories are visible by default.
# If you do not wish to have people accessing their Home directories,
# please put a pound sign in front of the tilde or delete it.
~/ "$u" allow:YOUR_USERNAME cnidscheme:dbd options:usedots,upriv
~/.TimeMachine "$u Backup" allow:YOUR_USERNAME cnidscheme:dbd options:usedots,upriv,tm

# End of File


Now edit the general AFP service config file to look like this:
# vi /usr/local/etc/netatalk/afpd.conf

# default:
- -udp -noddp -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword

Finally, edit the general Netatalk config file to look like this:
# vi /usr/local/etc/netatalk/netatalk.conf
# Netatalk configuration

#########################################################################
# Global configuration
#########################################################################

#### machine's AFPserver/AppleTalk name.
ATALK_NAME=`echo ${HOSTNAME}|cut -d. -f1`

#### server (unix) and legacy client (<= Mac OS 9) charsets
ATALK_UNIX_CHARSET='LOCALE'
ATALK_MAC_CHARSET='MAC_ROMAN'

#### Don't Edit. export the charsets, read form ENV by apps
export ATALK_UNIX_CHARSET
export ATALK_MAC_CHARSET

#########################################################################
# AFP specific configuration
#########################################################################

#### Set which daemons to run.
#### If you use AFP file server, run both cnid_metad and afpd.
CNID_METAD_RUN=yes
AFPD_RUN=yes

#### maximum number of clients that can connect:
AFPD_MAX_CLIENTS=20

#### UAMs (User Authentication Modules)
#### available options: uams_dhx.so, uams_dhx2.so, uams_guest.so,
####                    uams_clrtxt.so(legacy), uams_randnum.so(legacy)
AFPD_UAMLIST="-U uams_dhx.so,uams_dhx2.so"

#### Set the id of the guest user when using uams_guest.so
AFPD_GUEST=nobody

#### config for cnid_metad. Default log config:
CNID_CONFIG="-l log_note"

#########################################################################
# AppleTalk specific configuration (legacy)
#########################################################################

#### Set which legacy daemons to run.
#### If you need AppleTalk, run atalkd.
#### papd, timelord and a2boot are dependent upon atalkd.
ATALKD_RUN=no
PAPD_RUN=no
TIMELORD_RUN=no
A2BOOT_RUN=no

#### Control whether the daemons are started in the background.
#### If it is dissatisfied that legacy atalkd starts slowly, set "yes".
ATALK_BGROUND=no

#### Set the AppleTalk Zone name.
#### NOTE: if your zone has spaces in it, you're better off specifying
####       it in afpd.conf
ATALK_ZONE=@AFP

Now you should be able to get Netatalk up and running and start your backup (note: init.d may be rc.d on some systems).
# /etc/init.d/netatalk start

Also, on Gentoo systems, we will want to have this service start automatically at startup.
# rc-update add netatalk default

Now your formerly incompatible Netatalk installation should work with OS X 10.7 Lion's Time Machine backup. However, if you've never setup your system for using Netatalk as a Time Machine backup server, you may want to follow these additional instructions.

OPTIONAL: If you have not setup a sparse disk image for time machine backups, follow these instructions.

On your OS X 10.7 machine, mount the Time Machine Share. It should show up in the "Shared" section of the sidebar in Finder. However, if it does not show up, you can manually mount the share by pressing COMMAND+K in the finder and entering your server details as follows:

AFP Connect to Server - Command+K
Connect to Server (Command+K)

AFP Enter Password Prompt
Enter Password

AFP Choose Volume
Choose Volume
Now open up Terminal.app and cd to the newly mounted volume.
# cd /Volumes/myBackup/

Now we'll create a new sparse disk image for the Time Machine backup and enable support for network volumes in Time Machine. All of complicated stuff after "Time Machine" is just a script to automatically extract your machine's local host name and ethernet MAC address.
# hdiutil create -size 512g -fs HFS+J -volname "Time Machine" `grep -A1 LocalHostName /Library/Preferences/SystemConfiguration/preferences.plist | tail -n1 | awk 'BEGIN { FS = "|" } ; { print $2 }'`_`ifconfig en0 | grep ether | awk 'BEGIN { FS = ":" } ; {print $1$2$3$4$5$6}' | awk {'print $2'}`.sparsebundle

# defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Now configure Time Machine to use the mounted volume for backup and everything should work beautifully!

Tuesday, 15 March 2011

Algorithm for Optimal Scaling on a Chart Axis

SteelSeries @ Harmonic Code Implementation
Update:

Seems the fellow (Han Solo? hehe) over at Harmonic Code developed some nice examples of this algorithm in action.

I've been working on an Android charting application for an assignment and ran into a bit of an issue when it came to presenting the chart in a nicely scaled format. I spent a some time trying to create this algorithm on my own and came awfully close, but in the end I found a pseudo-code example in a book called "Graphics Gems, Volume 1" by Andrew S. Glassner. An excellent description of the problem is given in the chapter on "Nice Numbers for Graph Labels":
When creating a graph by computer, it is desirable to label the x and y axes with "nice" numbers: simple decimal numbers. For example, if the data range is 105 to 543, we'd probably want to plot the range from 100 to 600 and put tick marks every 100 units. Or if the data range is 2.04 to 2.16, we'd probably plot a range from 2.00 to 2.20 with a tick spacing of 0.05. Humans are good at choosing such "nice" numbers, but simplistic algorithms are not. The naïve label-selection algorithm takes the data range and divides it into n equal intervals, but this usually results in ugly tick labels. We here describe a simple method for generating nice graph labels.

The primary observation is that the "nicest" numbers in decimal are 1, 2, and 5, and all power-of-ten multiples of these numbers. We will use only such numbers for the tick spacing, and place tick marks at multiples of the tick spacing...
I used the pseudo-code example in this book to create the following class in Java:

public class NiceScale {

  private double minPoint;
  private double maxPoint;
  private double maxTicks = 10;
  private double tickSpacing;
  private double range;
  private double niceMin;
  private double niceMax;

  /**
   * Instantiates a new instance of the NiceScale class.
   *
   * @param min the minimum data point on the axis
   * @param max the maximum data point on the axis
   */
  public NiceScale(double min, double max) {
    this.minPoint = min;
    this.maxPoint = max;
    calculate();
  }

  /**
   * Calculate and update values for tick spacing and nice
   * minimum and maximum data points on the axis.
   */
  private void calculate() {
    this.range = niceNum(maxPoint - minPoint, false);
    this.tickSpacing = niceNum(range / (maxTicks - 1), true);
    this.niceMin =
      Math.floor(minPoint / tickSpacing) * tickSpacing;
    this.niceMax =
      Math.ceil(maxPoint / tickSpacing) * tickSpacing;
  }

  /**
   * Returns a "nice" number approximately equal to range Rounds
   * the number if round = true Takes the ceiling if round = false.
   *
   * @param range the data range
   * @param round whether to round the result
   * @return a "nice" number to be used for the data range
   */
  private double niceNum(double range, boolean round) {
    double exponent; /** exponent of range */
    double fraction; /** fractional part of range */
    double niceFraction; /** nice, rounded fraction */

    exponent = Math.floor(Math.log10(range));
    fraction = range / Math.pow(10, exponent);

    if (round) {
      if (fraction < 1.5)
        niceFraction = 1;
      else if (fraction < 3)
        niceFraction = 2;
      else if (fraction < 7)
        niceFraction = 5;
      else
        niceFraction = 10;
    } else {
      if (fraction <= 1)
        niceFraction = 1;
      else if (fraction <= 2)
        niceFraction = 2;
      else if (fraction <= 5)
        niceFraction = 5;
      else
        niceFraction = 10;
    }

    return niceFraction * Math.pow(10, exponent);
  }

  /**
   * Sets the minimum and maximum data points for the axis.
   *
   * @param minPoint the minimum data point on the axis
   * @param maxPoint the maximum data point on the axis
   */
  public void setMinMaxPoints(double minPoint, double maxPoint) {
    this.minPoint = minPoint;
    this.maxPoint = maxPoint;
    calculate();
  }

  /**
   * Sets maximum number of tick marks we're comfortable with
   *
   * @param maxTicks the maximum number of tick marks for the axis
   */
  public void setMaxTicks(double maxTicks) {
    this.maxTicks = maxTicks;
    calculate();
  }
}

We can then make use of the above code like this:

NiceScale numScale = new NiceScale(-0.085, 0.173);

System.out.println("Tick Spacing:\t" + numScale.getTickSpacing());
System.out.println("Nice Minimum:\t" + numScale.getNiceMin());
System.out.println("Nice Maximum:\t" + numScale.getNiceMax());

Which will then output nicely formatted numbers for use in whatever application for which you need to create pretty scales. =D
Tick Spacing: 0.05
Nice Minimum: -0.1
Nice Maximum: 0.2

Saturday, 5 March 2011

Safari 5.1 in OS X 10.7 Lion & Self-Signed Certificates

I recently installed the developer preview of Mac OS X 10.7 Lion and have been quite pleased with the update. However, apart from the AFP issue, which was quickly fixed, and the Time Machine issue, which remains unsolved, it appears that Safari 5.1 does not like self-signed certificates!

The certificate for this server is invalid. (NSURLErrorDomain:-1202)

Fortunately, there is a way to force Safari 5.1 to accept self-signed certificates. Now I know one could dump the certificate via openssl and the command line, but this method did not work for me since I am accessing my sites on an internal network and it would always dump the certificate for my default Apache virtual host. As such, the instructions below use a sort of round about method to import these certificates, but it works.

Basically these instructions show you how to use Firefox to export a self-signed SSL certificate and import it into Keychain Access. Hopefully it helps a few people out.
Open Firefox and navigate to the offending site. You will be greeted with the following error unless you've already added an exception in Firefox. If you have already added an exception, go into your settings and remove the exception for now.

Firefox: This Connection is Untrusted - Add Exception

Click on "Add Exception" and you'll be greeted with the following dialog.

You are about to override how Firefox identifies this site - Confirm Security Exception

Click on "View..." and then the "Details" tab in order to view the details of the certificate.

Firefox Certificate Details

Click on "Export..." and save the certificate to somewhere convenient. Make sure to add ".crt" to the end of the file name in order to allow for easy import.

Save Certificate to File - X.509 Certificate (PEM)

Open the file and it'll bring up Keychain Access. Select "Always Trust", but I don't think it really matters since you'll need to modify the trust settings later anyhow.

Keychain Access - Import Certificate

Double-click on the newly imported certificate and expand the "trust" section. From the "When using this certificate" drop down list, select "Always Trust".

Keychain Access - When using this certificate always trust.

And voilà! You should now be able to access the site that uses a self-signed certificate. It should be noted that Mac OS X 10.7 Lion is still in beta and this annoyance may simply be a relic from their switchover from WebKit to WebKit2.

Netatalk AFP & Mac OS X 10.7 Lion

Upon installing Mac OS X 10.7 Lion I discovered one niggling issue. I was unable to connect to my Gentoo Netatalk AFP server. Any connection attempts would result in the following error:


There was a problem connecting to the server "AFP@strumpet".

After some Googling, I discovered a quick fix to the problem. Basically, if you haven't updated your Netatalk config file for some time, you wouldn't have UAMS DHX2 enabled by default. To enable UAMS DHX2 support, do the following:

Edit afpd.conf:
# vi /etc/netatalk/afpd.conf
Make sure "uams_dhx2.so" is in the "-uamlist" options at the end of the file. For instance, mine looks like this:
- -noddp -transall -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword -advertise_ssh -udp

Then restart the Netatalk server. Please note that the init script may be different depending on your distribution.
# /etc/init.d/atalk restart
Now you should be able to connect your OS X 10.7 Lion installation to a Linux AFP server. It should be noted, however, that despite AFP working in this setup, I have been unable to get Time Machine to work with these settings. If you've managed to get Time Machine to work with Netatalk, post a comment!

Saturday, 18 October 2008

Conformity is Good!

I was going through my old screen-shots and discovered this gem from a social studies 11 quiz I took ages ago.

Very good. Conformity is a choice. People who conform are showing individual behaviour.
Conformity is Good!


I also sent this to +Noam Chomsky and he responded with "Stalin would have loved it."

Tuesday, 30 October 2007

Linux Printer Sharing With Mac OS X 10.5, Leopard

After upgrading to Apple's Mac OS X 10.5, I found that my printers no longer existed. So I went to http://localhost:631 and tried adding my Gentoo CUPS printer share like I did before, but it refused to show up in the printers list. :(

After some searching on the net, it seems that Apple has somewhat broken the way that it deals with Linux CUPS shares. Apparently it only searches for printers via Bounjour. In any case, I found a fix that works perfectly. Alessandro Dellavedova posted a fix for the problem over on the Apple support forums. Below is a slightly more detailed version of what he did.

WARNING: You will need administrator privileges to proceed with this fix.

  • Open System Preferences.
  • Open Print & Fax.
  • Right-click in the printer's pane and select "Reset printing system..."
  • Open Terminal and type the following:
sudo nano /etc/cups/cupsd.conf
  • Modify the first few lines such that they look similar to the following:
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseProtocols all
BrowseRemoteProtocols all
BrowsePoll <Your CUPS Server domain or IP>:631
BrowsePort 631
  • Save the file

Restart the printing subsystem with sudo killall -HUP cupsd. Now you should be able to see and add the printers on your Linux share.

Sunday, 28 October 2007

Flagship Posts Ventrilo Update for OS X 10.5... Sorta

It seems that the developers at Flagship Industries have finally posted a fix to their Ventrilo client for Mac OS X 10.5, Leopard. You know, the bug fix that takes all of 5-minutes to correct. However, they only fixed the problem in the main window and nowhere else.

Here's what they had to say:
It is intended to solve the user list window being empty after connecting when running OSX 10.5. This is the only change. The same problem also occurred in a few other windows as well.

If you are not running OSX 10.5 then don't waste your time downloading it as there is no advantage.

This is an interim update until we release the next major upgrade here soon.

FYI,
Flag

__________________
Flagship Industries, Inc.
www.ventrilo.com

Certainly doesn't sound like he was very happy about making this fix. In any case, if you would like to download their new version, you can find it here.

Otherwise, if you want the fully patched version, you can still access it from my site.

Friday, 26 October 2007

Migrated from Typo back to WordPress

Well, after many years of using Typo as my main blogging engine, I have switched back to WordPress. I had initially started using Typo because it was the only Rails-based blogging engine out there. Unfortunately, the quality of their project seems to have declined over the years.

After Typo decided to explode at me after using a quotation mark in tag for a new post, I decided I would go back to WordPress, my first blogging engine. WordPress has a long and well supported history and I will likely have fewer headaches for a blog that I barely touch in the first place. ;-)

Unfortunately, since there are no up-to-date utilities to migrate the database from Typo to WordPress, I ended up having to copy/paste all of the articles that I felt were worth saving. The problem was that I couldn't copy over any of the comments made to any of my posts.

I apologize to anyone who left helpful/supportive comments over the years, but I couldn't save you all!

Ventrilo Bows to Pressure

Anyhow, it seems that Ventrilo has decided to bow to the pressure of people from the Mac community, such as myself. I suppose they got tired of deleting all mine and related thread on how to fix this problem in 10 zarking minutes! Ventrilo had this to say:
There is a known issue with the Ventrilo Mac client 2.3.2.Prototype.15 that prevents the main user list window from displaying the channels and connected users.

While we have this fixed in our soon to be released major upgrade we did not perform the changes to the 2.3 series of programs only because we had hoped to release the major upgrade before Apple was able to release 10.5. Sadly this did not happen due to a few problems found during the beta testing.

While the delay would only have been a few weeks this seems to be a problem for some people. *sigh*

I will see about producing an proto.16 that fixes this problem, but not until I have an official copy of 10.5 in my hands to test with. Assuming BestBuy has it on their shelves tonight.

Any and all (or should I say more) hateful and mean spirited posts from the Mac community on this subject will be promptly deleted. If you can't control your temper then don't even bother posting.

Now I wonder how many years it'll take them to get this build out. >:D

Update:

It seems that the developer at Ventrilo decided that this post sounded just a tad too bitter and decided to delete it. Luckily I quoted him for posterity!

Thursday, 25 October 2007

Patched Ventrilo for Mac OS X 10.5, Leopard

As I have promised upon the release of Mac OS X 10.5, here is a patched version of Ventrilo for all us Mac users to download and enjoy!

This version actually works and took me all of 10-minutes to fix. I have posted instructions for the Ventrilo developers in the past on how to fix this problem, but instead they prefer to threaten me with legal action.

Download: <Link Removal as per DMCA Request>

You should probably download and install Ventrilo first, as I am unsure as to whether it installs anything to other locations on the drive.

Simply delete the original install and move my patched version over to the applications folder afterwards.

Enjoy!

Thursday, 21 June 2007

Ventrilo Fix for OS X 10.5, Leopard

Well now, this bug has existed with Ventrilo for over a year on OS X 10.5. But guess what? I fixed it! Yes, I spent about an hour tooling around with the package contents of Ventrilo.app and found main.nib. I then opened this file in Interface Builder (part of Xcode) and did a little trial and error editing. Throughout this process I discovered the problem, fixed it and have tested the results. Everything works fine. I didn't go much deeper than the main channel list, but I am sure this problem exists in other spots within the application. However, with the problem identified, it should be rather simple to fix in the future. I'm surprised that one of Ventrilo's valuable developers couldn't spare the 5 or 10 minutes needed to fix this problem… That is, spare 5 or 10-minutes over the past bloody year in which this bug has been known on Leopard Beta. In any case, I offer the solution to everyone!

Since the Ventrilo.app file that you install is read only, you will need to copy the application to a different directory. On the copy, right click on the application and select "Show package contents". Navigate to the English.lprog folder and replace the main.nib file with the one I have linked above. Enjoy being able to run Ventrilo on OS X 10.5 guys!


Update:


If you are looking for the patched version of Ventrilo, see this post.

Additionally, here is a simple shell script that will make the change in all offending portions of the program.

su root **You will need password to your machine**
cd /Applications/Ventrilo.app/Contents/Resources/English.lproj/main.nib
cp objects.xib objects.xib.old
cat objects.xib | sed 's/rowHeight">0</rowHeight">20</g' > objects.xib.new
rm objects.xib
cp objects.xib.new objects.xib

Restart Ventrilo!

Tuesday, 1 May 2007

09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

Update:

I don't know how my picture made it into wired, but it did and I am quite pleased!

It is kind of amusing considering it only took me a few minutes with Photoshop and being bored in class.

BoingBoing links to the article too!

In Hexadecimal:

09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

In decimal:

2^6 * 5 * 19 * 12,043 * 216,493 * 836,256,503,069,278,983,442,067

In binary:

00001001 11111001 00010001 00000010
10011101 01110100 11100011 01011011
11011000 01000001 01010110 11000101
01100011 01010110 10001000 11000000

As a 320x160 Image:

09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
©Copyright Steffen L. Norgren 2007
These are all representations of the HD-DVD Processing Key for most movies released to date. I was not aware that a string of numbers and letters was copyrightable. Perhaps its just my ignorance but it seems that someone is abusing the DMCA again.

This means the (admittedly long) number is precisely the key you need in order to decrypt and watch HD-DVD movies in Linux (oh, okay, maybe software is also required). And the fact that it’s out there, spreading like wildfire, is killing the types at the movie studios right now.

Tuesday, 17 October 2006

Human Species May Split In Two

This post on Slashdot was too juicy to pass up. It struck me as particularly hilarious.
"According to an article at the BBC, an evolutionary theorist in London suggests that humanity may split into two sub-species within the next 100,000 years. From the article: 'The descendants of the genetic upper class would be tall, slim, healthy, attractive, intelligent, and creative and a far cry from the "underclass" humans who would have evolved into dim-witted, ugly, squat goblin-like creatures.'"
A Morlock

This made me think about the Eloi and Morlock, created by H. G. Wells for his 1895 novel, The Time Machine.

However, in this version, the Morlocks are the stupid ones and the Eloi are the smart ones. In any case, it was worth a laugh.

Monday, 11 September 2006

Ugly New Server

Intel Pentium 4 Server 2.80 GHzWell, I finally decided to upgrade my old Power Macintosh G4 (Quicksilver 2002) with a new server. Much like the old server, the new one is running Gentoo, however, the new server is an Intel box that was supplied by my father for free. Beggars can't be choosers, eh?

New Server:

CPU: Intel Pentium 4
CPU Speed: 2.80 GHz
Memory: 3.0 GB
Storage: 2 TB

Apple PowerMac G4 933 MHz

Old Server:

CPU: PowerPC 7455
CPU Speed: 933 MHz
Memory: 1.0 GB
Storage: ~600 GB

As much as I hate to switch to an ugly PC box, it is only for server use. That is, basically the new ugly black box is my mail/web/music/file server. Hopefully, now that it is all set up, I'll actually get around to posting random nonsense into this blog.