Almost anywhere you go on the internet, they are following you, building
a profile on you, and selling that information, your information,
to the highest bidder. Even if you don't have a user account for google
or facebook "services," they've built a profile of you using this
surreptitiously collected data.
It turns out there are some steps one can take to prevent these
companies from following you wherever you go. It's not perfect, but it
helps a lot. First, don't use Chrome. Second, install ad-blocker plugins
for your browser. Third, use your firewall.
It turns out Google and Facebook are large enough that they have their
own Autonomous Systems (AS) composed of numerous subnets. Google owns AS
15169, while Facebook owns AS 32934. Using a little bit of shell, it's
relatively easy to look up all the subnets owned by these companies.
That's a lot of subnets. Because I have different operating systems on
different computers and still want to block traffic to and from
all those IP addresses, I've written some simple scripts to add
rules to various firewalls. I have scripts for IPFW on FreeBSD, IPTables on Linux, and the Windows Firewall that should work from XP SP3
through Windows 10. I've only tested it on Windows 7 and Windows 10, and
it worked in those.
All of these scripts can be found in this
directory. The IPFW and IPTables scripts are self-contained. For the
Windows command shell batch files, the *ips.txt files are also needed.
I have to say, the internet looks very different with these firewall
rules in place. There are noticeably fewer advertisements and pages load
faster. Embedded YouTube videos and Instagram photos don't appear.
Sometimes the frame disappears, sometimes you get a "failed to connect"
page appearing in a frame in the middle of a page. (Yes, these rules
block YouTube and Instagram; they are owned by google and facebook and
reside in the subnets owned by those companies.) On a relatively rare
occasion, I come across a site using some sort of javascript or css or
something hosted by a machine in one of those ASs and that will be
blocked. Sometimes the site handles that gracefully, sometimes it stops
being functional. A small price to take back your life.
Update: Twitter has trackers on a decent amount of sites out there too,
so I've added scripts to block Twitter's AS 13414 as well. Those scripts
are in the same directories as the others.
New PGP Key!
So apparently Evil32 happened.
Approximately 24,000 PGP keys were generated that had collisions with
the 32-bit short IDs of existing keys. Then someone decided to use those
conflicting keys to generate revocation certificates and upload them to
the keyservers. Joy.
Though my old keys still work, they were affected by this mass
revocation of collsions. I have created a new key which can be found at
http://skinnymf.com/~mforde/mforde.asc.
On a related note, if anyone is interested in Key Signing Party, shoot
me an email. I haven't been to one of those since college.
[/musings]
permanent link
I suppose I've posted this for two reasons. The first is so I have a
record of how I eventually got these little things working in case I
have to do it again. The second is in case anyone has similar issues
with their hardware; if they happen to stumble upon this, it might give
them some hints.
[/unix]
permanent link
*Simple design from the early days of the world-wide-interwebbings, and mobile friendly!
Powered by Blosxom.
Eponymous
Eponymous
About
My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean owner
Windows 7
I installed the Release Candidate (build 7100) of Windows 7 on my
workstation today. I'm using it as I write this post. I'm not sure how
much longer I'll be using it. I suppose I'll be using it at least until
FreeBSD 8.0 is released.
The Aero interface seems to have been polished a bit since Vista. This
is both good and bad. It's good in that I've been able to customize it
to be almost as usable as the XP and "classic" UIs. Almost.
It's bad in that it's too user friendly. It's as though the designers
have such a low opinion of the users' intelligence that they went out of
their way to hide how the system works. It's like Microsoft wants to be
Apple.
Don't be Apple. You're better than that.
Parts of the UI seem to get in the way. The window decoration draws much
attention away from the actual task at hand. Moving the mouse pointer
out of your way can lead to more things in your way. Hovering over the
wrong spot leads to pop-up thumbnails of open applications. Or all the
windows become transparent hiding you task and showing you the desktop.
I'll try it out some more, but I'm pretty sure I'll be going back to the
"classic" Win95-Win2000 UI. Even in that mode, the explorer shell is
just different enough to be annoying.
New PGP Key!
So apparently Evil32 happened.
Approximately 24,000 PGP keys were generated that had collisions with
the 32-bit short IDs of existing keys. Then someone decided to use those
conflicting keys to generate revocation certificates and upload them to
the keyservers. Joy.
Though my old keys still work, they were affected by this mass
revocation of collsions. I have created a new key which can be found at
http://skinnymf.com/~mforde/mforde.asc.
On a related note, if anyone is interested in Key Signing Party, shoot
me an email. I haven't been to one of those since college.
Time Travel?
A few months ago I happened to snap a photo of the DeLorean on Main
Street in Boonton near the Darress Theatre. It's probably one of my
favorite photographs of the car and certainly one of the best I've ever
taken.
The theatre was built in 1919 and has remained largely unchanged since
then. A lot of Boonton still has a very old "look and feel" to it, and
this section of Main Street served as a perfect backdrop for the
DeLorean.
Ninth Runniversary
Yesterday was my ninth runniversary. Like my first day running, I ran on
the treadmill while listening to Broken. Unlike the first time, I only
listened to it once, and covered 4.48 miles during the duration of the
EP, thanking God every step of the way.
I'm confident in knowing that the bone in my ankle has healed completely
now; however, I'm still rebuilding the muscle in that ankle and the rest
of that leg. There was significant atrophy during the early phases of
recovery. Slowly as it may be, I am making progress, and I am thankful
for that.
X11 Mouse Cursor Themes
Starting after installimg the binary nvidia drivers on both my laptop
(Quadro K1100M) and my workstation (GeForce GT 630) Blackbox was
defaulting to a mouse cursor that was suboptimal, a black, notched
triangle.
The settings in the Xresources for the mouse cursor theme are honored by
XDM at the graphical log in, but when Blackbox or Fluxbox start, the
cursor would change to the black notched triangle. TWM honors the
settings in Xresources, but TWM is just a little too minimalist, even for
me.
But there's a simple fix!
Create a file in your home directory (if it doesn't already exist)
.icons/default/index.theme. In this file, add the following lines:
[Icon Theme]
Inherits = polarblue
where polarblue is the name of the X11 mouse cursor theme you wish to
use. FreeBSD installs many of the X11 cursor sets into
/usr/local/lib/X11/icons/, your Unix flavor may be different. In theory,
you can also install new themes of your choosing into ~/.icons/ and use
those without the need for any elevated privileges.
Additionally, there's the option of creating a .Xdefaults file in the
home directory and adding the line
Xcursor.theme: polarblue
Again, where polarblue is the name of theme you want to use.
FreeBSD Unix on Dell Precision M4800
I installed FreeBSD 10.3 on the laptop I recently acquired and
almost eveything worked out of the box. The gigabit ethernet and
wi-fi coards worked fine and by setting the BIOS to discrete graphics
only, the nVidia Quadro was recognized.
I installed the binary driver from nVidia, because they support FreeBSD
because they're awesome like that. The nvidia-xconfig(1) program was
useful to streamline the process of getting X.org to use the Quadro.
There were a few things that did need some tewaking though. First
there's the sound card. Because the quadro supports HDMI (in addition to
VGA and DisplayPort), it includes an HDA-compliant sound card. This card
is recognized before the primary HDA-compliant sound card in the
machine, the one that's actually connected to the speakers.
I did some research and there were some suggestions about using
sysctl(8) to control soundcard GPIO pins to connect the nVidia sound
device to the speackers but what ultimately worked was using sysctl(8)
to change the default primary sound device to the dedicated card. There
were a few ways to make this happen but the one I found that actually
worked was to place sysctl(8) command lines in /etc/rc.local.
Now when boot completes pcm2 is set to my default and sound "just
works" and sndstat shows pcm2 as the default.
I found ACPI support has some weirdness as ACPI support often does. What
I found was that Suspend works from console, but resume doesn't...
HOWEVER After I start X ACPI suspend and resume work just
fine. Normally I prefer to boot into a console and only start X if I
really need it, but because I want suspend and resume to work "by
default" I've enabled X to start at boot by allowing the xdm console in
/etc/ttys.
But this had one last issue. See, when manually starting X, I added the
-dpi 143 option to get graphics and text to be appropriately sized for
my screen. XDM needed to know about this.
This probably wasn't the best place to do it, but I edited
/usr/local/lib/X11/xdm/XServers and modified the call to X(7) to add the
-dpi 143 option. Now when Xdm loads at start up, the DPI is set
correctly.
The function keys for adjusting the screen brightness don't work;
however, xbacklight(1) works just fine. Similarly the volume keys don't
work but I can adjust the volume quite easily with aumix(1).
I've submitted my dmesg output to NYCBUG's
dmesgd repository.
I suppose I've posted this for two reasons. The first is so I have a
record of how I eventually got these little things working in case I
have to do it again. The second is in case anyone has similar issues
with their hardware; if they happen to stumble upon this, it might give
them some hints.
Remapping Keys in Vim
While I love the keyboard on my relatively new Dell M4800, I'm not
particularly fond of the placement of the Page Up and Page Down keys to
the left and right of the Up arrow, and above the Left and Right arrow
keys. I find myself accidently hitting those keys too frequently while
editing code and jumping all over the file.
So I remapped them. It was quite simple, because Vim is awesome. I added
the following lines to my .vimrc file:
map <PageUp> <Up>
map <PageDown> <Down>
This turns Page Up into a second Up arrow, and Page Down into a second
Down arrow. For now, I'll leave it like that. I may remap them to the
Left and Right arrows in the future. Or not.
That gives you 15 seconds before the virtual machine launches the boot
loader, giving you plenty of time to do things like change the boot
order so you start from a recovery CD.
Resetting Vim
On occasion while I'm coding, I'll mistype something and vim's code
autoindenting will stop honoring my settings. Likely, I've done
something stupid that has disabled or modifying the settings from the
defaults I set in my .vimrc file.
If (when) this happens, Vim can be reset without exiting the procces by
going into command mode and typing
:source $MYVIMRC
This reloads the settings of the .vimrc file without forcing you to
restart the process, thus losing your place in your code.
From the man page for setsockopt: "The include file <sys/socket.h>
contains definitions for socket level options, described below."
1) The options are not "described below."
2) No, that file actually doesn't contain those definitions.
On the other hand... The FreeBSD man page for setsockopt does actually
describe the options and under FreeBSD the <sys/socket.h> file does
indeed contain the definitions.
First the background. The story of how I got into this mess:
I'm trying to get ACPI working on my laptop under FreeBSD. Specifically,
I'm trying to get Resume to work properly. Suspend works, and resume
seems to partially work. The fans spin up, the keyboard's backlight
comes back on, but no screen. And without video, it's a little hard to
figure out what's going on.
ACPI works great on my server. It's running the same FreeBSD 9.1 x86-64
build that the laptop is, but the biggest difference is that it's an
intel motherboard. The laptop is an Alienware, for our purposes, I might
as well just call it a Dell.
I started comparing the ASL output from both machines and noticed some
things. First, the Alienware's ACPI implementation looks for the OS to
be various forms of Windows or "Linux." The intel ACPI implementation
also looks for these Windows variants and "Linux" but it has an
additional OS string. It has an entry for "FreeBSD."
I figured the easiest next step was to use iasl co compile the intel ASL
source and load that DSDT onto the laptop.
I calculated the odds it would work vs the odds I was doing something
incredibly stupid... and I went ahead and did it anyway...
I compiled the asl and I set /boot/loader.conf to override the DSDT with
the intel one I had just compiled and I rebooted. At first everything
was good. The machine went down, I got the boot loader, and the FreeBSD
kernel started to load. Seconds into the kernel load, it rebooted
itself. After the second time, I powered off and tried a cold boot. Same
problem just as I had feared.
Now i was in a situation where I couldn't successfully boot because of
an error in loader.conf I needed to find a way to edit it.
And here's the solution:
The FreeBSD bootloader, like many others, works in stages. At a certain
point, it can be interrupted at which point it provides a set of simple
yet powerful commands to control various aspects of the loading process.
If you still have that default menu at load, I beleive the option to
chose is 6. I disable that menu so during a brief countdown I hit escape
before the boot loader turns control over to the kernel.
Once in the boot loader prompt, I entered the following commands:
unload
load kernel
boot
Pretty simple right? The unload command does what it says, it unloads
the kernel and any modules loader.conf had pulled into memory. The load
kernel command grabs the kernel and loads it into memory... but only
the kernel thus ignoring the broken DSDT in loader.conf. And of course
boot tells the boot loader to continue booting the system.
Once booted, I removed the bad DSDT from loader.conf.
Excluding directories while using pax(1)
My primary disk is failing. There are large segments that are generating
low level IO errors during read or write operations. Most of the files
written to the bad area were under /usr/ports/ where the FreeBSD Ports
collection is installed. A few files were under the web server's root.
Figuring I'd take care of things prior to the disk actually failing to
the point of it being irrecoverable, I purchased a new disk early. I
installed it, partitioned it, and formatted it.
To copy the data over, ignoring the areas that were causing the IO
errors, I used mv to "move" the files from the web root under /usr/ports
and used the following command as root:
The -X prevents pax from traversing into mount points that have a
different device ID than the one on which it was started. This prevents
an infinitely recursive loop from happening when the new disk's mount
point would have been hit. It also prevents data on the non-failing
disks from being copied as well.
the -s option allows for sed search and replace scripts to be run. In
this example, the : is used as the delimiter and any path matching
/usr/ports/* is replaced by a null string. With this replacement all
directories under /usr/ports are excluded from the copy.
freebsd-update
I'm attempting to update my laptop from FreeBSD 9.1-Beta1 to 9.1-RC1. The
freebsd-update(8) utilitly was reporting an error finding the public key. A
quick search found this thread. As per tangram's
suggestion, I used
Fun little alias
I use a console based RSS reader written in Ruby. It crashes often and
will delete my list of feeds in the process. It also has a tendency to
not fully exit, leaving a ruby process sitting in the background soaking
up close to 100% CPU time. For such occasions, I've added the following
alias to my .cshrc file.
FreeBSD 6.4 EoL
As of yesterday, FreeBSD 6.4, and with it the entire 6.x branch, has
reached its End-of-Life. It's time to upgrade (or maybe upgrayedd, for a
double dose of something-or-other).
So herein lies the problems. Months (years?) ago, I attempted to upgrade
tak to FreeBSD 7.2. I plugged in a SATA disk into my workstation,
installed the OS, reconfigured all the daemons, services, and
functionalities tak has running, copied over a snapshot of all the data,
and then edited the fstab to match the device names as they'd exist on
tak.
I removed the IDE root disk and installed the new SATA disk and tak and
watched the kernel fail to find the root disk. Or the other SATA disk in
tak.
Based on the bug reports in the FreeBSD Gnats system, and various
conversations in the mailing list, it seems Asus, who made the
motherboard in tak, used a slightly non-standard SATA implementation on
this particular board. Between the 6.x and 7.x line, some work had been
done on the SATA drivers in FreeBSD and mad them more
standards-compliant (a good thing). This, however, broke SATA on this
Asus board.
Tak is about 6 years old now, and other than some over heating issues,
serves its purpose well. So do upgrade to FreeBSD 8.x on an IDE disk and
replace the other SATA disk with another ATA disk, or do I build a new,
lower-power, higher-performance system?
If anyone actually reads this, feel free to use the new comments feature
to give me feedback. I think it's working.
Gmail and mutt
I like mutt. Of all the mail clients I've used over the years, it
sucks the least. It works well with my mail server.
Despite having my own domain and mail server, I still use gmail for
certain things; things I don't mind being retained for 3 years after I
delete them, or more specifically, things I want retained for 3 years
after I delete them.
I don't like the gmail web interface. I find checking my gmail to be
annoying because of this. I remembered gmail offering POP and IMAP.
I figured I could use that to get my gmail. Shouldn't be too hard right?
A quick search of Mr. Yahoo and Mr. Google gave me two good starting
points: Lifehacker.com
and MattCutts.com.
I read the sites and the getmail man page and figured out what I needed
to do. First I enabled IMAP for my gmail account. Next, I created the
.getmail directory in my home directory then created a getmailrc file
there. I want all gmail mail to be delivered to a specific mbox file
without going through my normal mail delivery channels. The contents of
the getmailrc file are quite simple:
[retriever]
type = SimpleIMAPSSLRetriever
server = imap.gmail.com
username = username@gmail.com
password = usernamespasswordgoeshere
mailboxes = ("inbox",)
[destination]
type = Mboxrd
path = /usr/home/mforde/Mail/GMAIL
The retriever section defines how getmail will retrieve the mail. In
this case it uses IMAP over SSL to connect to imap.gmail.com. The
mailboxes setting can be used to specify only certain gmail labels to
retrieve, but I want anything in the inbox.
The destination section tells getmail what to do with the mail once it
has grabbed it from gmail. This configuration dumps it into an mbox file
I've named GMAIL.
I chose IMAP over POP because of the slightly-less-than-documented
"feature" of gmail only allowing 99 messages at a time over POP.
So to get the initial batch of 7000+ emails, I ran
> getmail -vvv -l
to get verbose output and to leave messages on the gmail server. When
that was done I pointed mutt at the GMAIL mbox and like magic, there was
my gmail, organized nicely in my terminal.
Now, I want to check to get the latest mail fairly often, and I don't
want to download messages already copied over. To accomplish this, I
added a crontab to run every 10 minutes and invoke
getmail -l -n -q
This tells getmail to leave copies on the server, only get new messages
it hasn't already retrieved, and be quiet about it.
This has worked out well for me. If you're interested in setting up
something like this, I highly recommend reading the article at matcutts.com.
That article also links to several sample getmailrc files.
BSD v. GPL
Jason Dixon gave a talk at this year's NYCBSDCon entitled "BSD v. GPL
(a.k.a. not the sequel to "BSD is Dying")." It's a humorous look at the
differences between the licenses and their supporters. Despite the
humor, he made some good points.
Mailman
The other night I installed mailman on my server. I integrated it into the
apache configuration and restarted that. The mailman web interface became
available as expected.
I used the web interface to subscribe to the one list I had set up and I
received an email asking me to confirm my subscription. I went to the
included link, and all seemed to be good.
Another person joined the list successfully, then sent an email to the list.
This email never arrived in her inbox. She told me about it, and I checked
only to find I did not have a copy either. I sent a mail to the list and
promptly received a message saying that [listname] was not a valid recipient
at the domain.
That's when I realized I had forgotten to tell the mail server (postfix) about
mailman. I had told apache about mailman, and mailman about postfix, but not
postfix about mailman.
I used mailman to create an alias database for its single list, then updated
postfix's configuration to use that as one of its alias maps. All seems to be
working now.
In conclusion, I learned two things. One is always test your configuration
before telling people it's ready. The other is, "I'm an idiot."
FreeBSD 7 SATA Weirdness
Over the weekend I installed the x86-64 build of FreeBSD 7 on my
workstation, dib. I haven't had time yet to configure everything to my
liking yet, but almost everything works.
The one really annoying issue centers around a SATA DVD burner. When
this device is attached to the primary SATA controller (ICH7), the
system refuses to boot from the hard drive. It reports that no system
disk has been found. I've tried all of the SATA settings options in the
BIOS and none work.
If I connect the SATA burner to the secondary Marvell "RAID" controller
the system boots from the hard drive without issue. In Windows, this
requires another driver (which for some reason installed a copy of
apache along with it). Under FreeBSD 7; however, this second controller
seems to be currently unsupported, leaving me with only the IDE burner
available.
I may spend the $20 and get another IDE burner and just forget about the
SATA issue, but I really would like to know what the problem is. If any
one has any idea why the system would fail to boot from a SATA hard
drive when a SATA optical drive is attached, please email me and give me
some insight into this issue.
Maybe the Unix category wasn't the best for this. I spent more time
discussing the hardware/BIOS weirdness than the installation or
configuration of FreeBSD7. In fact, FreeBSD 7 isn't a very good title
for this either. I'm going to change that.
chdir(2)
So today at work another developer many years my senior, with many more years
experience than I, came to me with a Unixy problem.
"When I have a program, how can I have it so the current working directory
for all processes it starts isn't the one that it started in?"
"chdir."
"No, I want so that if this process starts something like ls, when ls stats
'dot' I want 'dot' to be the directory that process wants it to be, not the
directory that process was started from."
After about 15 minutes of me suggesting chdir while he said that's not what
he wanted but then describing chdir, I finally wrote something along the lines
of the following
Alpha
Due to the power failure, there was the loss of several hours of work.
Last night I installed FreeBSD 6.2-RELEASE on an old DEC AlphaStation
200 I have. I had started building a new, smaller kernel for it around
23:30 last night. It had not completed by the time of the power outage.
I have restarted that build.
Any one reading this would reasonably ask, "Why are you not as
confused/angry/annoyed with a compile that was not finished in 7 hours
as you were about one that took 3 hours?"
The answer is simple. This AlphaStation is powered by a 100MHz DEC Alpha
EV4 CPU and has 64MB of RAM. To the best of my knowledge, DEC made this
machine around 1994 or 1995. I expected the build to take a long time;
the machine is around a dozen years old.
How long does it take to build a linux kernel?
It has been a number of years since I built a linux kernel. Slackware
9.1 was the last GNU/Linux distro I used before switching back to BSD.
Tonight I put together a machine from some old parts (1.2GHz celeron
with 256KB cache, 256MB RAM, 20GB hard drive) and installed Slackware
12.
I customized a kernel configuration and attempted to build it. I don't
remember the 2.4 kernel taking as long to build as this 2.6 kernel. It
took nearly two hours. Granted, this machine is fairly old, but 2 hours?
After I complete the tasks for which I needed this setup, I'm going to
install an older Slackware with the 2.4 kernel and build that. I may
also install FreeBSD and NetBSD and build their kernels. I'd like to get
an idea how long it takes to compile other kernels on this rig.
Race Against Crime and Drugs
The Hoboken Race Against Crime and Drugs was last night.
The Giraffes were split into three three-person teams. Unfortunately,
two members were unable to run last night. However, two of the more
recent additions to the Giraffes stepped up and joined the race.
My right calf was still sore at the start of the race, but felt better
after about a mile. By that point it was too late and I knew I wouldn't
PR, but I did fairly well keeping my time under 21 minutes and finishing
number 79 of 609.
The team consisting of Brian, Liz, and me did fairly well and placed 7th
in overall team competitions with a combined time of 1:13:46. Had our
second team not been a runner short, they likely would have done well
enough for 8th or 9th place.
Tonight I signed up for the Fireside beta. They asked for all my social
media accounts to prove I'm a human. The problem is, I don't have a
twitter account, a facebook account, instagram, etc. Years ago I took
the advice of numerous psychology studies and my own therapist's advice
and got off the social media platforms. It was one of the best things
I've ever done for my mental health.
So hopefully this blog, though infrequently updated (and slightly broken
since the last major perl update), will serve as proof to the people at
Fireside that I am human and not a bot.
It was the Astonishing
Legends Podcast that led me to Fireside. It would be nice to use it
for one of their interactive live chats sometime.
Tonight I signed up for the Fireside beta. They asked for all my social
media accounts to prove I'm a human. The problem is, I don't have a
twitter account, a facebook account, instagram, etc. Years ago I took
the advice of numerous psychology studies and my own therapist's advice
and got off the social media platforms. It was one of the best things
I've ever done for my mental health.
So hopefully this blog, though infrequently updated (and slightly broken
since the last major perl update), will serve as proof to the people at
Fireside that I am human and not a bot.
It was the Astonishing
Legends Podcast that led me to Fireside. It would be nice to use it
for one of their interactive live chats sometime.
WTF?
I'm used to guitarists mocking the bass and bassists. It doesn't bother me
too much. But this... This irritated me. A lot.
Today at work there was a group of people talking about Rock Band and
Guitar Hero 3. None of them actually know how to play
intstruments but they claim to be great at these games. They seem to
believe this entitles them mock bassists.
"Oh man, bass is so easy. It's the guitar that's the hard part. Yeah,
I'm on expert on the guitar."
"Yeah, bass is so stupid."
"So It's me, my brother, and my sister. I play guitar, he's on
drums, and my sister sings."
"what about bass?"
"My friend just got Guitar Hero 3. I'll make him play bass."
[Both laugh]
After making statements indicating this person believes he actually
is better than Tom Morello, "After you make Tom Morello or Slash your
bitch, they play bass for you."
chdir(2)
So today at work another developer many years my senior, with many more years
experience than I, came to me with a Unixy problem.
"When I have a program, how can I have it so the current working directory
for all processes it starts isn't the one that it started in?"
"chdir."
"No, I want so that if this process starts something like ls, when ls stats
'dot' I want 'dot' to be the directory that process wants it to be, not the
directory that process was started from."
After about 15 minutes of me suggesting chdir while he said that's not what
he wanted but then describing chdir, I finally wrote something along the lines
of the following
Alpha
Due to the power failure, there was the loss of several hours of work.
Last night I installed FreeBSD 6.2-RELEASE on an old DEC AlphaStation
200 I have. I had started building a new, smaller kernel for it around
23:30 last night. It had not completed by the time of the power outage.
I have restarted that build.
Any one reading this would reasonably ask, "Why are you not as
confused/angry/annoyed with a compile that was not finished in 7 hours
as you were about one that took 3 hours?"
The answer is simple. This AlphaStation is powered by a 100MHz DEC Alpha
EV4 CPU and has 64MB of RAM. To the best of my knowledge, DEC made this
machine around 1994 or 1995. I expected the build to take a long time;
the machine is around a dozen years old.
How long does it take to build a linux kernel?
It has been a number of years since I built a linux kernel. Slackware
9.1 was the last GNU/Linux distro I used before switching back to BSD.
Tonight I put together a machine from some old parts (1.2GHz celeron
with 256KB cache, 256MB RAM, 20GB hard drive) and installed Slackware
12.
I customized a kernel configuration and attempted to build it. I don't
remember the 2.4 kernel taking as long to build as this 2.6 kernel. It
took nearly two hours. Granted, this machine is fairly old, but 2 hours?
After I complete the tasks for which I needed this setup, I'm going to
install an older Slackware with the 2.4 kernel and build that. I may
also install FreeBSD and NetBSD and build their kernels. I'd like to get
an idea how long it takes to compile other kernels on this rig.
New Vernon Coach and Motor Works is Awesome
For as long as I've been a DeLorean owner, I've been taking the car to
New Vernon Coach and Motor Works. They have always been professional
and courteous, and they have always done top-notch work. I highly
recommend them.
That gives you 15 seconds before the virtual machine launches the boot
loader, giving you plenty of time to do things like change the boot
order so you start from a recovery CD.
FreeBSD 6.4 EoL
As of yesterday, FreeBSD 6.4, and with it the entire 6.x branch, has
reached its End-of-Life. It's time to upgrade (or maybe upgrayedd, for a
double dose of something-or-other).
So herein lies the problems. Months (years?) ago, I attempted to upgrade
tak to FreeBSD 7.2. I plugged in a SATA disk into my workstation,
installed the OS, reconfigured all the daemons, services, and
functionalities tak has running, copied over a snapshot of all the data,
and then edited the fstab to match the device names as they'd exist on
tak.
I removed the IDE root disk and installed the new SATA disk and tak and
watched the kernel fail to find the root disk. Or the other SATA disk in
tak.
Based on the bug reports in the FreeBSD Gnats system, and various
conversations in the mailing list, it seems Asus, who made the
motherboard in tak, used a slightly non-standard SATA implementation on
this particular board. Between the 6.x and 7.x line, some work had been
done on the SATA drivers in FreeBSD and mad them more
standards-compliant (a good thing). This, however, broke SATA on this
Asus board.
Tak is about 6 years old now, and other than some over heating issues,
serves its purpose well. So do upgrade to FreeBSD 8.x on an IDE disk and
replace the other SATA disk with another ATA disk, or do I build a new,
lower-power, higher-performance system?
If anyone actually reads this, feel free to use the new comments feature
to give me feedback. I think it's working.
Can't you trip like I do?
I got home a little early (read: on time) from work today so I was able
to start running a little earlier than I have been lately. I just kept
running until the runner's high kicked in, then I kept running until it
started to wear off, then I ran another two miles back home.
I ended up doing about twelve miles tonight and it felt so good. I had
almost forgotten what that high felt like. Between the weather and work,
my runs were averaging 3 to 5 miles and that doesn't do much for me
anymore. But tonight I was able to get that feeling again.
FreeBSD 7 SATA Weirdness
Over the weekend I installed the x86-64 build of FreeBSD 7 on my
workstation, dib. I haven't had time yet to configure everything to my
liking yet, but almost everything works.
The one really annoying issue centers around a SATA DVD burner. When
this device is attached to the primary SATA controller (ICH7), the
system refuses to boot from the hard drive. It reports that no system
disk has been found. I've tried all of the SATA settings options in the
BIOS and none work.
If I connect the SATA burner to the secondary Marvell "RAID" controller
the system boots from the hard drive without issue. In Windows, this
requires another driver (which for some reason installed a copy of
apache along with it). Under FreeBSD 7; however, this second controller
seems to be currently unsupported, leaving me with only the IDE burner
available.
I may spend the $20 and get another IDE burner and just forget about the
SATA issue, but I really would like to know what the problem is. If any
one has any idea why the system would fail to boot from a SATA hard
drive when a SATA optical drive is attached, please email me and give me
some insight into this issue.
Maybe the Unix category wasn't the best for this. I spent more time
discussing the hardware/BIOS weirdness than the installation or
configuration of FreeBSD7. In fact, FreeBSD 7 isn't a very good title
for this either. I'm going to change that.
MTA
Why is the MTA's budget each year referred to as a "doomsday" budget?
They vote on it every year, and every year it's approved, and every year
they get subsidised by the tax payers and toll payers. So why is it a
"doomsday" budget? They're not going out of business, although it sure
seems their worker's union would like to see that happen given their
demands.
Don't they have better things to do?
It has come to my attention that Congress, in their infinite wisdom, has
decided to write legislation against television commercial
advertisements having a louder perceived volume than the actual
programming.
While I do sometimes find this annoying, do we really need an act of
congress to outlaw this? Shouldn't our representatives be doing
something better with their time, like repealing hundreds of laws that
hinder the free market economy and trample the Constitutionally
guaranteed rights of the citizens?
Who... What are you?
I was running earlier tonight and around mile 7 I was going up a steep,
winding, dark hill. Near the top a couple was walking their dog. They
saw the flashing
lights on my shoes and wrists and, when I got close to them, the
woman said, "We were trying to figure out what you were."
Thoughts on National Computer Science Education Week
This week is apparently National Computer Science Education Week.
Code.org is organizing the "hour of code"
to promote teaching of Computer Science and Programming in schools.
They're also organizing petitions to make CS courses count as credits in
Mathematics or Science for High School graduation requirements.
In High School, my CS courses were by far my favorites, Programming in
Pascal, AP Comp Sci in Pascal, Programming in C++, and AP Comp Sci in C++ (
the language for the exam switched my junior year). I learned a lot
about structured code, elegant, efficient code. I learned enough about
Data Structures and Algorithms that I didn't have to study for my
college CS classes until Computational Structures (Discrete Math II with
Scheme, essentially) in my third semester. I had an amazing Computer
Science teacher who also taught me Calculus and the proper order of
precedence in life: God, Family, Math. I wouldn't be where I am today
without that educational opportunity I had in High School. I want others
to have that opportunity too.
However, this is where I differ with the opinion of the Code.org folks.
I do not believe that CS classes should count toward the Math or Science
requirements. In this state, CS counts toward the "practical or
performing art" requirements, I'm assuming under the "practical" label.
I think this is a better place for it at the High School level.
Computer Science is not a hard Science. It's not Physics. It's
not Biology. It's not Chemistry. There's a saying that if the subject
has science in its name, it's not really a science. That is true with
Computer Science. It's not studying the how and why of atoms, of
molecules, of living systems, of anything really. It's not science.
Computer Science is really applied mathematics. I am very fortunate that
the college program I went through was very strong in mathematics: Calc
I and II, Linear (Matrix) Algebra, Discrete Math, Discrete Math II in
the guise of Computational Structures, Probability and Statistics,
Theory of Computation, Algorithmic Analysis... the list goes on. All of
these mathematical foundations were then applied to a machine, to make
the machine carry out a task in an efficient manner. It's those
mathematical foundations that are the true core of Computer Science.
While mathematics is the core of Computer Science and Computer Science
is essentially applied mathematics, I do not believe it should count
toward the Math requirements. The CS classes would likely detract
from other mathematics courses such as Geometry, Trigonometry, and
Calculus. These courses are far too important to an education to be
replaced by a Computer Science course. Many, maybe even most, High
School Computer Science courses focus more on "programming" than the
fundamental mathematical theories. They will pick the language du jour
and teach you the syntax and semantics. They'll teach about basic data
structures like arrays, and linked lists. The AP exam currently focuses
not on implementing lists, trees, stacks, queues, and sorting and searching
algorithms, but on arrays and lists using Java library calls. This is
not math. This is learning Java syntax.
Last night, as an end to my 30th birthday weekend, I went to see The
Birthday Massacre in Teaneck. The show was at the Mexicali Live which is
a rather small, intimate venue with full table service for dining, and a
bar with some really good microbrews on tap.
The first act was A Verbal Equinox. I thought they were pretty good,
especially considering they all seemed to be still in high school. Their
set was pretty tight, with mostly original songs and a My Chemical
Romance cover. Frankly, I think they did the MCR song just as well, if
not better, than MCR. They definitely had a good rhythm section.
The next band, who shall remain nameless, was described by some as
"Armenian Industrial." I thought the music was good, but I wished the
singer would just shut up. No singing, no talking to the crowd. Just.
Shut. Up. Their set would have been awesome as an instrumental.
During their set they had two "gothy cheerleaders" on stage. It turned
out that one of them was my friend's niece. Kinda random.
After their set, I ran into a couple of the kids from the first band and
talked to them a bit. I told them I liked what I heard and they thanked
me and gave me a CD-R labeled with sharpie containing their first
recorded single. Something about that is just awesome.
The Birthday Massacre was great. They played a good mix including songs
from every album.
If you care (or even if you don't), their set list follows:
Pins and Needles
Control
Happy Birthday
Forever
Burn Away
Shallow Grave
Always
Weekend
Video kid
Blue
Looking Glass
Lover's End
In the Dark
Horror Show
Red Stars
-- Encore --
Sleep Walking
Midnight
They didn't play my favorite song, "Broken," but I was not disappointed in the
set at all. After they finished, Rainbow was on stage for a bit talking
with people from the crowd. I told him it was a great show and asked if
they'd be playing "Broken" at tonight's show with Dir En Grey. He said
it wouldn't be in the set, but he loves that song and they'd rehearse it
for their next tour.
A rather blurry picture of The Birthday Massacre from the show.
Last night, as an end to my 30th birthday weekend, I went to see The
Birthday Massacre in Teaneck. The show was at the Mexicali Live which is
a rather small, intimate venue with full table service for dining, and a
bar with some really good microbrews on tap.
The first act was A Verbal Equinox. I thought they were pretty good,
especially considering they all seemed to be still in high school. Their
set was pretty tight, with mostly original songs and a My Chemical
Romance cover. Frankly, I think they did the MCR song just as well, if
not better, than MCR. They definitely had a good rhythm section.
The next band, who shall remain nameless, was described by some as
"Armenian Industrial." I thought the music was good, but I wished the
singer would just shut up. No singing, no talking to the crowd. Just.
Shut. Up. Their set would have been awesome as an instrumental.
During their set they had two "gothy cheerleaders" on stage. It turned
out that one of them was my friend's niece. Kinda random.
After their set, I ran into a couple of the kids from the first band and
talked to them a bit. I told them I liked what I heard and they thanked
me and gave me a CD-R labeled with sharpie containing their first
recorded single. Something about that is just awesome.
The Birthday Massacre was great. They played a good mix including songs
from every album.
If you care (or even if you don't), their set list follows:
Pins and Needles
Control
Happy Birthday
Forever
Burn Away
Shallow Grave
Always
Weekend
Video kid
Blue
Looking Glass
Lover's End
In the Dark
Horror Show
Red Stars
-- Encore --
Sleep Walking
Midnight
They didn't play my favorite song, "Broken," but I was not disappointed in the
set at all. After they finished, Rainbow was on stage for a bit talking
with people from the crowd. I told him it was a great show and asked if
they'd be playing "Broken" at tonight's show with Dir En Grey. He said
it wouldn't be in the set, but he loves that song and they'd rehearse it
for their next tour.
A rather blurry picture of The Birthday Massacre from the show.
Coding Soundtrack
Two albums that are great for background music while coding:
The Matrix Soundtrack
Spawn: The Album
The industrial/metal/techno mix on these two just fades into the
background. The music is repetitive enough to not require direct
attention, but not so repetitive that it draws attention to itself.
If anyone has any other good suggestions for background music while
coding, I'd love to hear them.
The Truth is Out There
Tonight, I had the great fortune of joining a person who means the
world to me at a book signing by Gillian Anderson and her co-author Jeff
Rovin. Jeff has ghost-written/co-written several novels for and with Tom
Clancy, and Gillian is AGENT DANA SCULLY!!!
Gillian indicated that she modeled the main character as someone she
would play in a cinematic version of the story, and Jeff mentions that,
while not required reading, the novel is a spiritual sequel to Edgar
Allan Poe's only novel, The Narrative of Arthur Gordon Pym of
Nantucket.
I'm going to put The Crytptonomicon on the back burner and put
Poe's work and this new novel, A Vision of Fire at the front of
my priority queue.
Initial Thoughts on Windows 10 -- UPDATED!
I'm done with Microsoft for any platform that is not a telephone.
Windows 10 attempts to "fix" the abomination that was windows 8 on the
desktop, but just makes things worse.
The "search" "app" that replaces the previous existing search feature
really only sends a query to bing. I'm looking for a file somewhere in a
subdirectory on my hard drive. I didn't want to search the web for
20141020*.txt. The UI looks like crap. Slapping a titlebar on top of the
"modern" "apps" does not make them usable on the desktop. The start
menu has returned, but it has never been this useless. And the ability
to revert to the "classic" start menu, the behavior introduced in
windows 95, and refined in win98 and Windows 2000, has been removed. I
shouldn't be surprised by that given that Windows 7 also lacked the
"classic" start menu. At least Windows 7 allowed a "Windows Classic"
theme for the rest of the UI.
Ever since Service Pack 3 for Windows XP, MS has been slowly and surely
trying to make things "easier." However, what they deem "easier" often
means removing features and behaviors I relied on to get work done.
Windows 10 continues this tradition.
I never really had a problem with Microsoft, I never avoided their
software for ideological reasons. I believe in using the right tool for
the job. Windows 10 is the wrong tool for any job.
UPDATE!!!
Using the Windows Update mechanism, MS pushed out a new build of Windows
10. This upgraded the installation from build 9841 to build 9860. After
a lengthy download, installation, and a very long reboot, I was able to
log in again, Only to be greeted by this:
And this lovely error when I tried to open the new "Notification
Center":
The Truth is Out There
Tonight, I had the great fortune of joining a person who means the
world to me at a book signing by Gillian Anderson and her co-author Jeff
Rovin. Jeff has ghost-written/co-written several novels for and with Tom
Clancy, and Gillian is AGENT DANA SCULLY!!!
Gillian indicated that she modeled the main character as someone she
would play in a cinematic version of the story, and Jeff mentions that,
while not required reading, the novel is a spiritual sequel to Edgar
Allan Poe's only novel, The Narrative of Arthur Gordon Pym of
Nantucket.
I'm going to put The Crytptonomicon on the back burner and put
Poe's work and this new novel, A Vision of Fire at the front of
my priority queue.
Run for Haiti
Yesterday I posted on the mobile section that I had finished the race
coming in number 256 of 8704. The statistics have been updated and I
need to post a correction. I finished number 266 of 9421 at a time of
27:17.
This was of course about a minute slower than the Grid Iron classic
where I PR'd, but I finished in the top 2.8% this time.
Yesterday's race raised over $400,000 for the relief effort in Haiti,
with over 10,000 people registering and making donations.
Yesterday's race was also the first time I had run in a week. Last
Saturday (February 13) I ran 31.73 miles. With the upcoming race
schedule and training for the New Jersey and Pocono Marathons in May, I
figured it would be best to actually rest.
A couple of things....
First, am I the only one who gets freaked out when seeing a Toyota in my
rear-view mirror?
Second, google calculator has failed me. I keep trying to do conversions
using Joules and it keeps giving me search results for physics forums
with no calculator results. WTF google? WTF?
I woke up Sunday morning, ran some errands, and then met a friend for a
run. While I was waiting for him, I ran a one mile warm-up. Then he and
I set out and ran a half marathon.
I felt pretty good afterward, so a little while later I set out to do
another 10K. That 10K turned into an 8.4 mile hill work out.
I realized I was only about four miles shy of a marathon at that point
and I still felt really good. After a short break I went out one more
time. Four and a half miles later, I was back home and had logged the
most miles in a single day that I had ever done, breaking my previous
record by a mile.
It felt absolutely amazing.
Can every body feel like I do?
Can't you can't you trip like I do?
Remapping Keys in Vim
While I love the keyboard on my relatively new Dell M4800, I'm not
particularly fond of the placement of the Page Up and Page Down keys to
the left and right of the Up arrow, and above the Left and Right arrow
keys. I find myself accidently hitting those keys too frequently while
editing code and jumping all over the file.
So I remapped them. It was quite simple, because Vim is awesome. I added
the following lines to my .vimrc file:
map <PageUp> <Up>
map <PageDown> <Down>
This turns Page Up into a second Up arrow, and Page Down into a second
Down arrow. For now, I'll leave it like that. I may remap them to the
Left and Right arrows in the future. Or not.
New Vernon Coach and Motor Works is Awesome
For as long as I've been a DeLorean owner, I've been taking the car to
New Vernon Coach and Motor Works. They have always been professional
and courteous, and they have always done top-notch work. I highly
recommend them.
That gives you 15 seconds before the virtual machine launches the boot
loader, giving you plenty of time to do things like change the boot
order so you start from a recovery CD.
X11 Mouse Cursor Themes
Starting after installimg the binary nvidia drivers on both my laptop
(Quadro K1100M) and my workstation (GeForce GT 630) Blackbox was
defaulting to a mouse cursor that was suboptimal, a black, notched
triangle.
The settings in the Xresources for the mouse cursor theme are honored by
XDM at the graphical log in, but when Blackbox or Fluxbox start, the
cursor would change to the black notched triangle. TWM honors the
settings in Xresources, but TWM is just a little too minimalist, even for
me.
But there's a simple fix!
Create a file in your home directory (if it doesn't already exist)
.icons/default/index.theme. In this file, add the following lines:
[Icon Theme]
Inherits = polarblue
where polarblue is the name of the X11 mouse cursor theme you wish to
use. FreeBSD installs many of the X11 cursor sets into
/usr/local/lib/X11/icons/, your Unix flavor may be different. In theory,
you can also install new themes of your choosing into ~/.icons/ and use
those without the need for any elevated privileges.
Additionally, there's the option of creating a .Xdefaults file in the
home directory and adding the line
Xcursor.theme: polarblue
Again, where polarblue is the name of theme you want to use.
FreeBSD Unix on Dell Precision M4800
I installed FreeBSD 10.3 on the laptop I recently acquired and
almost eveything worked out of the box. The gigabit ethernet and
wi-fi coards worked fine and by setting the BIOS to discrete graphics
only, the nVidia Quadro was recognized.
I installed the binary driver from nVidia, because they support FreeBSD
because they're awesome like that. The nvidia-xconfig(1) program was
useful to streamline the process of getting X.org to use the Quadro.
There were a few things that did need some tewaking though. First
there's the sound card. Because the quadro supports HDMI (in addition to
VGA and DisplayPort), it includes an HDA-compliant sound card. This card
is recognized before the primary HDA-compliant sound card in the
machine, the one that's actually connected to the speakers.
I did some research and there were some suggestions about using
sysctl(8) to control soundcard GPIO pins to connect the nVidia sound
device to the speackers but what ultimately worked was using sysctl(8)
to change the default primary sound device to the dedicated card. There
were a few ways to make this happen but the one I found that actually
worked was to place sysctl(8) command lines in /etc/rc.local.
Now when boot completes pcm2 is set to my default and sound "just
works" and sndstat shows pcm2 as the default.
I found ACPI support has some weirdness as ACPI support often does. What
I found was that Suspend works from console, but resume doesn't...
HOWEVER After I start X ACPI suspend and resume work just
fine. Normally I prefer to boot into a console and only start X if I
really need it, but because I want suspend and resume to work "by
default" I've enabled X to start at boot by allowing the xdm console in
/etc/ttys.
But this had one last issue. See, when manually starting X, I added the
-dpi 143 option to get graphics and text to be appropriately sized for
my screen. XDM needed to know about this.
This probably wasn't the best place to do it, but I edited
/usr/local/lib/X11/xdm/XServers and modified the call to X(7) to add the
-dpi 143 option. Now when Xdm loads at start up, the DPI is set
correctly.
The function keys for adjusting the screen brightness don't work;
however, xbacklight(1) works just fine. Similarly the volume keys don't
work but I can adjust the volume quite easily with aumix(1).
I've submitted my dmesg output to NYCBUG's
dmesgd repository.
I suppose I've posted this for two reasons. The first is so I have a
record of how I eventually got these little things working in case I
have to do it again. The second is in case anyone has similar issues
with their hardware; if they happen to stumble upon this, it might give
them some hints.
Remapping Keys in Vim
While I love the keyboard on my relatively new Dell M4800, I'm not
particularly fond of the placement of the Page Up and Page Down keys to
the left and right of the Up arrow, and above the Left and Right arrow
keys. I find myself accidently hitting those keys too frequently while
editing code and jumping all over the file.
So I remapped them. It was quite simple, because Vim is awesome. I added
the following lines to my .vimrc file:
map <PageUp> <Up>
map <PageDown> <Down>
This turns Page Up into a second Up arrow, and Page Down into a second
Down arrow. For now, I'll leave it like that. I may remap them to the
Left and Right arrows in the future. Or not.
That gives you 15 seconds before the virtual machine launches the boot
loader, giving you plenty of time to do things like change the boot
order so you start from a recovery CD.
Resetting Vim
On occasion while I'm coding, I'll mistype something and vim's code
autoindenting will stop honoring my settings. Likely, I've done
something stupid that has disabled or modifying the settings from the
defaults I set in my .vimrc file.
If (when) this happens, Vim can be reset without exiting the procces by
going into command mode and typing
:source $MYVIMRC
This reloads the settings of the .vimrc file without forcing you to
restart the process, thus losing your place in your code.
From the man page for setsockopt: "The include file <sys/socket.h>
contains definitions for socket level options, described below."
1) The options are not "described below."
2) No, that file actually doesn't contain those definitions.
On the other hand... The FreeBSD man page for setsockopt does actually
describe the options and under FreeBSD the <sys/socket.h> file does
indeed contain the definitions.
First the background. The story of how I got into this mess:
I'm trying to get ACPI working on my laptop under FreeBSD. Specifically,
I'm trying to get Resume to work properly. Suspend works, and resume
seems to partially work. The fans spin up, the keyboard's backlight
comes back on, but no screen. And without video, it's a little hard to
figure out what's going on.
ACPI works great on my server. It's running the same FreeBSD 9.1 x86-64
build that the laptop is, but the biggest difference is that it's an
intel motherboard. The laptop is an Alienware, for our purposes, I might
as well just call it a Dell.
I started comparing the ASL output from both machines and noticed some
things. First, the Alienware's ACPI implementation looks for the OS to
be various forms of Windows or "Linux." The intel ACPI implementation
also looks for these Windows variants and "Linux" but it has an
additional OS string. It has an entry for "FreeBSD."
I figured the easiest next step was to use iasl co compile the intel ASL
source and load that DSDT onto the laptop.
I calculated the odds it would work vs the odds I was doing something
incredibly stupid... and I went ahead and did it anyway...
I compiled the asl and I set /boot/loader.conf to override the DSDT with
the intel one I had just compiled and I rebooted. At first everything
was good. The machine went down, I got the boot loader, and the FreeBSD
kernel started to load. Seconds into the kernel load, it rebooted
itself. After the second time, I powered off and tried a cold boot. Same
problem just as I had feared.
Now i was in a situation where I couldn't successfully boot because of
an error in loader.conf I needed to find a way to edit it.
And here's the solution:
The FreeBSD bootloader, like many others, works in stages. At a certain
point, it can be interrupted at which point it provides a set of simple
yet powerful commands to control various aspects of the loading process.
If you still have that default menu at load, I beleive the option to
chose is 6. I disable that menu so during a brief countdown I hit escape
before the boot loader turns control over to the kernel.
Once in the boot loader prompt, I entered the following commands:
unload
load kernel
boot
Pretty simple right? The unload command does what it says, it unloads
the kernel and any modules loader.conf had pulled into memory. The load
kernel command grabs the kernel and loads it into memory... but only
the kernel thus ignoring the broken DSDT in loader.conf. And of course
boot tells the boot loader to continue booting the system.
Once booted, I removed the bad DSDT from loader.conf.
Excluding directories while using pax(1)
My primary disk is failing. There are large segments that are generating
low level IO errors during read or write operations. Most of the files
written to the bad area were under /usr/ports/ where the FreeBSD Ports
collection is installed. A few files were under the web server's root.
Figuring I'd take care of things prior to the disk actually failing to
the point of it being irrecoverable, I purchased a new disk early. I
installed it, partitioned it, and formatted it.
To copy the data over, ignoring the areas that were causing the IO
errors, I used mv to "move" the files from the web root under /usr/ports
and used the following command as root:
The -X prevents pax from traversing into mount points that have a
different device ID than the one on which it was started. This prevents
an infinitely recursive loop from happening when the new disk's mount
point would have been hit. It also prevents data on the non-failing
disks from being copied as well.
the -s option allows for sed search and replace scripts to be run. In
this example, the : is used as the delimiter and any path matching
/usr/ports/* is replaced by a null string. With this replacement all
directories under /usr/ports are excluded from the copy.
freebsd-update
I'm attempting to update my laptop from FreeBSD 9.1-Beta1 to 9.1-RC1. The
freebsd-update(8) utilitly was reporting an error finding the public key. A
quick search found this thread. As per tangram's
suggestion, I used
Fun little alias
I use a console based RSS reader written in Ruby. It crashes often and
will delete my list of feeds in the process. It also has a tendency to
not fully exit, leaving a ruby process sitting in the background soaking
up close to 100% CPU time. For such occasions, I've added the following
alias to my .cshrc file.
FreeBSD 6.4 EoL
As of yesterday, FreeBSD 6.4, and with it the entire 6.x branch, has
reached its End-of-Life. It's time to upgrade (or maybe upgrayedd, for a
double dose of something-or-other).
So herein lies the problems. Months (years?) ago, I attempted to upgrade
tak to FreeBSD 7.2. I plugged in a SATA disk into my workstation,
installed the OS, reconfigured all the daemons, services, and
functionalities tak has running, copied over a snapshot of all the data,
and then edited the fstab to match the device names as they'd exist on
tak.
I removed the IDE root disk and installed the new SATA disk and tak and
watched the kernel fail to find the root disk. Or the other SATA disk in
tak.
Based on the bug reports in the FreeBSD Gnats system, and various
conversations in the mailing list, it seems Asus, who made the
motherboard in tak, used a slightly non-standard SATA implementation on
this particular board. Between the 6.x and 7.x line, some work had been
done on the SATA drivers in FreeBSD and mad them more
standards-compliant (a good thing). This, however, broke SATA on this
Asus board.
Tak is about 6 years old now, and other than some over heating issues,
serves its purpose well. So do upgrade to FreeBSD 8.x on an IDE disk and
replace the other SATA disk with another ATA disk, or do I build a new,
lower-power, higher-performance system?
If anyone actually reads this, feel free to use the new comments feature
to give me feedback. I think it's working.
Gmail and mutt
I like mutt. Of all the mail clients I've used over the years, it
sucks the least. It works well with my mail server.
Despite having my own domain and mail server, I still use gmail for
certain things; things I don't mind being retained for 3 years after I
delete them, or more specifically, things I want retained for 3 years
after I delete them.
I don't like the gmail web interface. I find checking my gmail to be
annoying because of this. I remembered gmail offering POP and IMAP.
I figured I could use that to get my gmail. Shouldn't be too hard right?
A quick search of Mr. Yahoo and Mr. Google gave me two good starting
points: Lifehacker.com
and MattCutts.com.
I read the sites and the getmail man page and figured out what I needed
to do. First I enabled IMAP for my gmail account. Next, I created the
.getmail directory in my home directory then created a getmailrc file
there. I want all gmail mail to be delivered to a specific mbox file
without going through my normal mail delivery channels. The contents of
the getmailrc file are quite simple:
[retriever]
type = SimpleIMAPSSLRetriever
server = imap.gmail.com
username = username@gmail.com
password = usernamespasswordgoeshere
mailboxes = ("inbox",)
[destination]
type = Mboxrd
path = /usr/home/mforde/Mail/GMAIL
The retriever section defines how getmail will retrieve the mail. In
this case it uses IMAP over SSL to connect to imap.gmail.com. The
mailboxes setting can be used to specify only certain gmail labels to
retrieve, but I want anything in the inbox.
The destination section tells getmail what to do with the mail once it
has grabbed it from gmail. This configuration dumps it into an mbox file
I've named GMAIL.
I chose IMAP over POP because of the slightly-less-than-documented
"feature" of gmail only allowing 99 messages at a time over POP.
So to get the initial batch of 7000+ emails, I ran
> getmail -vvv -l
to get verbose output and to leave messages on the gmail server. When
that was done I pointed mutt at the GMAIL mbox and like magic, there was
my gmail, organized nicely in my terminal.
Now, I want to check to get the latest mail fairly often, and I don't
want to download messages already copied over. To accomplish this, I
added a crontab to run every 10 minutes and invoke
getmail -l -n -q
This tells getmail to leave copies on the server, only get new messages
it hasn't already retrieved, and be quiet about it.
This has worked out well for me. If you're interested in setting up
something like this, I highly recommend reading the article at matcutts.com.
That article also links to several sample getmailrc files.
BSD v. GPL
Jason Dixon gave a talk at this year's NYCBSDCon entitled "BSD v. GPL
(a.k.a. not the sequel to "BSD is Dying")." It's a humorous look at the
differences between the licenses and their supporters. Despite the
humor, he made some good points.
Mailman
The other night I installed mailman on my server. I integrated it into the
apache configuration and restarted that. The mailman web interface became
available as expected.
I used the web interface to subscribe to the one list I had set up and I
received an email asking me to confirm my subscription. I went to the
included link, and all seemed to be good.
Another person joined the list successfully, then sent an email to the list.
This email never arrived in her inbox. She told me about it, and I checked
only to find I did not have a copy either. I sent a mail to the list and
promptly received a message saying that [listname] was not a valid recipient
at the domain.
That's when I realized I had forgotten to tell the mail server (postfix) about
mailman. I had told apache about mailman, and mailman about postfix, but not
postfix about mailman.
I used mailman to create an alias database for its single list, then updated
postfix's configuration to use that as one of its alias maps. All seems to be
working now.
In conclusion, I learned two things. One is always test your configuration
before telling people it's ready. The other is, "I'm an idiot."
FreeBSD 7 SATA Weirdness
Over the weekend I installed the x86-64 build of FreeBSD 7 on my
workstation, dib. I haven't had time yet to configure everything to my
liking yet, but almost everything works.
The one really annoying issue centers around a SATA DVD burner. When
this device is attached to the primary SATA controller (ICH7), the
system refuses to boot from the hard drive. It reports that no system
disk has been found. I've tried all of the SATA settings options in the
BIOS and none work.
If I connect the SATA burner to the secondary Marvell "RAID" controller
the system boots from the hard drive without issue. In Windows, this
requires another driver (which for some reason installed a copy of
apache along with it). Under FreeBSD 7; however, this second controller
seems to be currently unsupported, leaving me with only the IDE burner
available.
I may spend the $20 and get another IDE burner and just forget about the
SATA issue, but I really would like to know what the problem is. If any
one has any idea why the system would fail to boot from a SATA hard
drive when a SATA optical drive is attached, please email me and give me
some insight into this issue.
Maybe the Unix category wasn't the best for this. I spent more time
discussing the hardware/BIOS weirdness than the installation or
configuration of FreeBSD7. In fact, FreeBSD 7 isn't a very good title
for this either. I'm going to change that.
chdir(2)
So today at work another developer many years my senior, with many more years
experience than I, came to me with a Unixy problem.
"When I have a program, how can I have it so the current working directory
for all processes it starts isn't the one that it started in?"
"chdir."
"No, I want so that if this process starts something like ls, when ls stats
'dot' I want 'dot' to be the directory that process wants it to be, not the
directory that process was started from."
After about 15 minutes of me suggesting chdir while he said that's not what
he wanted but then describing chdir, I finally wrote something along the lines
of the following
Alpha
Due to the power failure, there was the loss of several hours of work.
Last night I installed FreeBSD 6.2-RELEASE on an old DEC AlphaStation
200 I have. I had started building a new, smaller kernel for it around
23:30 last night. It had not completed by the time of the power outage.
I have restarted that build.
Any one reading this would reasonably ask, "Why are you not as
confused/angry/annoyed with a compile that was not finished in 7 hours
as you were about one that took 3 hours?"
The answer is simple. This AlphaStation is powered by a 100MHz DEC Alpha
EV4 CPU and has 64MB of RAM. To the best of my knowledge, DEC made this
machine around 1994 or 1995. I expected the build to take a long time;
the machine is around a dozen years old.
How long does it take to build a linux kernel?
It has been a number of years since I built a linux kernel. Slackware
9.1 was the last GNU/Linux distro I used before switching back to BSD.
Tonight I put together a machine from some old parts (1.2GHz celeron
with 256KB cache, 256MB RAM, 20GB hard drive) and installed Slackware
12.
I customized a kernel configuration and attempted to build it. I don't
remember the 2.4 kernel taking as long to build as this 2.6 kernel. It
took nearly two hours. Granted, this machine is fairly old, but 2 hours?
After I complete the tasks for which I needed this setup, I'm going to
install an older Slackware with the 2.4 kernel and build that. I may
also install FreeBSD and NetBSD and build their kernels. I'd like to get
an idea how long it takes to compile other kernels on this rig.
I'm starting to get used to celebrating my birthday at TBM concerts.
This year it was about a week prior to my birthday at a show on December
1 held at New York's Gramercy Theatre.
Along with the tickets, I had also purchased the "VIP package." This
package included an autographed poster signed by all members of the
band, a "VIP" laminate on a lanyard, and... the opportunity to meet the
band prior to the show!
You may be thinking, "But they stick around after shows and mingle with
their fans anyway," and "You've already met them a few times!" Both are
true. And even with this "VIP" package meet-and-greet, they still make
time for all their fans after the show. What this provided was a
somewhat quieter meeting in a more intimate setting.
In fact the meeting was in a small lounge beneath the concert hall. Dim
mood lighting, mirrors, and couches set the atmosphere. I spoke with
Rainbow, Michael, and Nate first. Rainbow informed me his name was
Michael also and made a joke about the "power of the three Mikes
lighting the room." After a bit, they started moving me to Chibi who was
sitting on a couch after injuring her knee during a show two nights
prior. She tried to walk to me, but I told her not to. She said, "I'll
meet you half way then."
I gave her a get well card, knowing she had had surgery on her vocal
chords about 8 weeks prior and recently injured her knee. Someone
decided we needed a photo of that and she gave me the card back so I
could give it back to her. I believe it was Owen who said, "Act natural
and hold it for 30 seconds!"
I asked Rainbow about writing "Unfamiliar" because both he and OE were
given credit in the liner notes. He said it was mostly OE; OE started it
and Rainbow had finished it. I said I wanted to thank them because it
was a song that had taken on some greater meaning to me and I relayed a
brief version of the story of the moment I recognized that. It turns
out "Unfamiliar" is one of Chibi's favorite songs too.
Every one of the bands that night were amazing. All, remarkably, were
performing as duos. Creature Feature was a real fun band to see. Their
music is heavily influenced by old horror movies which gives them a
dark yet fun sound.
Aesthetic Perfection put on a good performance. Their drummer is
amazing and fun to watch. They heavily synth-based and while there was a
dark tone to most of their songs, they still had fun and lightened
things up with a Fine Young Cannibals cover.
William Control was the only other act I had heard before the show
(Thanks Last.fm!). He was great live and I'd love to see him again. He
reminded me a little of Dommin in that Dean Martin meets Glen Danzig
sort of way.
The Birthday Massacre was great. They played a good mix including songs
from every album. For most of the set Chibi was sitting on a speaker
placed near center at the front of the stage, wearing a knee brace. She
stood up and moved around occasionally, but not much. At one point
Rainbow sat down on another speaker and stuck out one leg in a similar
fashion to how Chibi was seated and laughed a little. It was easy to
tell by their interaction here that Chibi and Rainbow are close.
If you care (or even if you don't), their set list follows:
Night Shift
Down
Control
Always
Red Stars
Video kid
Lover's End
Forever
Pins and Needles
Happy Birthday
Alibis
Calling
In the Dark
Sleep Walking
Midnight
-- Encore --
Leaving Tonight
The Long Way Home
Blue
The band did not leave the stage prior to the encore as they normally
would. Chibi said, "This is the part of the show where we say thank you
and leave and you clap and we come back out and play some more. But I'm
not going to walk down those stairs anymore than I have to, so do you
want to hear three more songs?"
Last night, as an end to my 30th birthday weekend, I went to see The
Birthday Massacre in Teaneck. The show was at the Mexicali Live which is
a rather small, intimate venue with full table service for dining, and a
bar with some really good microbrews on tap.
The first act was A Verbal Equinox. I thought they were pretty good,
especially considering they all seemed to be still in high school. Their
set was pretty tight, with mostly original songs and a My Chemical
Romance cover. Frankly, I think they did the MCR song just as well, if
not better, than MCR. They definitely had a good rhythm section.
The next band, who shall remain nameless, was described by some as
"Armenian Industrial." I thought the music was good, but I wished the
singer would just shut up. No singing, no talking to the crowd. Just.
Shut. Up. Their set would have been awesome as an instrumental.
During their set they had two "gothy cheerleaders" on stage. It turned
out that one of them was my friend's niece. Kinda random.
After their set, I ran into a couple of the kids from the first band and
talked to them a bit. I told them I liked what I heard and they thanked
me and gave me a CD-R labeled with sharpie containing their first
recorded single. Something about that is just awesome.
The Birthday Massacre was great. They played a good mix including songs
from every album.
If you care (or even if you don't), their set list follows:
Pins and Needles
Control
Happy Birthday
Forever
Burn Away
Shallow Grave
Always
Weekend
Video kid
Blue
Looking Glass
Lover's End
In the Dark
Horror Show
Red Stars
-- Encore --
Sleep Walking
Midnight
They didn't play my favorite song, "Broken," but I was not disappointed in the
set at all. After they finished, Rainbow was on stage for a bit talking
with people from the crowd. I told him it was a great show and asked if
they'd be playing "Broken" at tonight's show with Dir En Grey. He said
it wouldn't be in the set, but he loves that song and they'd rehearse it
for their next tour.
A rather blurry picture of The Birthday Massacre from the show.
Last night I went to see The Birthday Massacre in Hackensack. The show was at
the School of Rock which is a rather small, intimate venue.
The first act was September Mourning. I thought they were pretty good. I got to
speak to Emily and Chris from the band later in the evening and they seemed
like pretty cool people.
Dommin was the next band up. The singer's got a pretty good voice and the
bassist was really good. They played a cover of Depeche Mode's "People are
People" and it was pretty good.
I was a little less than impressed with I Am Ghost. They weren't bad, but I
couldn't get into them.
Early in the evening, before Dommin's set I went to the merchandise table and
picked up two new shirts. Now I have TBM shirts that fit! I also picked up a
copy of the new live album Show and Tell. Zimmy couldn't make it this
tour, but Michelle, the girl who took his place, was just as awesome as he was.
The Birthday Massacre was great. They played a good mix from their albums
including songs from their three albums and the Looking Glass EP.
If you care (or even if you don't), their set list follows:
Red Stars
Goodnight
Falling Down
Play Dead
Weekend
Shiver
To Die For
Lovers End
Remember Me
Video Kid
Violet
Looking Glass
I Think We're Alone Now
Walking With Strangers
Blue
Happy Birthday
They didn't play my favorite song, "Broken," but I was not disappointed in the
set at all.
After the show they came out to meet the fans. I was able to get their new live
album signed by Falcore, Oen, Rainbow, and Chibi. The latter three also
autographed the photos I had taken with them last year and they were pretty
nice about it.
Not that anyone really cares, but these are the photos my friend took. If you view
the full version, be warned that I'm in the photos too.
Friday night was the Birthday Massacre/Mindless Self Indulgence show.
Due to various circumstances and events, my friends and I made it to
the venue just in time to see the last 3 minutes of TBM's set.
I made an attempt to see The Birthday Massacre last August in new York
but that attempt failed due to prior commitments. So for two years in a
row I tried to see them, and for two years in a row I failed. Sorta.
After seeing the last 3 minutes of the set and being very disappointed, I went
over to the merchandise booth to buy a souvenir T-shirt. My friend James joined
me and we, mostly James because of his gregarious nature, started a
conversation with the guy at the counter, whose name was Zimmy. We told him
what had happened and asked if there was any chance of catching the band as
their equipment was being packed up.
He told us their gear had already be packed, but if we hung out after the show
they'd be coming out to meet the fans. So we hung out after the show.
After the crowd dissipated, we went back into the venue's main room. Sure
enough, several members of The Birthday Massacre were standing around, signing
autographs, and talking to the fans. James and I went up to O-En first. He was
very friendly and talked with us for ten or fifteen minutes. I told him about
missing the show two years running and he gave me his sympathies and thanked me
for trying to get to the shows. I asked him if he had any idea when they'd be
in the area again and he gave me a general idea of when to expect them to be
back. He was nice enough to sign my copy of Violet and let us take a
photograph.
Next we went over and talked with Chibi. She was also very friendly although we
didn't speak to her for quite as long as we did O-En. She signed Violet
and took a photo with me and thanked us for coming to see them, even though we
missed the set.
The last member of the band I got to see was Rainbow. Like O-En and Chibi, he
too was very friendly. We talked to him for several minutes and I collected
another autograph and photo.
All three of them were very friendly with every one and they all seemed to
genuinely care about their fans. I had heard from some one who had met them
before that they were some of the nicest people you could ever meet. O-En,
Chibi, and Rainbow confirmed that on Friday night. Now that I've met them, I
can't wait for the next opportunity to finally catch their set.
Not that anyone really cares, but these are the photos James took. If you view
the full version, be warned that I'm in the photos too.
Duality
Given the infinitesimally small reader base of this weblog, and the fact
that most, if not all, of those readers know me personally, there's a
good chance that you know I've fairly recently gotten a pair of tattoos.
The first tattoo, on my right arm, is a "26.2" in a giraffe print. That
number, of course, is the distance of a Marathon in miles. Approximately
one tenth of one percent of the population has ever completed a
Marathon. I am one of those individuals and it is because of the
Giraffes, the running team my friends started and pulled me into, that I
was able to accomplish this feat.
The second tattoo, on my left arm, is a 6x8 grid of binary digits which
spell out my first initial and last name in ASCII. Beneath the binary
grid is a "v3.1" in a more stylized font. I was named after my father
who had been named after his father, making me the third, version 3.0 if
you will. In the last few years I've "upgraded." I'm smaller, faster,
stronger, kinder, more extroverted and more optimistic than I was, but I
am not an entirely new person. Hence v3.1.
There's more to the meaning of these tattoos than the explanations
above. They represent the duality of myself. One represents the
decidedly geeky nature that has been a part of me for almost my entire
life. The other represents a newer aspect of myself, the endurance
athlete.
It has been difficult for me to resolve these aspects. You were a nerd
or a jock. There was a perceived inherent conflict between the two. You
could be one or the other, not both. I was a nerd. I was never a jock.
Now I'm both.
And I can be both. There is no reason can't, because this is what I've
become; this is what I am.
MTA
Why is the MTA's budget each year referred to as a "doomsday" budget?
They vote on it every year, and every year it's approved, and every year
they get subsidised by the tax payers and toll payers. So why is it a
"doomsday" budget? They're not going out of business, although it sure
seems their worker's union would like to see that happen given their
demands.
Don't they have better things to do?
It has come to my attention that Congress, in their infinite wisdom, has
decided to write legislation against television commercial
advertisements having a louder perceived volume than the actual
programming.
While I do sometimes find this annoying, do we really need an act of
congress to outlaw this? Shouldn't our representatives be doing
something better with their time, like repealing hundreds of laws that
hinder the free market economy and trample the Constitutionally
guaranteed rights of the citizens?
Who... What are you?
I was running earlier tonight and around mile 7 I was going up a steep,
winding, dark hill. Near the top a couple was walking their dog. They
saw the flashing
lights on my shoes and wrists and, when I got close to them, the
woman said, "We were trying to figure out what you were."
Best Buy Charges Customers for Exchanges
This weekend I witnessed a friend try to exchange an item at Best Buy.
He had mistakenly purchased the full-screen version and wanted to
exchange it for the wide-screen version. While he did not have his
receipt, it still had the Best Buy sticker on the shrink wrap as well as
the $19.99 price tag.
The signs on the shelf indicated that the wide-screen version was also
$19.99 and as of January 22, both versions are $19.99 on the
Best Buy website.
My friend waited online patiently for about 15 minutes to make his
exchange. He handed the Blue Shirt both the full-screen version he had
purchased and the wide-screen copy he picked up before going to the
customer service line. The Blue Shirt asked if he had paid cash or
credit and when my friend said credit, the Blue Shirt asked for his
card.
The Blue Shirt swiped the card and pushed a bunch of buttons then told
my friend he'd have to pay $5.35 ($5 plus 7% sales tax) due to a
"difference in price."
When we questioned this "difference in price" we were told, "Wide-screen
always costs more than full-screen."
I am boycotting Best Buy and I urge others to do the same. This company
has a long history of using underhanded tactics to increase
profitability at the expense of its employees and its customers.
Marathon Tune-UP
This past Sunday was the Marathon Tune-Up, an 18 mile run through
Central Park. My goal was to run it maintaining roughly a 7:30/mile
pace. I had set a range of 135 to 140 minutes for myself. I would have
been satisfied with any finish time in that five minute span.
At the 10 mile mark, I was averaging 7:27/mile. During that 11th mile, I
decided to use a Gu energy gel. I was still feeling pretty good at that
pace and I was hoping to time the gel right so as to not "hit the wall"
at mile 14 or 15.
Instead, the gel started giving me stomach cramps. At mile 12 I was
still well under an 8 minute pace and at the half-marathon mark, I was a
minute off my best official half. I was clearly slowing down as the
stomach pain increased.
I struggled through miles 14 and 15, alternating running and walking
every quarter mile. By mile 16, I could not run. The pain was almost
unbearable. I ended up walking the last two miles, in the rain, with all
my blood concentrated in my core, dealing with the Gu in my stomach. By
time I crossed the finish line, I was a half over my 135 minute goal and
had almost no feeling in my hands or feet.
I went to the medical tent and told the volunteer that I had severe
stomach cramps and I was so cold that I couldn't feel my hands. He
responded, "We don't got no blankets or nuthin' so we can't do nuthin'
for ya." So I walked away.
I went to the tables where volunteers were handing out gatorade and
pretzels. I stood there, shaking, until another runner came up to me
and asked if I was okay. Before I knew it, another runner was keeping me
from falling over while the first runner was coming back with two NYRR
volunteers. One of them wrapped me in a plastic bag to keep the rain off
while the other went for help. I explained what happened at the medical
tent.
Two more people from medial came back and put me on a gurney and took me
back to the tent. I told them what had happened at the tent and
explained what I was feeling. At the tent I removed my soaked shirts and
was wrapped in a mylar sheet and two blankets. I pointed out the guy who
told me they couldn't do anything for me.
I managed to get in touch with my fellow Giraffe who ran back to our car
to get my dry clothes. After about a half hour or so, I was feeling much
better and feeling had returned to my extremities. I got in my dry
clothes and my teammate and I walked back to the car.
So taking a Gu ended up with me being treated for hypothermia. I had had
mild stomach irritation when using Gu in training, but never this bad.
I'm glad I found out now instead of next month in Philadelphia.
during my 22 mile training run at the Tourne, I used prepared bottles of
GuBrew and Gu2O. These liquids never caused the irritation that the gel
did, so I should be okay using them during the race.
I've purchased a bottle that gets strapped to your hand for the purpose
of carrying the GuBrew with me. I filled it with water and ran with it
on the treadmill last night. It seems a little awkward, but it
shouldn't be too bad. I'll use it to carry the GuBrew with me during the
Staten Island Half Marathon on the 11th and see how that works out.
WTF?
I'm used to guitarists mocking the bass and bassists. It doesn't bother me
too much. But this... This irritated me. A lot.
Today at work there was a group of people talking about Rock Band and
Guitar Hero 3. None of them actually know how to play
intstruments but they claim to be great at these games. They seem to
believe this entitles them mock bassists.
"Oh man, bass is so easy. It's the guitar that's the hard part. Yeah,
I'm on expert on the guitar."
"Yeah, bass is so stupid."
"So It's me, my brother, and my sister. I play guitar, he's on
drums, and my sister sings."
"what about bass?"
"My friend just got Guitar Hero 3. I'll make him play bass."
[Both laugh]
After making statements indicating this person believes he actually
is better than Tom Morello, "After you make Tom Morello or Slash your
bitch, they play bass for you."
chdir(2)
So today at work another developer many years my senior, with many more years
experience than I, came to me with a Unixy problem.
"When I have a program, how can I have it so the current working directory
for all processes it starts isn't the one that it started in?"
"chdir."
"No, I want so that if this process starts something like ls, when ls stats
'dot' I want 'dot' to be the directory that process wants it to be, not the
directory that process was started from."
After about 15 minutes of me suggesting chdir while he said that's not what
he wanted but then describing chdir, I finally wrote something along the lines
of the following
Alpha
Due to the power failure, there was the loss of several hours of work.
Last night I installed FreeBSD 6.2-RELEASE on an old DEC AlphaStation
200 I have. I had started building a new, smaller kernel for it around
23:30 last night. It had not completed by the time of the power outage.
I have restarted that build.
Any one reading this would reasonably ask, "Why are you not as
confused/angry/annoyed with a compile that was not finished in 7 hours
as you were about one that took 3 hours?"
The answer is simple. This AlphaStation is powered by a 100MHz DEC Alpha
EV4 CPU and has 64MB of RAM. To the best of my knowledge, DEC made this
machine around 1994 or 1995. I expected the build to take a long time;
the machine is around a dozen years old.
How long does it take to build a linux kernel?
It has been a number of years since I built a linux kernel. Slackware
9.1 was the last GNU/Linux distro I used before switching back to BSD.
Tonight I put together a machine from some old parts (1.2GHz celeron
with 256KB cache, 256MB RAM, 20GB hard drive) and installed Slackware
12.
I customized a kernel configuration and attempted to build it. I don't
remember the 2.4 kernel taking as long to build as this 2.6 kernel. It
took nearly two hours. Granted, this machine is fairly old, but 2 hours?
After I complete the tasks for which I needed this setup, I'm going to
install an older Slackware with the 2.4 kernel and build that. I may
also install FreeBSD and NetBSD and build their kernels. I'd like to get
an idea how long it takes to compile other kernels on this rig.
July Update
Tuesday night was the Party with Purpose 5K in Hoboken. I did much
better than last year, but I'm a little disappointed. They only had it
set up to record gun time rather than net time. The actual start line
wasn't marked very clearly either. Officially my time was 20:20 but if
it took me more than 4 seconds to cross the start line, then I got a PR.
But the world will never know.
Last night was the Verizon Wireless Classic 5K corporate challenge race
in Morristown. They calculated net time, but rather than reading the
RFID tag as you cross the finish line, there was a guy about 10 to 15
feet past the line waving an RFID reader wand over your tag. So you
cross the line... and stop running... and walk a bit... and then your
finish time is recorded. Other than that, it was a decent run. I was
again disappointed in the results, finishing in 20:48.
I may try the Teterboro 5K at the airport tomorrow, or I may just do a
20 mile training run. I haven't decided yet.
It's like I'm 16 again
You'd think I would have learned to drive by now. I've had the DeLorean
for a month now and I'm still a little shaky coming off stop lights and
signs but over all I'm better. I've only driven it a handful of times
and I should really be driving it more often if I want to get better.
I'm thinking of adding a separate section to the site dedicated to the
DeLorean and every step in the process of acquiring it. I found a lot of
useful information on the websites of other owners that helped a lot.
I think I'll take the DeLorean today...
After taking the Pontiac to inspection this morning, I got the urge to
drive the DeLorean. I need to drive it more anyway so I think it may be
joining me on some errands this morning.
Mailman
The other night I installed mailman on my server. I integrated it into the
apache configuration and restarted that. The mailman web interface became
available as expected.
I used the web interface to subscribe to the one list I had set up and I
received an email asking me to confirm my subscription. I went to the
included link, and all seemed to be good.
Another person joined the list successfully, then sent an email to the list.
This email never arrived in her inbox. She told me about it, and I checked
only to find I did not have a copy either. I sent a mail to the list and
promptly received a message saying that [listname] was not a valid recipient
at the domain.
That's when I realized I had forgotten to tell the mail server (postfix) about
mailman. I had told apache about mailman, and mailman about postfix, but not
postfix about mailman.
I used mailman to create an alias database for its single list, then updated
postfix's configuration to use that as one of its alias maps. All seems to be
working now.
In conclusion, I learned two things. One is always test your configuration
before telling people it's ready. The other is, "I'm an idiot."
Can't you trip like I do?
I got home a little early (read: on time) from work today so I was able
to start running a little earlier than I have been lately. I just kept
running until the runner's high kicked in, then I kept running until it
started to wear off, then I ran another two miles back home.
I ended up doing about twelve miles tonight and it felt so good. I had
almost forgotten what that high felt like. Between the weather and work,
my runs were averaging 3 to 5 miles and that doesn't do much for me
anymore. But tonight I was able to get that feeling again.
We packed up and drove down to Westfield and ran the CJRRC Hangover 5K.
It was supposed to be held January 1, but was rescheduled multiple times
due to the weather.
I ran a PR today finishing in 19:22. I was 4th in my age group and 15th
over all.
My friends ran the race too, all except one who has a broken toe.
Everyone was happy with their time and met their goals for the day,
ranging from sub-25 to "eh, taking it easy, seeing how it goes..."
After the race we went cycling. This was my first bike ride outside.
I've been working with an indoor trainer for the last few weeks and this
was the first time I had been on a bicycle, outside, actually moving, in
about 16 or 17 years. My friends have been cycling longer and more
recently than I have, so today's 17 mile ride was rather easy for them.
I was freaking out quite a bit, but they calmed me down, gave me
pointers, and just helped me out in general.
As we rode, I got more comfortable with the bike and I realized
comparing this bicycle to my last bicycle is like comparing my DeLorean
to my old Mercury Sable. It takes a while to get used to the
differences, but once you do it handles far better and offers more
control.
Look How Far We've Come
Just under 3 years ago, I started training. That first 5K took about 53
minutes and change. My first race was the 2008 Lincoln Tunnel Challenge,
about 6 weeks after I first stepped on the treadmill. My time in that 5K
was 35:51, about 11:32 per mile.
Yesterday I ran the NYRR Gridiron 4 Mile. I finished in 25:47 (6:26
pace), a full ten minutes faster than that first 3.1 miles.
Last month, I ran the Fred Lebow Classic 5 Mile race in Central Park. I
finished that race in 33:09 (6:37 pace), over two minutes faster than
that first 5K race.
I hope this achievement will serve as a testament to the fact that with
determination and hard work, anything is possible.
5K Run for Charity
I have entered the 2008 Lincoln Tunnel Challenge to help raise money for
the Special Olympics. I would appreciate it if every one could make a
donation, no matter the amount.
It's not stupid, it's advanced
I opened the Windows 10 settings app, not to be confused with the
control panel, and I selected "Windows Update." Next, I chose the
"Advanced Options" and was greeted with this mess. I hope the next build
fixes this problem, as well as the myriad of other issues plaguing the
current Windows 10 preview release.
Thoughts on National Computer Science Education Week
This week is apparently National Computer Science Education Week.
Code.org is organizing the "hour of code"
to promote teaching of Computer Science and Programming in schools.
They're also organizing petitions to make CS courses count as credits in
Mathematics or Science for High School graduation requirements.
In High School, my CS courses were by far my favorites, Programming in
Pascal, AP Comp Sci in Pascal, Programming in C++, and AP Comp Sci in C++ (
the language for the exam switched my junior year). I learned a lot
about structured code, elegant, efficient code. I learned enough about
Data Structures and Algorithms that I didn't have to study for my
college CS classes until Computational Structures (Discrete Math II with
Scheme, essentially) in my third semester. I had an amazing Computer
Science teacher who also taught me Calculus and the proper order of
precedence in life: God, Family, Math. I wouldn't be where I am today
without that educational opportunity I had in High School. I want others
to have that opportunity too.
However, this is where I differ with the opinion of the Code.org folks.
I do not believe that CS classes should count toward the Math or Science
requirements. In this state, CS counts toward the "practical or
performing art" requirements, I'm assuming under the "practical" label.
I think this is a better place for it at the High School level.
Computer Science is not a hard Science. It's not Physics. It's
not Biology. It's not Chemistry. There's a saying that if the subject
has science in its name, it's not really a science. That is true with
Computer Science. It's not studying the how and why of atoms, of
molecules, of living systems, of anything really. It's not science.
Computer Science is really applied mathematics. I am very fortunate that
the college program I went through was very strong in mathematics: Calc
I and II, Linear (Matrix) Algebra, Discrete Math, Discrete Math II in
the guise of Computational Structures, Probability and Statistics,
Theory of Computation, Algorithmic Analysis... the list goes on. All of
these mathematical foundations were then applied to a machine, to make
the machine carry out a task in an efficient manner. It's those
mathematical foundations that are the true core of Computer Science.
While mathematics is the core of Computer Science and Computer Science
is essentially applied mathematics, I do not believe it should count
toward the Math requirements. The CS classes would likely detract
from other mathematics courses such as Geometry, Trigonometry, and
Calculus. These courses are far too important to an education to be
replaced by a Computer Science course. Many, maybe even most, High
School Computer Science courses focus more on "programming" than the
fundamental mathematical theories. They will pick the language du jour
and teach you the syntax and semantics. They'll teach about basic data
structures like arrays, and linked lists. The AP exam currently focuses
not on implementing lists, trees, stacks, queues, and sorting and searching
algorithms, but on arrays and lists using Java library calls. This is
not math. This is learning Java syntax.
/* These defined magically in the linker script. */
I found that in the GNU Standard C Library implementation when GCC told me the
the variables to which the comment referred were undefined. I guess that linker
script isn't magic after all...
25th Anniversary Lincoln Tunnel Challenge 5K
Yesterday the Giraffes ran the Lincoln Tunnel Challenge to benefit
Special Olympics New Jersey. It was the events 25th anniversary and the
Giraffes' third anniversary.
The weather was much nicer than the previous two years with far less
rain than last year and a much milder temperature than the 90+ degrees
of two years ago. In fact, the weather outside was ideal for running.
The weather inside the tunnel was a few degrees warmer, but still in
that ideal range.
Before the race, I met up with my friend Bobby. He's an athlete who
competes in the Special Olympics. We went to school together and were on
the Cross Country and Track & Field teams in high school. Back then, he
and I were almost always the last two runners to finish at the Cross
Country meets. The difference between us was that I was a quitter and he
never gave up.
That first time I ran this race in 2008, I failed to meet my goal 31:26.
When I saw Bobby after that race, it made me think back to Cross
Country. His determination to never quit was one of the influences that
kept me running after that day.
Back to this year's race...
After talking to Bobby, I met some other friends from my town who were
running (but decided not to register as Giraffes... grrr...). They, as
well as the other Giraffes, were running in the second wave at 8:45. It
was getting close to the start of the 8:00AM wave, so I parted ways with
them and took my place in the starting area. After the standard pre-race
speeches, including the announcement that this year's race raised almost
$180,000 for SONJ, the gun went off and the race began.
After a few seconds in the tunnel, my watch lost satellite reception and
continued using the footpod while searching for satellites. Because it
went back into the open sky search mode, I couldn't see any sort of
timing or pacing information on the display. I was running blind, so to
speak. Having set a PR of 19:08 in the 5K last month and a previous best
of 20:16 for this course, I was hoping to just break 20 minutes. The
Lincoln Tunnel is essentially a "V" shape with the second and fourth
quarters of the race being uphill.
During the second half I caught up to another runner I had seen in
Weehawken prior to the start of the race. As I approached, he sped up. I
said to him, "You're going to make me work for this, aren't you?"
He replied, "I don't like people passing me. And I'm trying to catch
that guy," gesturing to another runner about 50 feet ahead of us.
I said, "Okay" and started picking up the pace a bit, overtaking the
runner who had been in front of us. And I kept going. I started to feel
the lactic acid in my left calf. I decided to ignore it. The feeling
subsided. As I neared the end of the tunnel, I could hear the announcer
calling out the finishing times. I gave it everything I had left, and
cross the finish line.
I stopped my watch and saw my time at 18:57. I knew then there was the
possibility I had broken 19 minutes, but it would be close. I'd have to
wait for official results. But I was too excited, I had tell someone, so
I text'ed a few friends.
I reconnected with my friends from town and the other giraffes, and told
them all to kick ass and chew bubblegum. I watched as their heat started
and they all entered the tunnel. I went and picked up my blanket from
the registration table and tried to keep warm while I waited and watched
my friends finish. It brought a huge smile to my face to see each of
them, and especially Bobby, cross the line.
The Giraffes celebrated another race and another year with our
traditional post-race brunch. And the waiting continued...
The official results were posted late in the afternoon, while I was
helping a friend prepare for the flooding we're experiencing for the
second time in two months. A friend text'ed just before 5:00PM with
18.55
congrats
It was two seconds faster than I thought. It was 13 seconds faster than
my previous PR set only last month. I finally broke 19 minutes, and I
did it on the same course on which I ran my first race three years ago.
I took 16:56 off my time in those three years. I finished 9th in my age
group and 33rd overall, and for the seventh time in nine races this
year, I set a new PR.
Acceptance, or lack thereof...
A few days ago I picked up some dumbbells that had been left out, they
were 40lbs each and I lifted them with one hand each. Three years ago
the most I could lift, with both arms combined and "lifting with the
legs," was 43lbs (the weight of my computer).
Last month, I ran a 5K in 19:08. Yesterday during a speed workout I ran
my two fastest 100m ever, 17.9 seconds and 17.87 seconds. Today I ran a
10K at a 6:24 pace, finishing in under 40 minutes. I've set a new PR in
every distance I've raced this year except the half marathon, and that
race I set a new record for myself on that particular course.
I've put lost 126 pounds of fat and gained 36 pounds of bone and muscle.
My body keeps getting stronger and faster.
And I still can't accept my body for what it is....
Scotland 10K 2011
This morning I ran the NYRR Scotland 10K for the third year in a row.
The first time it was cold and raining, and I had food poisoning from
eating at the Macaroni Grill the night before. (The Giraffes had a team
dinner the night before and 40% of us got sick.) I ran that race at a
slower pace than the 15K race a few weeks prior.
Last year, the morning of the race was unseasonably hot and I was
dealing with an ITBS flare-up. I ran that one almost as slowly as the
previous year.
All of the other 10K's I've run were always sub-par compared to my 5K
and 15K times. I had never felt like I had a good 10K race. I always
felt like I let myself down; like I should be doing better.
Until today...
Today's Scotland 10K was the first time I had a good run at this
distance. When I set out this morning, my goal was a 6:56 pace, one
second per mile better than my PR. Central Park was a bit chilly at
about 52 degrees with an overcast sky.
My team made our plans for meeting afterward and we took our places in
the corrals. The gun went off and I started running. As soon as I
crossed the starting line I decided I wanted to see how fast I could do
this, how fast I could run a 10K. I wanted to see if I could break 40.
So I ran fast and hard, watching my pace a little too closely at times.
After the first mile I was warm and debating whether or not to take off
the arm warmers. I decided to wait until later in the race, as one side
of the park is usually warmer than the other. At about 2.5 miles I had
a weird cramping feeling in the ball of my right foot, but within a few
hundred meters the high kicked in and the pain went away. At the halfway
point I knew I'd be close to a 40 minute finish if I kept up the pace.
I kept up the pace until the last mile, then I sped up. I was close to
the goal. I was going to make it or die trying. Well, probably not die.
More likely vomit or pull a muscle or re-injure the IT-band. But not one
of those problems happened. What did happen was I crossed the finish
line less than 40 minutes from the time I crossed the starting line.
For the first time, I had felt good during and after a 10K. I ran the
race I wanted and the race I needed. I accomplished what I set out to do
and it felt awesome.
The official results posted a few hours later put me at 39:46, a
6:24/mile pace. This is a faster pace than my current 5 mile and 4 mile
PRs. I ran at a 67.5% AG performance rating and finished 318 of 8491.
Resetting Vim
On occasion while I'm coding, I'll mistype something and vim's code
autoindenting will stop honoring my settings. Likely, I've done
something stupid that has disabled or modifying the settings from the
defaults I set in my .vimrc file.
If (when) this happens, Vim can be reset without exiting the procces by
going into command mode and typing
:source $MYVIMRC
This reloads the settings of the .vimrc file without forcing you to
restart the process, thus losing your place in your code.
Tonight I signed up for the Fireside beta. They asked for all my social
media accounts to prove I'm a human. The problem is, I don't have a
twitter account, a facebook account, instagram, etc. Years ago I took
the advice of numerous psychology studies and my own therapist's advice
and got off the social media platforms. It was one of the best things
I've ever done for my mental health.
So hopefully this blog, though infrequently updated (and slightly broken
since the last major perl update), will serve as proof to the people at
Fireside that I am human and not a bot.
It was the Astonishing
Legends Podcast that led me to Fireside. It would be nice to use it
for one of their interactive live chats sometime.
Last night, as an end to my 30th birthday weekend, I went to see The
Birthday Massacre in Teaneck. The show was at the Mexicali Live which is
a rather small, intimate venue with full table service for dining, and a
bar with some really good microbrews on tap.
The first act was A Verbal Equinox. I thought they were pretty good,
especially considering they all seemed to be still in high school. Their
set was pretty tight, with mostly original songs and a My Chemical
Romance cover. Frankly, I think they did the MCR song just as well, if
not better, than MCR. They definitely had a good rhythm section.
The next band, who shall remain nameless, was described by some as
"Armenian Industrial." I thought the music was good, but I wished the
singer would just shut up. No singing, no talking to the crowd. Just.
Shut. Up. Their set would have been awesome as an instrumental.
During their set they had two "gothy cheerleaders" on stage. It turned
out that one of them was my friend's niece. Kinda random.
After their set, I ran into a couple of the kids from the first band and
talked to them a bit. I told them I liked what I heard and they thanked
me and gave me a CD-R labeled with sharpie containing their first
recorded single. Something about that is just awesome.
The Birthday Massacre was great. They played a good mix including songs
from every album.
If you care (or even if you don't), their set list follows:
Pins and Needles
Control
Happy Birthday
Forever
Burn Away
Shallow Grave
Always
Weekend
Video kid
Blue
Looking Glass
Lover's End
In the Dark
Horror Show
Red Stars
-- Encore --
Sleep Walking
Midnight
They didn't play my favorite song, "Broken," but I was not disappointed in the
set at all. After they finished, Rainbow was on stage for a bit talking
with people from the crowd. I told him it was a great show and asked if
they'd be playing "Broken" at tonight's show with Dir En Grey. He said
it wouldn't be in the set, but he loves that song and they'd rehearse it
for their next tour.
A rather blurry picture of The Birthday Massacre from the show.
Last night, as an end to my 30th birthday weekend, I went to see The
Birthday Massacre in Teaneck. The show was at the Mexicali Live which is
a rather small, intimate venue with full table service for dining, and a
bar with some really good microbrews on tap.
The first act was A Verbal Equinox. I thought they were pretty good,
especially considering they all seemed to be still in high school. Their
set was pretty tight, with mostly original songs and a My Chemical
Romance cover. Frankly, I think they did the MCR song just as well, if
not better, than MCR. They definitely had a good rhythm section.
The next band, who shall remain nameless, was described by some as
"Armenian Industrial." I thought the music was good, but I wished the
singer would just shut up. No singing, no talking to the crowd. Just.
Shut. Up. Their set would have been awesome as an instrumental.
During their set they had two "gothy cheerleaders" on stage. It turned
out that one of them was my friend's niece. Kinda random.
After their set, I ran into a couple of the kids from the first band and
talked to them a bit. I told them I liked what I heard and they thanked
me and gave me a CD-R labeled with sharpie containing their first
recorded single. Something about that is just awesome.
The Birthday Massacre was great. They played a good mix including songs
from every album.
If you care (or even if you don't), their set list follows:
Pins and Needles
Control
Happy Birthday
Forever
Burn Away
Shallow Grave
Always
Weekend
Video kid
Blue
Looking Glass
Lover's End
In the Dark
Horror Show
Red Stars
-- Encore --
Sleep Walking
Midnight
They didn't play my favorite song, "Broken," but I was not disappointed in the
set at all. After they finished, Rainbow was on stage for a bit talking
with people from the crowd. I told him it was a great show and asked if
they'd be playing "Broken" at tonight's show with Dir En Grey. He said
it wouldn't be in the set, but he loves that song and they'd rehearse it
for their next tour.
A rather blurry picture of The Birthday Massacre from the show.
Powergrabs Yay Socialism!
That was sarcasm. Socialism is bad news. It leads to the government
controlling every aspect of your lives. Take for example this
story or a bit closer to home, this story.
2010 NYC Half Marathon
Yesterday was my best half marathon yet. As I stood in the corral
waiting for the race to start, the chill in the air was a welcome change
from the heat and humidity of last year's race. The decision to move the
race from August to March was a good one. The course is definitely a fun
one. It starts with an 8 mile loop around Central Park before exiting
onto 7th Avenue. From there, the route goes to 42nd street, through
Times Square, and out to the West Side Highway where the course finishes
near Battery Park.
I started out with the goal of beating my time from last year. As long
as I did better than 1:51:49, I'd be happy. I was hoping I'd finish
within a minute or two of the half marathon PR I set back in January,
but I wasn't counting on it.
As I ran I looked at the split times, and roughly gauged how I was
doing, trying to stay on target for something close to 1:37 finish, but
primarily making sure I was doing better than last year's 1:51. At mile
8, just before exiting Central Park to head to Times Square, the clock
time was about 59 minutes. I realized that the winner of the race was
about to finish, if he hadn't already, and I hadn't even made it out of
the park.
This year's splits were much better than last year's.
split
2009
2010
5K
0:23:42
0:23:22
10K
0:47:32
0:46:09
15K
1:14:45
1:07:59
20K
1:46:09
1:29:28
final
1:51:49
1:33:26
This is the first time I've run negative splits. What really amazes me
is that not only was the second half faster, but every 5K split was
faster than the previous. There was an excitement exiting the park.
There was an amazing rush turning the corner onto 42nd street. The
crowds were great, cheering every runner as we passed by.I remember
around the mile 11 marker realizing I had a chance to PR, estimating my
time at about 1:36, and picking up the pace a bit. I started passing
people left and right. One runner saw me and yelled, "Go, man! Go!"
Out of about 15 to 16 thousand people that signed up, 11,493 finished. I
finished in 895th place; far, far, behind the winner who took home
$20,000.
Universal Sports had a live telecast of the event. I set the DVR to
record it before I left, but I haven't had a chance to watch it yet. It
likely focused primarily on the professionals who ran, including the
Marathon world record holder, Haile Gebrselassie.
Not a Paper Cup
I recently ordered the Not a Paper Cup from ThinkGeek. It looks like a
paper coffee cup but is made of ceramic. The lid is silicone instead #6
plastic. It should be awesome. It's not.
Advertised as 12 ounces, it actually only holds 8 ounces. Right there,
it's at most 66% as awesome as it should be. As one friend put it, "That
is significantly less awesome."
Now that I've used it I'll say that it's about 0% awesome and 90% suck
with 10% fail.
The silicone lid tastes, well, like silicone. It adds this horrible
flavor to every sip. I like my coffee to have a strong coffee flavor,
not a strong coffee plus silicone flavor. Maybe that's just me...
The double walled construction of the cup, in theory would add an
insulating layer to keep the coffee warm longer than a regular paper
cup. This was not the case and in a test yesterday, I found that the
standard paper cup kept the coffee warm for about an hour and a half
longer than the Not a Paper Cup.
In summary:
Holds 8 ounces instead of 12 (as advertised).
Silicone lid adds odd and horrible taste to coffee.
Doesn't keep the coffee hot as long as regular paper cups.
Don't buy one. If some one gifts it to you, well then that person must
hate you or not understand coffee.
Coogan's 5K - Update
Officially I ran my best 5K to date. I finished in 19:41 averaging 6:20
per mile.
It was a rather hilly course, starting at 173rd and running up to the
Cloisters. After circling the museum, the same route was taken back to
173rd.
On Saturday I said I was going to PR. I was told that was a bit a of a
lofty goal given how hilly the course was. Sunday morning I woke up with
a bit of discomfort after gorging on sushi the night before and thought
I might not do well.
As I stood in the corral, those feelings changed. I knew I was going to
PR. And I did.
WTF?
I'm used to guitarists mocking the bass and bassists. It doesn't bother me
too much. But this... This irritated me. A lot.
Today at work there was a group of people talking about Rock Band and
Guitar Hero 3. None of them actually know how to play
intstruments but they claim to be great at these games. They seem to
believe this entitles them mock bassists.
"Oh man, bass is so easy. It's the guitar that's the hard part. Yeah,
I'm on expert on the guitar."
"Yeah, bass is so stupid."
"So It's me, my brother, and my sister. I play guitar, he's on
drums, and my sister sings."
"what about bass?"
"My friend just got Guitar Hero 3. I'll make him play bass."
[Both laugh]
After making statements indicating this person believes he actually
is better than Tom Morello, "After you make Tom Morello or Slash your
bitch, they play bass for you."
chdir(2)
So today at work another developer many years my senior, with many more years
experience than I, came to me with a Unixy problem.
"When I have a program, how can I have it so the current working directory
for all processes it starts isn't the one that it started in?"
"chdir."
"No, I want so that if this process starts something like ls, when ls stats
'dot' I want 'dot' to be the directory that process wants it to be, not the
directory that process was started from."
After about 15 minutes of me suggesting chdir while he said that's not what
he wanted but then describing chdir, I finally wrote something along the lines
of the following
Alpha
Due to the power failure, there was the loss of several hours of work.
Last night I installed FreeBSD 6.2-RELEASE on an old DEC AlphaStation
200 I have. I had started building a new, smaller kernel for it around
23:30 last night. It had not completed by the time of the power outage.
I have restarted that build.
Any one reading this would reasonably ask, "Why are you not as
confused/angry/annoyed with a compile that was not finished in 7 hours
as you were about one that took 3 hours?"
The answer is simple. This AlphaStation is powered by a 100MHz DEC Alpha
EV4 CPU and has 64MB of RAM. To the best of my knowledge, DEC made this
machine around 1994 or 1995. I expected the build to take a long time;
the machine is around a dozen years old.
How long does it take to build a linux kernel?
It has been a number of years since I built a linux kernel. Slackware
9.1 was the last GNU/Linux distro I used before switching back to BSD.
Tonight I put together a machine from some old parts (1.2GHz celeron
with 256KB cache, 256MB RAM, 20GB hard drive) and installed Slackware
12.
I customized a kernel configuration and attempted to build it. I don't
remember the 2.4 kernel taking as long to build as this 2.6 kernel. It
took nearly two hours. Granted, this machine is fairly old, but 2 hours?
After I complete the tasks for which I needed this setup, I'm going to
install an older Slackware with the 2.4 kernel and build that. I may
also install FreeBSD and NetBSD and build their kernels. I'd like to get
an idea how long it takes to compile other kernels on this rig.
FreeBSD 6.4 EoL
As of yesterday, FreeBSD 6.4, and with it the entire 6.x branch, has
reached its End-of-Life. It's time to upgrade (or maybe upgrayedd, for a
double dose of something-or-other).
So herein lies the problems. Months (years?) ago, I attempted to upgrade
tak to FreeBSD 7.2. I plugged in a SATA disk into my workstation,
installed the OS, reconfigured all the daemons, services, and
functionalities tak has running, copied over a snapshot of all the data,
and then edited the fstab to match the device names as they'd exist on
tak.
I removed the IDE root disk and installed the new SATA disk and tak and
watched the kernel fail to find the root disk. Or the other SATA disk in
tak.
Based on the bug reports in the FreeBSD Gnats system, and various
conversations in the mailing list, it seems Asus, who made the
motherboard in tak, used a slightly non-standard SATA implementation on
this particular board. Between the 6.x and 7.x line, some work had been
done on the SATA drivers in FreeBSD and mad them more
standards-compliant (a good thing). This, however, broke SATA on this
Asus board.
Tak is about 6 years old now, and other than some over heating issues,
serves its purpose well. So do upgrade to FreeBSD 8.x on an IDE disk and
replace the other SATA disk with another ATA disk, or do I build a new,
lower-power, higher-performance system?
If anyone actually reads this, feel free to use the new comments feature
to give me feedback. I think it's working.
Fifth Avenue Mile
The results are in. I did the mile in 5:34, three seconds faster than I
had ever done in training. One mile down, 18 more to go tomorrow
morning.
A Weekend at the Races
Tomorrow is the Fifth Avenue Mile and Sunday is the Marathon Tune-Up.
I'm looking forward to both. If all goes well, I should be done with
tomorrow's race in under six minutes. Sunday's race I'm aiming for a
time between 135 and 140 minutes. We'll see what happens...
Product Review: ASICS Cumulus-10
This is the second installment of my running product reviews. Last time
I said I'd discuss my "current running shoe" but my training has turned
me into a liar. I'm still going to discuss the ASICS Cumulus-10, but it
is no longer my current running shoe.
At this point, the Cumulus-10 can still be found, although supplies are
limited. I recently tried to purchase a second pair of these and was
unable to find them in my size. I could have had a 9.5 or a 12, but not
the 10.5 I needed.
When the Nike Tailwinds no longer provided adequate cushioning, I had to
find a new shoe, one that would work for a lighter runner. After reading
reviews online and in magazines, particularly Runner's World, I went
over to Fleet Feet in Montclair and talked to the sales staff there.
After trying on a few pairs, I decided on the Cumulus-10 but wanted to
wait until after the Brooklyn Half Marathon, a week away, before
breaking in new shoes. This is not what happened. Because of the lack of
cushioning in the Tailwinds, I ended up with horrible shin splints
during my lunch time run the day before Brooklyn. I called up fleet
feet, asked them to hold a pair of the Cumulus-10s for me and I picked
them up that evening. I ran in them for the first time the next morning
in the Brooklyn Half.
Those shoes were amazing. They were soft enough to provide the
compression needed for good cushioning at my weight. And while they were
soft, they weren't mushy either. The ASICS GEL cushioning system is in
place in both the heel and the forefoot, providing ample shock
absorption for heel strikes and mid- to fore-foot strikes.
The toe box was slightly narrow, but starting the laces one hole up from
the bottom provided enough extra space while keeping my foot firmly in
place.
The sole in the forefoot is wide; wider than the sole in the Tailwinds.
This provides support for the foot during the toe-off portion of the
stride.
The Cumulus-10 served me well until I had put just under 600 miles
on them. At that point the cushioning was worn down and not as
effective as it once was. I retired them about a week after the NYC Half
Marathon in August giving me about 12 weeks worth of running. In
actuality, I should have retired them after about 10 weeks.
I recommend the ASICS Cumulus-10 for lighter runners with normal to low
arches. Left over stock of the Cumulus-10 can be found at EastBay's
website for $69.99 (both men's and women's), although many sizes are
unavailable at this time.
Next time, we'll discuss my current running shoe, the ASICS Cumulus-11.
I've been slacking a bit so I only have about 250 miles on this pair so
far. Hopefully I'll post the review before I hit 500 miles and retire
these.
The Biggest Loser
Last night was supposed to be my night off. My IT-band and my hamstring
in my left leg have been tight the last few days so I spent some time
stretching, but that was to be the extent of my workout.
I started watching the season premier of The Biggest Loser.
After about a half hour of that, I felt "motivated" and I spent an hour
core training. Watching those contestants at such an early stage of
the game made me remember what I have accomplished, how hard I worked
for it, and that it will be a never ending battle.
Sure I'm running 50 to 60 miles a week now. Sure I'm spending hours
weight lifting and core training every week. I've taken my BMI from 36.5
to 20.0, and now begins the next phase, keeping the weight off. I can't
become complacent. If I do, I will have lost.
TBMChicago TBMChicago has some live footage
of The Birthday Massacre as well as galleries of photographs taken
during performances and after shows hanging out with fans.
I'm a little shocked that it's taken me this long to find this site. But
then again, I'm usually out of the loop on things so maybe it shouldn't
be too surprising.
I'm waiting for the DVD release of Show and Tell. I haven't found
a release date yet, but I could just be out of the loop yet again.
2010 New Jersey Marathon
I was registered for today's NJ Marathon in Long Branch. I lost a few
weeks in training due to some IT-band issues, and earlier this week was
stricken with a bout of bronchitis.
I got down there today, and 30 minutes before the race start I did a
quick quarter mile and decided I wasn't over the bronchitis enough to
run a marathon today. It was difficult for me to be there as the race
started, watching my chance at reaching my goals disappear. As the
morning went on and clouds disappeared and the temperature rose, my
thoughts changed.
Not running today was probably the best and hardest decision I've made
in a while. Often the right choices in life are not the easiest to
choose, no matter the circumstances.
Yet Another Charity 5K
On August 4th I will be participating in Hoboken's 17th Annual 5K
Run/Walk Against Crime & Drugs.
Some police officers told me about the run on Tuesday after I finished
the Party With Purpose run. They said the money raised would be donated
to various Veterans' organizations.
This run in August will be the same course as this week's, a map of
which can be found here. I
enjoyed the course. It was rather flat (especially compared to the
Lincoln Tunnel Run) and there was a nice breeze coming off the Hudson.
I urge any and all of you who will be in the area to participate in the
event. More information can be found at Active.com.
5K Run for Charity
I have entered a 5K run sponsored by Party With Purpose. The run is
tonight in Hoboken and all donations are going to the Hoboken Boys and
Girls Club.
Registration starts at 5:30PM and the run begins at 7:00PM on Pier A.
For more information, including info about making donations, please
visit www.partywithpurpose.org.
Ninth Runniversary
Yesterday was my ninth runniversary. Like my first day running, I ran on
the treadmill while listening to Broken. Unlike the first time, I only
listened to it once, and covered 4.48 miles during the duration of the
EP, thanking God every step of the way.
I'm confident in knowing that the bone in my ankle has healed completely
now; however, I'm still rebuilding the muscle in that ankle and the rest
of that leg. There was significant atrophy during the early phases of
recovery. Slowly as it may be, I am making progress, and I am thankful
for that.
Time Travel?
A few months ago I happened to snap a photo of the DeLorean on Main
Street in Boonton near the Darress Theatre. It's probably one of my
favorite photographs of the car and certainly one of the best I've ever
taken.
The theatre was built in 1919 and has remained largely unchanged since
then. A lot of Boonton still has a very old "look and feel" to it, and
this section of Main Street served as a perfect backdrop for the
DeLorean.
Christmas Eve
On Christmas Eve, I headed out around 7:00PM to take a look at the
Christmas lights and decorations around town. There was a snow storm
predicted for around 9:00PM, so I decided to take the DeLorean out for
one last drive before the Wonderful Winter Weather(TM).
The snow started much earlier than expected. The snow was light and
slow, and despite the car not handling well in slick conditions, I kept
going for a while.
As I was driving I had the realization that I was having an experience
no one else in the world has ever had. I was driving a DeLorean through
my town on Christmas Eve, admiring Christmas lights and listening to
Christmas music as snow fell.
I looked over at the empty passenger seat and wished there had been
someone, anyone there to share this with. So for now, until
circumstances like this arise again, I will continue to be the only
person to have experienced this.
I'm starting to get used to celebrating my birthday at TBM concerts.
This year it was about a week prior to my birthday at a show on December
1 held at New York's Gramercy Theatre.
Along with the tickets, I had also purchased the "VIP package." This
package included an autographed poster signed by all members of the
band, a "VIP" laminate on a lanyard, and... the opportunity to meet the
band prior to the show!
You may be thinking, "But they stick around after shows and mingle with
their fans anyway," and "You've already met them a few times!" Both are
true. And even with this "VIP" package meet-and-greet, they still make
time for all their fans after the show. What this provided was a
somewhat quieter meeting in a more intimate setting.
In fact the meeting was in a small lounge beneath the concert hall. Dim
mood lighting, mirrors, and couches set the atmosphere. I spoke with
Rainbow, Michael, and Nate first. Rainbow informed me his name was
Michael also and made a joke about the "power of the three Mikes
lighting the room." After a bit, they started moving me to Chibi who was
sitting on a couch after injuring her knee during a show two nights
prior. She tried to walk to me, but I told her not to. She said, "I'll
meet you half way then."
I gave her a get well card, knowing she had had surgery on her vocal
chords about 8 weeks prior and recently injured her knee. Someone
decided we needed a photo of that and she gave me the card back so I
could give it back to her. I believe it was Owen who said, "Act natural
and hold it for 30 seconds!"
I asked Rainbow about writing "Unfamiliar" because both he and OE were
given credit in the liner notes. He said it was mostly OE; OE started it
and Rainbow had finished it. I said I wanted to thank them because it
was a song that had taken on some greater meaning to me and I relayed a
brief version of the story of the moment I recognized that. It turns
out "Unfamiliar" is one of Chibi's favorite songs too.
Every one of the bands that night were amazing. All, remarkably, were
performing as duos. Creature Feature was a real fun band to see. Their
music is heavily influenced by old horror movies which gives them a
dark yet fun sound.
Aesthetic Perfection put on a good performance. Their drummer is
amazing and fun to watch. They heavily synth-based and while there was a
dark tone to most of their songs, they still had fun and lightened
things up with a Fine Young Cannibals cover.
William Control was the only other act I had heard before the show
(Thanks Last.fm!). He was great live and I'd love to see him again. He
reminded me a little of Dommin in that Dean Martin meets Glen Danzig
sort of way.
The Birthday Massacre was great. They played a good mix including songs
from every album. For most of the set Chibi was sitting on a speaker
placed near center at the front of the stage, wearing a knee brace. She
stood up and moved around occasionally, but not much. At one point
Rainbow sat down on another speaker and stuck out one leg in a similar
fashion to how Chibi was seated and laughed a little. It was easy to
tell by their interaction here that Chibi and Rainbow are close.
If you care (or even if you don't), their set list follows:
Night Shift
Down
Control
Always
Red Stars
Video kid
Lover's End
Forever
Pins and Needles
Happy Birthday
Alibis
Calling
In the Dark
Sleep Walking
Midnight
-- Encore --
Leaving Tonight
The Long Way Home
Blue
The band did not leave the stage prior to the encore as they normally
would. Chibi said, "This is the part of the show where we say thank you
and leave and you clap and we come back out and play some more. But I'm
not going to walk down those stairs anymore than I have to, so do you
want to hear three more songs?"
I'm starting to get used to celebrating my birthday at TBM concerts.
This year it was about a week prior to my birthday at a show on December
1 held at New York's Gramercy Theatre.
Along with the tickets, I had also purchased the "VIP package." This
package included an autographed poster signed by all members of the
band, a "VIP" laminate on a lanyard, and... the opportunity to meet the
band prior to the show!
You may be thinking, "But they stick around after shows and mingle with
their fans anyway," and "You've already met them a few times!" Both are
true. And even with this "VIP" package meet-and-greet, they still make
time for all their fans after the show. What this provided was a
somewhat quieter meeting in a more intimate setting.
In fact the meeting was in a small lounge beneath the concert hall. Dim
mood lighting, mirrors, and couches set the atmosphere. I spoke with
Rainbow, Michael, and Nate first. Rainbow informed me his name was
Michael also and made a joke about the "power of the three Mikes
lighting the room." After a bit, they started moving me to Chibi who was
sitting on a couch after injuring her knee during a show two nights
prior. She tried to walk to me, but I told her not to. She said, "I'll
meet you half way then."
I gave her a get well card, knowing she had had surgery on her vocal
chords about 8 weeks prior and recently injured her knee. Someone
decided we needed a photo of that and she gave me the card back so I
could give it back to her. I believe it was Owen who said, "Act natural
and hold it for 30 seconds!"
I asked Rainbow about writing "Unfamiliar" because both he and OE were
given credit in the liner notes. He said it was mostly OE; OE started it
and Rainbow had finished it. I said I wanted to thank them because it
was a song that had taken on some greater meaning to me and I relayed a
brief version of the story of the moment I recognized that. It turns
out "Unfamiliar" is one of Chibi's favorite songs too.
Every one of the bands that night were amazing. All, remarkably, were
performing as duos. Creature Feature was a real fun band to see. Their
music is heavily influenced by old horror movies which gives them a
dark yet fun sound.
Aesthetic Perfection put on a good performance. Their drummer is
amazing and fun to watch. They heavily synth-based and while there was a
dark tone to most of their songs, they still had fun and lightened
things up with a Fine Young Cannibals cover.
William Control was the only other act I had heard before the show
(Thanks Last.fm!). He was great live and I'd love to see him again. He
reminded me a little of Dommin in that Dean Martin meets Glen Danzig
sort of way.
The Birthday Massacre was great. They played a good mix including songs
from every album. For most of the set Chibi was sitting on a speaker
placed near center at the front of the stage, wearing a knee brace. She
stood up and moved around occasionally, but not much. At one point
Rainbow sat down on another speaker and stuck out one leg in a similar
fashion to how Chibi was seated and laughed a little. It was easy to
tell by their interaction here that Chibi and Rainbow are close.
If you care (or even if you don't), their set list follows:
Night Shift
Down
Control
Always
Red Stars
Video kid
Lover's End
Forever
Pins and Needles
Happy Birthday
Alibis
Calling
In the Dark
Sleep Walking
Midnight
-- Encore --
Leaving Tonight
The Long Way Home
Blue
The band did not leave the stage prior to the encore as they normally
would. Chibi said, "This is the part of the show where we say thank you
and leave and you clap and we come back out and play some more. But I'm
not going to walk down those stairs anymore than I have to, so do you
want to hear three more songs?"
Looking back...
As I look back at code I wrote a decade ago as an undergrad, I often
find lots of little things that can be done better. For instance, in one
file I found that reversing the order in which two functions were called
would have eliminated a half dozen conditionals from one of the
functions and would have resulted in the same expected behavior, but
with fewer lines of code and a lower cyclomatic complexity.
I was a little disappointed in the way the guy from the running store
responded. He struck me as the kind of guy that looks down on the
back-of-the-pack plodders. They're out there doing their best just like
the elites and everyone in between; they deserve respect too.
Other than that, it was a rather funny phone scam; one of the best I've
heard in a while.
I wasn't born this way; I made myself.
I heard that Lady Gaga song on the radio the other day, you know the
one that sounds like the Madonna song, and it got me thinking. On the
surface it seems to contain a very positive message about accepting
yourself because you were "Born This Way." You were born like this, you
were made this way, there's nothing you can do about it so be happy with
it.
I disagree. Sure, when we're born we're stuck with the genetic
material passed on to us by our lineage. But we're more than that, what
we are, what we become, is so much more than how we were born. And this
made me think about the Incubus song, "Make Yourself." I find the
message of that song to be much more positive. While the song has an
overt "them vs. you" context, the general theme is one of taking
responsibility for yourself and what you become.
Was I born the way I am today? Judging from the direction my life took
in the first twenty-six years, and comparing it to the last three years,
the answer is no. I was born heavy, weighing in over nine pounds. I grew
into a heavy kid. I was always sad and lonely as a kid. I had few
friends. I rarely went outside. I never played sports. I watched a lot
of TV. I ate a lot. I got heavier. I got sadder. I got lonelier. But I
was born this way, right? I should have just accepted it, right?
While I was born heavy, I didn't have to stay that way. It was my own
choices that made me into the depressed, obese misanthrope I was.
Despite my claims that I was born that way, genetically predisposed to
those conditions, I really made myself that way.
And then I decided to change that. I took responsibility for my life. I
started exercising. I ran. I ate healthier. I lost weight. I had better
relationships with my friends. I started making new friends. I became
happier.
Just as I had made myself into what I was, I made myself into what I am
today. The key to this change was taking personal responsibility for
myself. No longer did I use the excuse of being born that way. I knew I
was like that because of my decisions and my actions. I knew through my
decisions and my actions I could change. And I did. I made myself.
"If you really want to live, why not try and make yourself?"
Windows 8.1 in Virtual Box
I was attempting to run the Windows 8.1 Preview in a VM using
Sun's Oracle's Virtual Box on a Windows 7
host. I ran into a minor problem.
The OS wouldn't boot. I received an error stating:
Your computer needs to restart.
Please hold down the power button.
Error Code: 0x000000C4
Parameters:
[redacted]
Looking for the error code online led me to this
article describing the issue and a fix. The key to fixing this was
running the command:
Excluding directories while using pax(1)
My primary disk is failing. There are large segments that are generating
low level IO errors during read or write operations. Most of the files
written to the bad area were under /usr/ports/ where the FreeBSD Ports
collection is installed. A few files were under the web server's root.
Figuring I'd take care of things prior to the disk actually failing to
the point of it being irrecoverable, I purchased a new disk early. I
installed it, partitioned it, and formatted it.
To copy the data over, ignoring the areas that were causing the IO
errors, I used mv to "move" the files from the web root under /usr/ports
and used the following command as root:
The -X prevents pax from traversing into mount points that have a
different device ID than the one on which it was started. This prevents
an infinitely recursive loop from happening when the new disk's mount
point would have been hit. It also prevents data on the non-failing
disks from being copied as well.
the -s option allows for sed search and replace scripts to be run. In
this example, the : is used as the delimiter and any path matching
/usr/ports/* is replaced by a null string. With this replacement all
directories under /usr/ports are excluded from the copy.
Senator Elbert Guillory Elbert Guillory, a state
senator in Louisiana, has switched his party affiliation from Democrat
to Republican. This website
has a short commentary on the matter, as well as an embedded video of
Senator Guillory explaining his decision.
Prince
I'll never forget the day I started liking Prince's music. I was with my
friend in his car headed somewhere. We were listening to K-Rock and they
had a "listener playlist" where for about an hour, all the music had
been selected by a listener and this listener was on the phone, talking
with the DJ about his selections and introducing songs.
The guy announced that the next song was from Prince. The DJ questioned
this selection and he said, "No, this dude can shred. Just listen."
It's been a while...
It's been a while since I've had a substantial update here. I've been
busy living life leaving little time to be writing about it; at least
writing about it here.
Work has been quite busy for a while now. Lots of projects, lots of
deadlines, lots of extra hours. But there hasn't been any "mandatory
seven day work weeks" like I had at that one job, and there isn't that
expectation of "you can work from home so you are always expected to be
working" I had at the last job. Plus, the work is a lot more interesting
than anything I've done in years.
Bernstein was right: money doesn't motivate me, interesting problems and
the ability to tinker do.
Yesterday the DeLorean rolled over to 16,000 miles. That's still about
1,000 miles a year I'm putting on it. I'd like to keep the mileage low,
but she's just so much fun to drive. I've been asked by people at work
to bring Aisling next week for Bring Your Child to Work Day. Apparently
a lot of my co-workers have told their kids about the car and they want
to see it.
I ran my 29th half-marathon this past weekend. I'd like to get up to 32
this year. I'm also signed up for my 13th marathon this Autumn. I'm
considering running number 14 a few weeks later.
In addition to all of that taking up my time, I've also been
volunteering with the Youth Ministry at a church in my diocese. That's
been quite an amazing adventure. It's had a profound impact on my life
and has certainly helped at least a few teens. It's been an honor to do
the Lord's work. Maybe someday I'll publish some of the talks I've
given. The In His Image talk seems to have resonated with a lot
of people, certainly more so than some of the other talks.
It's been a while...
I haven't updated this blog in quite some time. A lot has happened since
the last post.
First and foremost, I spent about two months volunteering as the Cross
Country team's coach for the local Middle School. Due to budget cuts,
all athletics programs were cut. The local Police Athletic League
stepped up and volunteered to take over the programs. Many of the
teachers who have coached in previous years did not want to do so now,
so the PAL went looking for volunteers within the community.
A friend of mine with whom I train put me in contact with the PAL and
after an application and vetting process, I became a Rutgers
Certified coach and began my duties.
The team was relatively small, seventeen boys and six girls. Having
never really worked with kids before, I was glad that this year's team
was half the size of last year's; however I was still apprehensive about
working twenty-three middle-schoolers. Thankfully, several parents
helped me throughout the season. One in particular was there with me for
almost every practice and every meet.
I tried to emulate the aspects of my middle and high school coaches that
I thought worked, and tried different approaches in an attempt to avoid
the aspects I had never liked. I wanted to motivate and inspire these
kids.
I told them about my history as a runner: my experience in 8th, 9th, and
10th grade, my first 53-minute 5K on the treadmill in March of 2008, my
marathons, my personal records, and my improvements over the last two
years. I told them I would never make them do any thing I wouldn't do
myself in training. And I ran with them. Whether the day's training was
100 and 200 meter repeats, running the course, "time on feet" running,
or fartlek's, I ran along side them.
During one session I was catching up to the lead group, the fastest of
the 7th and 8th graders, and asked, "Are you really going to let an old
man with bruised ribs keep up with you?" One of them turned and said,
without breaking pace, "You're not that old and you run marathons."
During the Cross Country season, in the last six weeks or so I've run a
few races and set a few PRs. On September 19, I ran the Marathon Tune-Up
18 mile in Central Park. I set a new 18-mile PR at 2:27:34, taking 18:56
off my time from last year. Also of note, I didn't end up in medical
being treated for hypothermia this year.
The following week I ran the 5th Ave Mile. I shaved 9 seconds off from
last year's race and 3 seconds off my previous best in training. My new
mile PR is 5:25.
About 2 weeks later I ran the Hartford Marathon. My friend and I got
there very late the night before the race. Because we were stuck in
traffic for about four and a half hours, my friend missed the on-site
registration. He debated what to do while we went to dinner at a local
tavern. I promptly felt sick after eating.
The next morning we got and got ready to run. I still felt sick from the
night before and threw up the previous night's meal shortly before we
went to the registration packet pickup. I got my bib and timing chip and
my friend failed to convince the race officials to let him enter. When
he asked, "can I run unsanctioned?" the response of the somewhat
sympathetic official was, "I can't tell you that you can." So my friend
decided to run unsanctioned. After all, no one said he couldn't.
We lined up in the corral. Despite the way I felt, I knew I had to go
out there and run my best marathon. I had told the Cross Country team
what Prefontaine had said, "To give anything less than your best is to
sacrifice the gift." I had to go out there and try to PR. But as Yoda
said, "Do or do not; there is no try."
I started the race keeping the 3:45 pace group in my sights. My friend
kept along side me for the first three miles then fell back a bit. I had
some conversations with two runners in the pace group, Gavasker, the
pacer, and Jen, a woman who was looking to BQ. I kept with them the
whole way and finished in 3:43:32.
Unbeknownst to me at the time, my friend dropped out at mile 8 and made
his way back to the start/finish area. He was there at the finish line,
waiting for me as I crossed the line just ahead of Jen who BQ'd with 2
minutes to spare.
The next morning I went out with some other friends and ended up running
another 24 miles putting me at 50 miles for the weekend. Monday evening
I ran in a charity 5K with another friend, and then took a few days off.
Since then, the Cross Country season has ended. They had their last
meet, a few more days of practice, and then this past Wednesday they had
team photos followed by an end-of-season pizza party.
At the party the kids presented me with a plaque to say "thank you." I
damn near cried when I unwrapped it and saw the photo taken at one of
our practices. But if anyone asks, I'll deny that part.
The 6th and 7th graders also asked me to come back and coach next year.
During and since the season, I've run across some of the kids in town.
Every time, they come up to me and say, "Hey coach!" And that means the
world to me. It makes me think I've succeeded, that there's a
possibility I've inspired them to keep running. Hopefully they'll love
running as much as I do, if not more.
I've encouraged the kids to enter our town's annual 5K next weekend and
several of them have signed up. I'm looking forward to running with them
again.
Eponymous
http://www.skinnymf.com/~mforde/blog/index.pl
My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean ownerenBlosxom 2.2.0
http://www.skinnymf.com/~mforde/blog/index.pl/2024/08/31#blosxom_update
Apparently Blosxom development has been picked up again. There was a new release on 2024-02-03. Nice!1702672835
http://www.skinnymf.com/~mforde/blog/index.pl/2023/12/15#1702672835
---boundaryRMS123
Content-ID:<0000>
Content-Type:text/html
Content-Disposition:inline
Content-Transfer-Encoding:base64
http://www.skinnymf.com/~mforde/blog/index.pl/2022/10/07#20221007
I'm looking California and feeling Minnesota
Fireside Chat
http://www.skinnymf.com/~mforde/blog/index.pl/2021/12/29#fireside
Tonight I signed up for the Fireside beta. They asked for all my social
media accounts to prove I'm a human. The problem is, I don't have a
twitter account, a facebook account, instagram, etc. Years ago I took
the advice of numerous psychology studies and my own therapist's advice
and got off the social media platforms. It was one of the best things
I've ever done for my mental health.
So hopefully this blog, though infrequently updated (and slightly broken
since the last major perl update), will serve as proof to the people at
Fireside that I am human and not a bot.
It was the Astonishing
Legends Podcast that led me to Fireside. It would be nice to use it
for one of their interactive live chats sometime.
Bill Gates is Satan's Minion
http://www.skinnymf.com/~mforde/blog/index.pl/2020/05/07#satan
Bill Gates was Satan's minion, is Satan's minion, and always will be
Satan's minion.
Tenth Runniversary
http://www.skinnymf.com/~mforde/blog/index.pl/2018/03/13#runniversary10
Today is my tenth runniversary. It's been a decade since I first stepped
on that treadmill. Like my first day running, I ran on
the treadmill while listening to br\oken.
I've had some set backs in my recovery. Not properly rehabilitating the
atrophy in the left leg has caused some problems with the muscles around
my hip. Listening to my trainer only made it worse.
But now I'm taking care of it properly.
Like that first day ten years ago, I have a goal I am working toward.
This time it is the Dublin Marathon in October. This will be marathon
number 13. I don't expect to PR. I think 10 minute miles are a much more
reasonable goal at this point, but frankly I'll be happy just to cross
that finish line.
It's been a long, hard road out of Hell, but God has been by my side and
put some amazing people in my life to help me along the way.
I have to thank the Giraffes for today. I have to thank the Giraffes for
much of my life this last decade. I was heading for an early grave, and
they changed that. Giraffes, I thank you from the bottom of my heart and
I look forward to running the LTC and many other races with you in the
next decade.
Take back your privacy
http://www.skinnymf.com/~mforde/blog/index.pl/2018/03/12#takebackyourprivacy
Recent surveys have found that 76% of [the most visited] websites in the
world cotain trackers from google and 24% contain trackers from
facebook. This has been reported by CNBC,
PC
World, The
Verge, Fortune,
and Breitbart.
Almost anywhere you go on the internet, they are following you, building
a profile on you, and selling that information, your information,
to the highest bidder. Even if you don't have a user account for google
or facebook "services," they've built a profile of you using this
surreptitiously collected data.
It turns out there are some steps one can take to prevent these
companies from following you wherever you go. It's not perfect, but it
helps a lot. First, don't use Chrome. Second, install ad-blocker plugins
for your browser. Third, use your firewall.
It turns out Google and Facebook are large enough that they have their
own Autonomous Systems (AS) composed of numerous subnets. Google owns AS
15169, while Facebook owns AS 32934. Using a little bit of shell, it's
relatively easy to look up all the subnets owned by these companies.
That's a lot of subnets. Because I have different operating systems on
different computers and still want to block traffic to and from
all those IP addresses, I've written some simple scripts to add
rules to various firewalls. I have scripts for IPFW on FreeBSD, IPTables on Linux, and the Windows Firewall that should work from XP SP3
through Windows 10. I've only tested it on Windows 7 and Windows 10, and
it worked in those.
All of these scripts can be found in this
directory. The IPFW and IPTables scripts are self-contained. For the
Windows command shell batch files, the *ips.txt files are also needed.
I have to say, the internet looks very different with these firewall
rules in place. There are noticeably fewer advertisements and pages load
faster. Embedded YouTube videos and Instagram photos don't appear.
Sometimes the frame disappears, sometimes you get a "failed to connect"
page appearing in a frame in the middle of a page. (Yes, these rules
block YouTube and Instagram; they are owned by google and facebook and
reside in the subnets owned by those companies.) On a relatively rare
occasion, I come across a site using some sort of javascript or css or
something hosted by a machine in one of those ASs and that will be
blocked. Sometimes the site handles that gracefully, sometimes it stops
being functional. A small price to take back your life.
Update: Twitter has trackers on a decent amount of sites out there too,
so I've added scripts to block Twitter's AS 13414 as well. Those scripts
are in the same directories as the others.
St Michael, defend us in battle
http://www.skinnymf.com/~mforde/blog/index.pl/2017/10/17#defendusinbattle
Crisis
Magazine has a great piece about St Michael and the ongoing
spiritual warfare in the world.
New PGP Key!
http://www.skinnymf.com/~mforde/blog/index.pl/2017/10/12#pgpkey
So apparently Evil32 happened.
Approximately 24,000 PGP keys were generated that had collisions with
the 32-bit short IDs of existing keys. Then someone decided to use those
conflicting keys to generate revocation certificates and upload them to
the keyservers. Joy.
Though my old keys still work, they were affected by this mass
revocation of collsions. I have created a new key which can be found at
http://skinnymf.com/~mforde/mforde.asc.
On a related note, if anyone is interested in Key Signing Party, shoot
me an email. I haven't been to one of those since college.
Time Travel?
http://www.skinnymf.com/~mforde/blog/index.pl/2017/09/30#oldtimey
A few months ago I happened to snap a photo of the DeLorean on Main
Street in Boonton near the Darress Theatre. It's probably one of my
favorite photographs of the car and certainly one of the best I've ever
taken.
The theatre was built in 1919 and has remained largely unchanged since
then. A lot of Boonton still has a very old "look and feel" to it, and
this section of Main Street served as a perfect backdrop for the
DeLorean.
How to Drive a Classic Rolls-Royce, or a DeLorean, Any Time You Want
http://www.skinnymf.com/~mforde/blog/index.pl/2017/08/24#howtodrive
Bloomberg has posted an article entitled
How to Drive a Classic Rolls-Royce, or a DeLorean, Any Time You
Want. It's really quite simple, actually. You take your keys, go
out the the garage, and you drive the DeLorean any time you want.
This ends tonight...
http://www.skinnymf.com/~mforde/blog/index.pl/2017/08/16#theend
Sometimes...
http://www.skinnymf.com/~mforde/blog/index.pl/2017/08/16#sometimes
Sometimes it's dificult to find a reason to continue.
Ninth Runniversary
http://www.skinnymf.com/~mforde/blog/index.pl/2017/03/14#runniversary9
Yesterday was my ninth runniversary. Like my first day running, I ran on
the treadmill while listening to Broken. Unlike the first time, I only
listened to it once, and covered 4.48 miles during the duration of the
EP, thanking God every step of the way.
I'm confident in knowing that the bone in my ankle has healed completely
now; however, I'm still rebuilding the muscle in that ankle and the rest
of that leg. There was significant atrophy during the early phases of
recovery. Slowly as it may be, I am making progress, and I am thankful
for that.
Merry Christmas
http://www.skinnymf.com/~mforde/blog/index.pl/2016/12/24#holidays_
While the holidays are supposed to be a joyous time, I know and
understand how hard they can be for some people. If you're having a
rough time over the next week or so and need someone to talk to, feel
free to message me. If you're reading this blog, you likely know my
email address or phone number.
Aisling at 35
http://www.skinnymf.com/~mforde/blog/index.pl/2016/10/28#aislingat35
She's still looking good at 35....
Happy Birthday Aisling!!!!
http://www.skinnymf.com/~mforde/blog/index.pl/2016/10/02#happybirthday
My DeLorean, #5333, was built in October of 1981. This month, the car
will be 35 years old and she looks and handles like the day she came off
the assembly line.
Don't Call it a Comeback
http://www.skinnymf.com/~mforde/blog/index.pl/2016/09/26#mamasaidknockyouout
On June fourth, I was running in the Tourne on a trail I first ran
twenty years ago, a trail I've run hundreds if not thousands of times
before. On that morning, my foot came down on a wet rock at just the
wrong angle, slipped just enough and I rolled my ankle. Not only did I
roll the joint, I came down on it with enough force to break it; a fact
I would learn when I final saw a doctor about it on June ninth.
No surgery was required, but I was unable to run for three months. I was
finally cleared to run. The plan was to start with short distances,
about a quarter mile, on a rubberized track then build up from there,
moving on to treadmills and eventually roads and trails. I was
instructed to spend six months rebuilding my 60 mile per week base.
On the morning of September 11 (a day I will never forget and a morning
that will always make me feel a bit uneasy), I took to the track for the
first time. I started by walking a mile. As I finished the fourth lap, I
said a prayer, asking God to give me the run I needed and the wisdom to
know when to stop. I queued up my playlist: AC\DC's "Back in Black" and
LL Cool J's "Mama Said Knock You Out." I took my first stride.
I've been progressing well in the last two weeks; pushing it on some
days, resting when necessary. Though the short, slow distances have been
frustrating, it feel good to be running again. Every stride I take I'm
reminded of everything I love about the sport.
It's good to be back.
Fun Conversations
http://www.skinnymf.com/~mforde/blog/index.pl/2016/09/18#insuranceagent
The DeLorean often leads to conversations one wouldn't normally expect.
Case in point: today I had to call my auto insurance provider for an
issue with my daily driver. After taking some info to pull up my account
the conversation went something like this:
Agent: Which car is this?
Me: The Pontiac.
Agent: Am I reading this right?
Me: Reading what?
Agent: I'm sorry, do you have a DeLorean?
Me: Yes.
Agent: I never thought I'd see someone with a policy on a DeLorean.
Me: Well, you've insured both of mine...
Agent: You've had two DeLoreans?
Me: Yes.
At that point there were a few more questions and then we got back to
the issue which my phone call had been about originally.
An Observation
http://www.skinnymf.com/~mforde/blog/index.pl/2016/08/24#observation
There is something satisfying about driving in a DeLorean while
listening to The Clash's Live: From Here to Eternity.
What Year is This?!
http://www.skinnymf.com/~mforde/blog/index.pl/2016/08/13#whatyearisthis
So this was my Saturday night....
He's Not Wrong...
http://www.skinnymf.com/~mforde/blog/index.pl/2016/08/09#hesnotwrong
Over at Net Meister there's a
nice peice entitled Things
They Don't Teach You in School". A lot of what Jan has to say is
spot-on observation and good advice.
It's definitely worth a read.
Trouble opening aterm in FreeBSD?
http://www.skinnymf.com/~mforde/blog/index.pl/2016/07/20#aterm
Here's a soltuion!
https://forums.freebsd.org/threads/44941/ X11 Mouse Cursor Themes
http://www.skinnymf.com/~mforde/blog/index.pl/2016/07/08#mousecursor
Starting after installimg the binary nvidia drivers on both my laptop
(Quadro K1100M) and my workstation (GeForce GT 630) Blackbox was
defaulting to a mouse cursor that was suboptimal, a black, notched
triangle.
The settings in the Xresources for the mouse cursor theme are honored by
XDM at the graphical log in, but when Blackbox or Fluxbox start, the
cursor would change to the black notched triangle. TWM honors the
settings in Xresources, but TWM is just a little too minimalist, even for
me.
But there's a simple fix!
Create a file in your home directory (if it doesn't already exist)
.icons/default/index.theme. In this file, add the following lines:
[Icon Theme]
Inherits = polarblue
where polarblue is the name of the X11 mouse cursor theme you wish to
use. FreeBSD installs many of the X11 cursor sets into
/usr/local/lib/X11/icons/, your Unix flavor may be different. In theory,
you can also install new themes of your choosing into ~/.icons/ and use
those without the need for any elevated privileges.
Additionally, there's the option of creating a .Xdefaults file in the
home directory and adding the line
Xcursor.theme: polarblue
Again, where polarblue is the name of theme you want to use.
FreeBSD Unix on Dell Precision M4800
http://www.skinnymf.com/~mforde/blog/index.pl/2016/06/18#m4800
I installed FreeBSD 10.3 on the laptop I recently acquired and
almost eveything worked out of the box. The gigabit ethernet and
wi-fi coards worked fine and by setting the BIOS to discrete graphics
only, the nVidia Quadro was recognized.
I installed the binary driver from nVidia, because they support FreeBSD
because they're awesome like that. The nvidia-xconfig(1) program was
useful to streamline the process of getting X.org to use the Quadro.
There were a few things that did need some tewaking though. First
there's the sound card. Because the quadro supports HDMI (in addition to
VGA and DisplayPort), it includes an HDA-compliant sound card. This card
is recognized before the primary HDA-compliant sound card in the
machine, the one that's actually connected to the speakers.
I did some research and there were some suggestions about using
sysctl(8) to control soundcard GPIO pins to connect the nVidia sound
device to the speackers but what ultimately worked was using sysctl(8)
to change the default primary sound device to the dedicated card. There
were a few ways to make this happen but the one I found that actually
worked was to place sysctl(8) command lines in /etc/rc.local.
Now when boot completes pcm2 is set to my default and sound "just
works" and sndstat shows pcm2 as the default.
I found ACPI support has some weirdness as ACPI support often does. What
I found was that Suspend works from console, but resume doesn't...
HOWEVER After I start X ACPI suspend and resume work just
fine. Normally I prefer to boot into a console and only start X if I
really need it, but because I want suspend and resume to work "by
default" I've enabled X to start at boot by allowing the xdm console in
/etc/ttys.
But this had one last issue. See, when manually starting X, I added the
-dpi 143 option to get graphics and text to be appropriately sized for
my screen. XDM needed to know about this.
This probably wasn't the best place to do it, but I edited
/usr/local/lib/X11/xdm/XServers and modified the call to X(7) to add the
-dpi 143 option. Now when Xdm loads at start up, the DPI is set
correctly.
The function keys for adjusting the screen brightness don't work;
however, xbacklight(1) works just fine. Similarly the volume keys don't
work but I can adjust the volume quite easily with aumix(1).
I've submitted my dmesg output to NYCBUG's
dmesgd repository.
I suppose I've posted this for two reasons. The first is so I have a
record of how I eventually got these little things working in case I
have to do it again. The second is in case anyone has similar issues
with their hardware; if they happen to stumble upon this, it might give
them some hints.
Eponymous
Tonight I signed up for the Fireside beta. They asked for all my social
media accounts to prove I'm a human. The problem is, I don't have a
twitter account, a facebook account, instagram, etc. Years ago I took
the advice of numerous psychology studies and my own therapist's advice
and got off the social media platforms. It was one of the best things
I've ever done for my mental health.
So hopefully this blog, though infrequently updated (and slightly broken
since the last major perl update), will serve as proof to the people at
Fireside that I am human and not a bot.
It was the Astonishing
Legends Podcast that led me to Fireside. It would be nice to use it
for one of their interactive live chats sometime.
Take back your privacy
Recent surveys have found that 76% of [the most visited] websites in the
world cotain trackers from google and 24% contain trackers from
facebook. This has been reported by CNBC,
PC
World, The
Verge, Fortune,
and Breitbart.
Almost anywhere you go on the internet, they are following you, building
a profile on you, and selling that information, your information,
to the highest bidder. Even if you don't have a user account for google
or facebook "services," they've built a profile of you using this
surreptitiously collected data.
It turns out there are some steps one can take to prevent these
companies from following you wherever you go. It's not perfect, but it
helps a lot. First, don't use Chrome. Second, install ad-blocker plugins
for your browser. Third, use your firewall.
It turns out Google and Facebook are large enough that they have their
own Autonomous Systems (AS) composed of numerous subnets. Google owns AS
15169, while Facebook owns AS 32934. Using a little bit of shell, it's
relatively easy to look up all the subnets owned by these companies.
That's a lot of subnets. Because I have different operating systems on
different computers and still want to block traffic to and from
all those IP addresses, I've written some simple scripts to add
rules to various firewalls. I have scripts for IPFW on FreeBSD, IPTables on Linux, and the Windows Firewall that should work from XP SP3
through Windows 10. I've only tested it on Windows 7 and Windows 10, and
it worked in those.
All of these scripts can be found in this
directory. The IPFW and IPTables scripts are self-contained. For the
Windows command shell batch files, the *ips.txt files are also needed.
I have to say, the internet looks very different with these firewall
rules in place. There are noticeably fewer advertisements and pages load
faster. Embedded YouTube videos and Instagram photos don't appear.
Sometimes the frame disappears, sometimes you get a "failed to connect"
page appearing in a frame in the middle of a page. (Yes, these rules
block YouTube and Instagram; they are owned by google and facebook and
reside in the subnets owned by those companies.) On a relatively rare
occasion, I come across a site using some sort of javascript or css or
something hosted by a machine in one of those ASs and that will be
blocked. Sometimes the site handles that gracefully, sometimes it stops
being functional. A small price to take back your life.
Update: Twitter has trackers on a decent amount of sites out there too,
so I've added scripts to block Twitter's AS 13414 as well. Those scripts
are in the same directories as the others.
New PGP Key!
So apparently Evil32 happened.
Approximately 24,000 PGP keys were generated that had collisions with
the 32-bit short IDs of existing keys. Then someone decided to use those
conflicting keys to generate revocation certificates and upload them to
the keyservers. Joy.
Though my old keys still work, they were affected by this mass
revocation of collsions. I have created a new key which can be found at
http://skinnymf.com/~mforde/mforde.asc.
On a related note, if anyone is interested in Key Signing Party, shoot
me an email. I haven't been to one of those since college.
Merry Christmas
While the holidays are supposed to be a joyous time, I know and
understand how hard they can be for some people. If you're having a
rough time over the next week or so and need someone to talk to, feel
free to message me. If you're reading this blog, you likely know my
email address or phone number.
Megapath sucks
Speakeasy was by far the best ISP I ever dealt with. Freindly, and above
all, knowledgeable. Since they have been purchased by
Megapath then merged into Global Capacity, their tech support has been,
frankly a bunch of idiots. Furthermore, their website routinely has
"Service failed" errors that prevent you from logging in, changing
passwords, and viewing account information.
Today, after being unable to log in to the website due to "service
failed" the tech support rep on the phoned didn't understand what a
subnet mask or gateway address were. Eventually I just got her to read
me "all three IP addresses" on the screen in front of her.
But at this point my only other option is Verizon. So I'm sticking with
Megapath.
Prince
I'll never forget the day I started liking Prince's music. I was with my
friend in his car headed somewhere. We were listening to K-Rock and they
had a "listener playlist" where for about an hour, all the music had
been selected by a listener and this listener was on the phone, talking
with the DJ about his selections and introducing songs.
The guy announced that the next song was from Prince. The DJ questioned
this selection and he said, "No, this dude can shred. Just listen."
It's been a while...
It's been a while since I've had a substantial update here. I've been
busy living life leaving little time to be writing about it; at least
writing about it here.
Work has been quite busy for a while now. Lots of projects, lots of
deadlines, lots of extra hours. But there hasn't been any "mandatory
seven day work weeks" like I had at that one job, and there isn't that
expectation of "you can work from home so you are always expected to be
working" I had at the last job. Plus, the work is a lot more interesting
than anything I've done in years.
Bernstein was right: money doesn't motivate me, interesting problems and
the ability to tinker do.
Yesterday the DeLorean rolled over to 16,000 miles. That's still about
1,000 miles a year I'm putting on it. I'd like to keep the mileage low,
but she's just so much fun to drive. I've been asked by people at work
to bring Aisling next week for Bring Your Child to Work Day. Apparently
a lot of my co-workers have told their kids about the car and they want
to see it.
I ran my 29th half-marathon this past weekend. I'd like to get up to 32
this year. I'm also signed up for my 13th marathon this Autumn. I'm
considering running number 14 a few weeks later.
In addition to all of that taking up my time, I've also been
volunteering with the Youth Ministry at a church in my diocese. That's
been quite an amazing adventure. It's had a profound impact on my life
and has certainly helped at least a few teens. It's been an honor to do
the Lord's work. Maybe someday I'll publish some of the talks I've
given. The In His Image talk seems to have resonated with a lot
of people, certainly more so than some of the other talks.
It was a good day...
So today I woke up and watched an episode of Star Trek while I did some
weight training and core work. Then I met my friend and her 5-month old
baby for breakfast. That baby is so cute, and so happy too.
After that I met another friend for a run in the Tourne where we met a
fox on the Red Trail. When I got home from the run, I turned my lawn
into an avant garde art installation and then took a shower.
I took Ailsing out for a drive and on the way home she rolled over to
15,000 miles. I've had the DeLorean for about five years now, so I'm
still averaging 1,000 miles per year. Not bad.
A large part of a tree fell and missed my house by about 18 inches. So
then I went and ran another Six miles during a National Weather Service
tornado watch.
Now I'm finishing up the day with a good movie and a glass of Monk's
Blood.
Today, I didn't even have to use my AK. It was a good day.
It's not stupid, it's advanced
I opened the Windows 10 settings app, not to be confused with the
control panel, and I selected "Windows Update." Next, I chose the
"Advanced Options" and was greeted with this mess. I hope the next build
fixes this problem, as well as the myriad of other issues plaguing the
current Windows 10 preview release.
Initial Thoughts on Windows 10 -- UPDATED!
I'm done with Microsoft for any platform that is not a telephone.
Windows 10 attempts to "fix" the abomination that was windows 8 on the
desktop, but just makes things worse.
The "search" "app" that replaces the previous existing search feature
really only sends a query to bing. I'm looking for a file somewhere in a
subdirectory on my hard drive. I didn't want to search the web for
20141020*.txt. The UI looks like crap. Slapping a titlebar on top of the
"modern" "apps" does not make them usable on the desktop. The start
menu has returned, but it has never been this useless. And the ability
to revert to the "classic" start menu, the behavior introduced in
windows 95, and refined in win98 and Windows 2000, has been removed. I
shouldn't be surprised by that given that Windows 7 also lacked the
"classic" start menu. At least Windows 7 allowed a "Windows Classic"
theme for the rest of the UI.
Ever since Service Pack 3 for Windows XP, MS has been slowly and surely
trying to make things "easier." However, what they deem "easier" often
means removing features and behaviors I relied on to get work done.
Windows 10 continues this tradition.
I never really had a problem with Microsoft, I never avoided their
software for ideological reasons. I believe in using the right tool for
the job. Windows 10 is the wrong tool for any job.
UPDATE!!!
Using the Windows Update mechanism, MS pushed out a new build of Windows
10. This upgraded the installation from build 9841 to build 9860. After
a lengthy download, installation, and a very long reboot, I was able to
log in again, Only to be greeted by this:
And this lovely error when I tried to open the new "Notification
Center":
The Truth is Out There
Tonight, I had the great fortune of joining a person who means the
world to me at a book signing by Gillian Anderson and her co-author Jeff
Rovin. Jeff has ghost-written/co-written several novels for and with Tom
Clancy, and Gillian is AGENT DANA SCULLY!!!
Gillian indicated that she modeled the main character as someone she
would play in a cinematic version of the story, and Jeff mentions that,
while not required reading, the novel is a spiritual sequel to Edgar
Allan Poe's only novel, The Narrative of Arthur Gordon Pym of
Nantucket.
I'm going to put The Crytptonomicon on the back burner and put
Poe's work and this new novel, A Vision of Fire at the front of
my priority queue.
Windows 8.1 in Virtual Box
I was attempting to run the Windows 8.1 Preview in a VM using
Sun's Oracle's Virtual Box on a Windows 7
host. I ran into a minor problem.
The OS wouldn't boot. I received an error stating:
Your computer needs to restart.
Please hold down the power button.
Error Code: 0x000000C4
Parameters:
[redacted]
Looking for the error code online led me to this
article describing the issue and a fix. The key to fixing this was
running the command:
I'm starting to get used to celebrating my birthday at TBM concerts.
This year it was about a week prior to my birthday at a show on December
1 held at New York's Gramercy Theatre.
Along with the tickets, I had also purchased the "VIP package." This
package included an autographed poster signed by all members of the
band, a "VIP" laminate on a lanyard, and... the opportunity to meet the
band prior to the show!
You may be thinking, "But they stick around after shows and mingle with
their fans anyway," and "You've already met them a few times!" Both are
true. And even with this "VIP" package meet-and-greet, they still make
time for all their fans after the show. What this provided was a
somewhat quieter meeting in a more intimate setting.
In fact the meeting was in a small lounge beneath the concert hall. Dim
mood lighting, mirrors, and couches set the atmosphere. I spoke with
Rainbow, Michael, and Nate first. Rainbow informed me his name was
Michael also and made a joke about the "power of the three Mikes
lighting the room." After a bit, they started moving me to Chibi who was
sitting on a couch after injuring her knee during a show two nights
prior. She tried to walk to me, but I told her not to. She said, "I'll
meet you half way then."
I gave her a get well card, knowing she had had surgery on her vocal
chords about 8 weeks prior and recently injured her knee. Someone
decided we needed a photo of that and she gave me the card back so I
could give it back to her. I believe it was Owen who said, "Act natural
and hold it for 30 seconds!"
I asked Rainbow about writing "Unfamiliar" because both he and OE were
given credit in the liner notes. He said it was mostly OE; OE started it
and Rainbow had finished it. I said I wanted to thank them because it
was a song that had taken on some greater meaning to me and I relayed a
brief version of the story of the moment I recognized that. It turns
out "Unfamiliar" is one of Chibi's favorite songs too.
Every one of the bands that night were amazing. All, remarkably, were
performing as duos. Creature Feature was a real fun band to see. Their
music is heavily influenced by old horror movies which gives them a
dark yet fun sound.
Aesthetic Perfection put on a good performance. Their drummer is
amazing and fun to watch. They heavily synth-based and while there was a
dark tone to most of their songs, they still had fun and lightened
things up with a Fine Young Cannibals cover.
William Control was the only other act I had heard before the show
(Thanks Last.fm!). He was great live and I'd love to see him again. He
reminded me a little of Dommin in that Dean Martin meets Glen Danzig
sort of way.
The Birthday Massacre was great. They played a good mix including songs
from every album. For most of the set Chibi was sitting on a speaker
placed near center at the front of the stage, wearing a knee brace. She
stood up and moved around occasionally, but not much. At one point
Rainbow sat down on another speaker and stuck out one leg in a similar
fashion to how Chibi was seated and laughed a little. It was easy to
tell by their interaction here that Chibi and Rainbow are close.
If you care (or even if you don't), their set list follows:
Night Shift
Down
Control
Always
Red Stars
Video kid
Lover's End
Forever
Pins and Needles
Happy Birthday
Alibis
Calling
In the Dark
Sleep Walking
Midnight
-- Encore --
Leaving Tonight
The Long Way Home
Blue
The band did not leave the stage prior to the encore as they normally
would. Chibi said, "This is the part of the show where we say thank you
and leave and you clap and we come back out and play some more. But I'm
not going to walk down those stairs anymore than I have to, so do you
want to hear three more songs?"
Signs of the Apocalypse
A friend told me this was from Glee. I found it amusing; thought I'd
share.
It's a fact that the book of Revelations predicted Twitter. It's one of
the seven signs of the apocalypse; Along with porn, unexplainable
weather anomalies, martian rovers, Barney Frank, the middle east and
MSNBC. It's like Kirk Cameron said, "It's never too late, until it's too
late."
Almost anywhere you go on the internet, they are following you, building
a profile on you, and selling that information, your information,
to the highest bidder. Even if you don't have a user account for google
or facebook "services," they've built a profile of you using this
surreptitiously collected data.
It turns out there are some steps one can take to prevent these
companies from following you wherever you go. It's not perfect, but it
helps a lot. First, don't use Chrome. Second, install ad-blocker plugins
for your browser. Third, use your firewall.
It turns out Google and Facebook are large enough that they have their
own Autonomous Systems (AS) composed of numerous subnets. Google owns AS
15169, while Facebook owns AS 32934. Using a little bit of shell, it's
relatively easy to look up all the subnets owned by these companies.
That's a lot of subnets. Because I have different operating systems on
different computers and still want to block traffic to and from
all those IP addresses, I've written some simple scripts to add
rules to various firewalls. I have scripts for IPFW on FreeBSD, IPTables on Linux, and the Windows Firewall that should work from XP SP3
through Windows 10. I've only tested it on Windows 7 and Windows 10, and
it worked in those.
All of these scripts can be found in this
directory. The IPFW and IPTables scripts are self-contained. For the
Windows command shell batch files, the *ips.txt files are also needed.
I have to say, the internet looks very different with these firewall
rules in place. There are noticeably fewer advertisements and pages load
faster. Embedded YouTube videos and Instagram photos don't appear.
Sometimes the frame disappears, sometimes you get a "failed to connect"
page appearing in a frame in the middle of a page. (Yes, these rules
block YouTube and Instagram; they are owned by google and facebook and
reside in the subnets owned by those companies.) On a relatively rare
occasion, I come across a site using some sort of javascript or css or
something hosted by a machine in one of those ASs and that will be
blocked. Sometimes the site handles that gracefully, sometimes it stops
being functional. A small price to take back your life.
Update: Twitter has trackers on a decent amount of sites out there too,
so I've added scripts to block Twitter's AS 13414 as well. Those scripts
are in the same directories as the others.
New PGP Key!
So apparently Evil32 happened.
Approximately 24,000 PGP keys were generated that had collisions with
the 32-bit short IDs of existing keys. Then someone decided to use those
conflicting keys to generate revocation certificates and upload them to
the keyservers. Joy.
Though my old keys still work, they were affected by this mass
revocation of collsions. I have created a new key which can be found at
http://skinnymf.com/~mforde/mforde.asc.
On a related note, if anyone is interested in Key Signing Party, shoot
me an email. I haven't been to one of those since college.
[/musings]
permanent link
I suppose I've posted this for two reasons. The first is so I have a
record of how I eventually got these little things working in case I
have to do it again. The second is in case anyone has similar issues
with their hardware; if they happen to stumble upon this, it might give
them some hints.
[/unix]
permanent link
*Simple design from the early days of the world-wide-interwebbings, and mobile friendly!
Powered by Blosxom.
Eponymous
Eponymous
About
My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean owner
Tenth Runniversary
Today is my tenth runniversary. It's been a decade since I first stepped
on that treadmill. Like my first day running, I ran on
the treadmill while listening to br\oken.
I've had some set backs in my recovery. Not properly rehabilitating the
atrophy in the left leg has caused some problems with the muscles around
my hip. Listening to my trainer only made it worse.
But now I'm taking care of it properly.
Like that first day ten years ago, I have a goal I am working toward.
This time it is the Dublin Marathon in October. This will be marathon
number 13. I don't expect to PR. I think 10 minute miles are a much more
reasonable goal at this point, but frankly I'll be happy just to cross
that finish line.
It's been a long, hard road out of Hell, but God has been by my side and
put some amazing people in my life to help me along the way.
I have to thank the Giraffes for today. I have to thank the Giraffes for
much of my life this last decade. I was heading for an early grave, and
they changed that. Giraffes, I thank you from the bottom of my heart and
I look forward to running the LTC and many other races with you in the
next decade.
Ninth Runniversary
Yesterday was my ninth runniversary. Like my first day running, I ran on
the treadmill while listening to Broken. Unlike the first time, I only
listened to it once, and covered 4.48 miles during the duration of the
EP, thanking God every step of the way.
I'm confident in knowing that the bone in my ankle has healed completely
now; however, I'm still rebuilding the muscle in that ankle and the rest
of that leg. There was significant atrophy during the early phases of
recovery. Slowly as it may be, I am making progress, and I am thankful
for that.
Don't Call it a Comeback
On June fourth, I was running in the Tourne on a trail I first ran
twenty years ago, a trail I've run hundreds if not thousands of times
before. On that morning, my foot came down on a wet rock at just the
wrong angle, slipped just enough and I rolled my ankle. Not only did I
roll the joint, I came down on it with enough force to break it; a fact
I would learn when I final saw a doctor about it on June ninth.
No surgery was required, but I was unable to run for three months. I was
finally cleared to run. The plan was to start with short distances,
about a quarter mile, on a rubberized track then build up from there,
moving on to treadmills and eventually roads and trails. I was
instructed to spend six months rebuilding my 60 mile per week base.
On the morning of September 11 (a day I will never forget and a morning
that will always make me feel a bit uneasy), I took to the track for the
first time. I started by walking a mile. As I finished the fourth lap, I
said a prayer, asking God to give me the run I needed and the wisdom to
know when to stop. I queued up my playlist: AC\DC's "Back in Black" and
LL Cool J's "Mama Said Knock You Out." I took my first stride.
I've been progressing well in the last two weeks; pushing it on some
days, resting when necessary. Though the short, slow distances have been
frustrating, it feel good to be running again. Every stride I take I'm
reminded of everything I love about the sport.
National Running Day ... part 5
This evening on my second run, I met up with one of the middle school
kids I had coached on the cross country team. He was driving (because
he's not in middle school anymore) and stopped at an intersection
waiting for me to cross. He called out to me, I stopped, and we chatted
briefly.
Although the conversation was brief, I realized that I had left an
impression on him, I had made a difference, however small, in his life.
And no matter what else happens, nothing can change that.
I thought I had healed from the chafing left after Saturday's River to
Sea Relay... Until I ran in the rain yesterday. To quote a friend, "It
feels like someone took a cheese grater to my crotch."
Races, Races, Races
I've been busy the last few weeks or so; I've done a few races.
On October 30, I ran the Marine Corps Marathon in Arlington, VA and
Washington D.C.
On November 5, I ran the Beavertown Fall Classic 5K in my hometown.
On November 6, I ran the New York City Marathon for the second time.
On November 19, I ran the Knickerbocker 60K Ultramarathon in Central
Park.
On December 3, I ran NJ Winter Trail Series Race #1 Half Marathon in
Wayne.
On December 10, I ran the NYRR Jingle Bell Jog in Prospect Park.
On January 7, I ran the Walt Disney World Half Marathon, part one of
Goofy's Race and a Half Challenge.
On January 8, I ran the Walt Disney World Marathon, completing the
Goofy Challenge.
In 10 weeks I ran a 5K, a 6K, two Half Marathons, three Marathons,
and an Ultramarathon, plus a few training runs in there...
And last night Wii Fit called me a couch potato.
In defense of the game, I hadn't used it in 547 days, and I'm now 11
pounds heavier than when I had last used it. It has no way of knowing
that the vast majority of that weight gain was lean mass. It also has no
way of taking into account all that I've done outside the game.
Even with that in mind, it's still a little frustrating to be called a
couch potato after running a marathon and a half last weekend.
Each of these races were pretty special. I ran MCM alongside some fairly
awesome people; people who I consider to be among my closest friends. In
the Beavertown 5K, I somehow managed to take 12th overall and 5th in my
age group without really trying.
At NYC and then at the Knickerbocker, I ran with the friend who got me
started running in the first place. I credit him with saving my life,
and it was an honor and a pleasure to run with him.
The trail half was my first trail
race (not counting my time on the high school cross country team) and I
ran that with a friend I hadn't seen since our days on the high school
track & field team (she was a runner, I was thrower). We have both run
full marathons in less time than it took us to complete this half.
The Jingle Bell Jog was a fun race with bells and hot cocoa, and it was
the first time I ran alongside my friend and former physics TA. And
lastly, I ran the Goofy Challenge alongside another one of my close
friends and training partners.
These races were a lot of fun. Some of the courses were quite amazing
to see, and these races were opportunities to spend time with some
pretty awesome people.
25th Anniversary Lincoln Tunnel Challenge 5K
Yesterday the Giraffes ran the Lincoln Tunnel Challenge to benefit
Special Olympics New Jersey. It was the events 25th anniversary and the
Giraffes' third anniversary.
The weather was much nicer than the previous two years with far less
rain than last year and a much milder temperature than the 90+ degrees
of two years ago. In fact, the weather outside was ideal for running.
The weather inside the tunnel was a few degrees warmer, but still in
that ideal range.
Before the race, I met up with my friend Bobby. He's an athlete who
competes in the Special Olympics. We went to school together and were on
the Cross Country and Track & Field teams in high school. Back then, he
and I were almost always the last two runners to finish at the Cross
Country meets. The difference between us was that I was a quitter and he
never gave up.
That first time I ran this race in 2008, I failed to meet my goal 31:26.
When I saw Bobby after that race, it made me think back to Cross
Country. His determination to never quit was one of the influences that
kept me running after that day.
Back to this year's race...
After talking to Bobby, I met some other friends from my town who were
running (but decided not to register as Giraffes... grrr...). They, as
well as the other Giraffes, were running in the second wave at 8:45. It
was getting close to the start of the 8:00AM wave, so I parted ways with
them and took my place in the starting area. After the standard pre-race
speeches, including the announcement that this year's race raised almost
$180,000 for SONJ, the gun went off and the race began.
After a few seconds in the tunnel, my watch lost satellite reception and
continued using the footpod while searching for satellites. Because it
went back into the open sky search mode, I couldn't see any sort of
timing or pacing information on the display. I was running blind, so to
speak. Having set a PR of 19:08 in the 5K last month and a previous best
of 20:16 for this course, I was hoping to just break 20 minutes. The
Lincoln Tunnel is essentially a "V" shape with the second and fourth
quarters of the race being uphill.
During the second half I caught up to another runner I had seen in
Weehawken prior to the start of the race. As I approached, he sped up. I
said to him, "You're going to make me work for this, aren't you?"
He replied, "I don't like people passing me. And I'm trying to catch
that guy," gesturing to another runner about 50 feet ahead of us.
I said, "Okay" and started picking up the pace a bit, overtaking the
runner who had been in front of us. And I kept going. I started to feel
the lactic acid in my left calf. I decided to ignore it. The feeling
subsided. As I neared the end of the tunnel, I could hear the announcer
calling out the finishing times. I gave it everything I had left, and
cross the finish line.
I stopped my watch and saw my time at 18:57. I knew then there was the
possibility I had broken 19 minutes, but it would be close. I'd have to
wait for official results. But I was too excited, I had tell someone, so
I text'ed a few friends.
I reconnected with my friends from town and the other giraffes, and told
them all to kick ass and chew bubblegum. I watched as their heat started
and they all entered the tunnel. I went and picked up my blanket from
the registration table and tried to keep warm while I waited and watched
my friends finish. It brought a huge smile to my face to see each of
them, and especially Bobby, cross the line.
The Giraffes celebrated another race and another year with our
traditional post-race brunch. And the waiting continued...
The official results were posted late in the afternoon, while I was
helping a friend prepare for the flooding we're experiencing for the
second time in two months. A friend text'ed just before 5:00PM with
18.55
congrats
It was two seconds faster than I thought. It was 13 seconds faster than
my previous PR set only last month. I finally broke 19 minutes, and I
did it on the same course on which I ran my first race three years ago.
I took 16:56 off my time in those three years. I finished 9th in my age
group and 33rd overall, and for the seventh time in nine races this
year, I set a new PR.
Scotland 10K 2011
This morning I ran the NYRR Scotland 10K for the third year in a row.
The first time it was cold and raining, and I had food poisoning from
eating at the Macaroni Grill the night before. (The Giraffes had a team
dinner the night before and 40% of us got sick.) I ran that race at a
slower pace than the 15K race a few weeks prior.
Last year, the morning of the race was unseasonably hot and I was
dealing with an ITBS flare-up. I ran that one almost as slowly as the
previous year.
All of the other 10K's I've run were always sub-par compared to my 5K
and 15K times. I had never felt like I had a good 10K race. I always
felt like I let myself down; like I should be doing better.
Until today...
Today's Scotland 10K was the first time I had a good run at this
distance. When I set out this morning, my goal was a 6:56 pace, one
second per mile better than my PR. Central Park was a bit chilly at
about 52 degrees with an overcast sky.
My team made our plans for meeting afterward and we took our places in
the corrals. The gun went off and I started running. As soon as I
crossed the starting line I decided I wanted to see how fast I could do
this, how fast I could run a 10K. I wanted to see if I could break 40.
So I ran fast and hard, watching my pace a little too closely at times.
After the first mile I was warm and debating whether or not to take off
the arm warmers. I decided to wait until later in the race, as one side
of the park is usually warmer than the other. At about 2.5 miles I had
a weird cramping feeling in the ball of my right foot, but within a few
hundred meters the high kicked in and the pain went away. At the halfway
point I knew I'd be close to a 40 minute finish if I kept up the pace.
I kept up the pace until the last mile, then I sped up. I was close to
the goal. I was going to make it or die trying. Well, probably not die.
More likely vomit or pull a muscle or re-injure the IT-band. But not one
of those problems happened. What did happen was I crossed the finish
line less than 40 minutes from the time I crossed the starting line.
For the first time, I had felt good during and after a 10K. I ran the
race I wanted and the race I needed. I accomplished what I set out to do
and it felt awesome.
The official results posted a few hours later put me at 39:46, a
6:24/mile pace. This is a faster pace than my current 5 mile and 4 mile
PRs. I ran at a 67.5% AG performance rating and finished 318 of 8491.
I was a little disappointed in the way the guy from the running store
responded. He struck me as the kind of guy that looks down on the
back-of-the-pack plodders. They're out there doing their best just like
the elites and everyone in between; they deserve respect too.
Other than that, it was a rather funny phone scam; one of the best I've
heard in a while.
We packed up and drove down to Westfield and ran the CJRRC Hangover 5K.
It was supposed to be held January 1, but was rescheduled multiple times
due to the weather.
I ran a PR today finishing in 19:22. I was 4th in my age group and 15th
over all.
My friends ran the race too, all except one who has a broken toe.
Everyone was happy with their time and met their goals for the day,
ranging from sub-25 to "eh, taking it easy, seeing how it goes..."
After the race we went cycling. This was my first bike ride outside.
I've been working with an indoor trainer for the last few weeks and this
was the first time I had been on a bicycle, outside, actually moving, in
about 16 or 17 years. My friends have been cycling longer and more
recently than I have, so today's 17 mile ride was rather easy for them.
I was freaking out quite a bit, but they calmed me down, gave me
pointers, and just helped me out in general.
As we rode, I got more comfortable with the bike and I realized
comparing this bicycle to my last bicycle is like comparing my DeLorean
to my old Mercury Sable. It takes a while to get used to the
differences, but once you do it handles far better and offers more
control.
Look How Far We've Come
Just under 3 years ago, I started training. That first 5K took about 53
minutes and change. My first race was the 2008 Lincoln Tunnel Challenge,
about 6 weeks after I first stepped on the treadmill. My time in that 5K
was 35:51, about 11:32 per mile.
Yesterday I ran the NYRR Gridiron 4 Mile. I finished in 25:47 (6:26
pace), a full ten minutes faster than that first 3.1 miles.
Last month, I ran the Fred Lebow Classic 5 Mile race in Central Park. I
finished that race in 33:09 (6:37 pace), over two minutes faster than
that first 5K race.
I hope this achievement will serve as a testament to the fact that with
determination and hard work, anything is possible.
2010 New York City Marathon
One week ago, I ran the New York City Marathon. As noted many times
throughout this blog, this race was something I've been working toward
since December of 2008. This event was the culmination of nearly two
years of hard work and dedication. And it was worth every single mile
I've run over the last two years.
At 9:40, the cannon was fired and the marathon started. Within minutes,
I was crossing the starting line and running over the Verrazano Bridge.
Not only was I running in the footsteps of the current world record
holder and the first American to win New York in 27 years, I was running
in the footsteps of legends.
About three and half hours later, I entered Central Park for the last
few miles of the race. I looked around and had the odd sensation that I
was home.
It's difficult to put into words the feelings of that day. Despite
having completed three sanctioned marathons prior to this day, crossing
the finish line was something I couldn't believe I was actually doing.
Pre-Race Thoughts
Last Saturday, I sent a letter to the Giraffes mailing list. I've
decided to post here.
In March of 2008, Brian told me I was running a 5K with The Giraffes. He
didn't ask and he didn't give me a choice. Two days later I got off the
couch, got on the treadmill, and started running. Six weeks later I ran
my first race with this team. This team saved my life that day.
Nine months later and a hundred and one pounds lighter, I got this crazy
idea in my head. I decided I was going to run a marathon. I thought, if
I'm going to run a marathon, I'm going to run the biggest marathon in
the world. I'm going to run the New York City Marathon.
I did some quick research about how to get in and found the 9+1
qualifying method. A couple of days later, I told Brian I was going to
spend 2009 working toward guaranteed entry for the 2010 NYC Marathon.
Almost immediately, he sent out an email to The Giraffes saying, "Mike
and I are doing this and so are you." I'm paraphrasing, although it was
quite close to that.
So on January 10, 2009, five of us piled into the car and drove to
Central Park on a frigid Saturday morning and began our journey with the
Fred Lebow Classic.
We continued to run, and picked up some new members along the way. Some
with an impressive history of ultramarathons, and some just starting
out.
Those of us who first set out that day in January reached our goal and
qualified for NYC 2010.
At some point we decided we should run a marathon prior to NY, to get an
idea of what we were really getting into. We chose Philadelphia, and for
several Giraffes that day, it was our first. It was the day we joined
the ranks of the one tenth of one percent of the population who can call
themselves marathoners.
While training for Philly, I fell in with a group of runners from my
hometown and began running with them. At first it was short runs during
a 5K training program they were running, but soon thereafter, they began
including me in their longer training runs on the weekends. They
introduced me to a number of other runners. Eventually I convinced (most
of) them to sign up for the Giraffes mailing list.
For the past two years, I've run with these people, the original
Giraffes and the runners who have joined us along the way. And through
it all, this team is what has kept me going. Through inspiration,
through motivation, through friendships, through training runs and
races, you've kept me going. You have been my support system.
And now I sit here on the eve of the New York City Marathon, less than
24 hours from the start of the race, less than 24 hours from realizing
our goal we set for ourselves so long ago.
To all of you who have been with me for this journey in some way, shape
or form... To those who got the team started and pulled me in, to those
who saved my life... To those who persevered through qualifying races
under grueling weather conditions with me... To those who got food
poisoning with me from Macaroni Grill the night before the Scotland Run
10K... To those who got me through the last 5K of Philly... To those who
made the 22+ mile training runs a little more bearable at the end... To
those who have shown their support in any way they could...
I offer you my eternal gratitude. I would not be where I am today
without all of you. I love you all.
One final note. To those of you joining me in tomorrow's running of the
New York City Marathon... Kick ass and chew bubble gum.
--
M. Forde
"Running never takes more than it gives back."
It's been a while...
I haven't updated this blog in quite some time. A lot has happened since
the last post.
First and foremost, I spent about two months volunteering as the Cross
Country team's coach for the local Middle School. Due to budget cuts,
all athletics programs were cut. The local Police Athletic League
stepped up and volunteered to take over the programs. Many of the
teachers who have coached in previous years did not want to do so now,
so the PAL went looking for volunteers within the community.
A friend of mine with whom I train put me in contact with the PAL and
after an application and vetting process, I became a Rutgers
Certified coach and began my duties.
The team was relatively small, seventeen boys and six girls. Having
never really worked with kids before, I was glad that this year's team
was half the size of last year's; however I was still apprehensive about
working twenty-three middle-schoolers. Thankfully, several parents
helped me throughout the season. One in particular was there with me for
almost every practice and every meet.
I tried to emulate the aspects of my middle and high school coaches that
I thought worked, and tried different approaches in an attempt to avoid
the aspects I had never liked. I wanted to motivate and inspire these
kids.
I told them about my history as a runner: my experience in 8th, 9th, and
10th grade, my first 53-minute 5K on the treadmill in March of 2008, my
marathons, my personal records, and my improvements over the last two
years. I told them I would never make them do any thing I wouldn't do
myself in training. And I ran with them. Whether the day's training was
100 and 200 meter repeats, running the course, "time on feet" running,
or fartlek's, I ran along side them.
During one session I was catching up to the lead group, the fastest of
the 7th and 8th graders, and asked, "Are you really going to let an old
man with bruised ribs keep up with you?" One of them turned and said,
without breaking pace, "You're not that old and you run marathons."
During the Cross Country season, in the last six weeks or so I've run a
few races and set a few PRs. On September 19, I ran the Marathon Tune-Up
18 mile in Central Park. I set a new 18-mile PR at 2:27:34, taking 18:56
off my time from last year. Also of note, I didn't end up in medical
being treated for hypothermia this year.
The following week I ran the 5th Ave Mile. I shaved 9 seconds off from
last year's race and 3 seconds off my previous best in training. My new
mile PR is 5:25.
About 2 weeks later I ran the Hartford Marathon. My friend and I got
there very late the night before the race. Because we were stuck in
traffic for about four and a half hours, my friend missed the on-site
registration. He debated what to do while we went to dinner at a local
tavern. I promptly felt sick after eating.
The next morning we got and got ready to run. I still felt sick from the
night before and threw up the previous night's meal shortly before we
went to the registration packet pickup. I got my bib and timing chip and
my friend failed to convince the race officials to let him enter. When
he asked, "can I run unsanctioned?" the response of the somewhat
sympathetic official was, "I can't tell you that you can." So my friend
decided to run unsanctioned. After all, no one said he couldn't.
We lined up in the corral. Despite the way I felt, I knew I had to go
out there and run my best marathon. I had told the Cross Country team
what Prefontaine had said, "To give anything less than your best is to
sacrifice the gift." I had to go out there and try to PR. But as Yoda
said, "Do or do not; there is no try."
I started the race keeping the 3:45 pace group in my sights. My friend
kept along side me for the first three miles then fell back a bit. I had
some conversations with two runners in the pace group, Gavasker, the
pacer, and Jen, a woman who was looking to BQ. I kept with them the
whole way and finished in 3:43:32.
Unbeknownst to me at the time, my friend dropped out at mile 8 and made
his way back to the start/finish area. He was there at the finish line,
waiting for me as I crossed the line just ahead of Jen who BQ'd with 2
minutes to spare.
The next morning I went out with some other friends and ended up running
another 24 miles putting me at 50 miles for the weekend. Monday evening
I ran in a charity 5K with another friend, and then took a few days off.
Since then, the Cross Country season has ended. They had their last
meet, a few more days of practice, and then this past Wednesday they had
team photos followed by an end-of-season pizza party.
At the party the kids presented me with a plaque to say "thank you." I
damn near cried when I unwrapped it and saw the photo taken at one of
our practices. But if anyone asks, I'll deny that part.
The 6th and 7th graders also asked me to come back and coach next year.
During and since the season, I've run across some of the kids in town.
Every time, they come up to me and say, "Hey coach!" And that means the
world to me. It makes me think I've succeeded, that there's a
possibility I've inspired them to keep running. Hopefully they'll love
running as much as I do, if not more.
I've encouraged the kids to enter our town's annual 5K next weekend and
several of them have signed up. I'm looking forward to running with them
again.
If my calculations are correct...
Over the course of the last two years and four months, I've changed
considerably both mentally and physically. I lost 108lbs and then put on
6 while marathon training. This 6lbs was purely lean mass (muscle, bone
density) and I'm now at about 6% body fat.
Running is known to increase bone density, and the various forms of
exercise I use in my training increased my muscle mass as well
throughout this transformation. I've been curious to know just how much
fat I lost.
If my calculations are correct, throughout this process I lost 123.96
pounds of fat and gained 21.96 pounds of bone and muscle resulting in my
current net loss of 102lbs.
Why is this filed under the Running section? Because running was what
enabled this transformation to happen.
Damn, it feels good to be a gangsta..
After I finished my run tonight, still in my soaked running gear, I
walked directly to local grocery store for chocolate syrup and had the
following conversation with the woman at the check out counter.
her: Over ice cream or chocolate milk.
me: Chocolate milk.
her: Nothing hits the spot like a cold glass of chocolate milk.
me: Especially after a long run.
her: How far did you run tonight?
me: Half marathon. My third in three days.
her: God bless you. God bless you.
Then, as I walked away she said, "Nice legs."
"Thanks. I've worked hard for those."
2010 New Jersey Marathon
I was registered for today's NJ Marathon in Long Branch. I lost a few
weeks in training due to some IT-band issues, and earlier this week was
stricken with a bout of bronchitis.
I got down there today, and 30 minutes before the race start I did a
quick quarter mile and decided I wasn't over the bronchitis enough to
run a marathon today. It was difficult for me to be there as the race
started, watching my chance at reaching my goals disappear. As the
morning went on and clouds disappeared and the temperature rose, my
thoughts changed.
Not running today was probably the best and hardest decision I've made
in a while. Often the right choices in life are not the easiest to
choose, no matter the circumstances.
2010 NYC Half Marathon
Yesterday was my best half marathon yet. As I stood in the corral
waiting for the race to start, the chill in the air was a welcome change
from the heat and humidity of last