" /> Primordial Ooze: May 2006 Archives

« April 2006 | Main | June 2006 »

May 30, 2006

More running

Getting  back on track in the wake of my trip to Bermuda, I put in two good runs this weekend. I ran twice, once on Saturday and once on Monday. Both routes were the same, consisting of a pleasant run on the bike path going from a local park by my house to Jones Beach.

If you click on the static map below, you will be brought to a live map. If you click and pan the live map, you can see that the bike path spans three water gaps. These “three bridges” are milestones along the path, I ran to the first bridge, which is a 4.4 mile round-trip run.

This is the first time I ran in a decent heat but the weather was so beautiful that I didn’t mind at all. I enjoyed the scenery and I certainly prefer this beach run over my suburban nightly routes.

The beach route took me about 45 minutes each time so I’m pretty consistently running a 10 or so minute mile. On Monday, I felt like I could have gone longer so I have to think about whether I should begin to run longer or try and push myself faster.

Click below for a live map of Route #3. I hope by the end of the summer to make it all the way to the beach, but that’s a lofty goal considering the whole trip could be 12 or so miles.

Route3

 

.htaccess file generator

From web form to .htaccess…

.htaccess files are apache files which you can modify to make your web site to some crazy things. You can:

  • Redirect to another url
  • Set default files (index.html) if the user just specifies a directory
  • Protect certain files
  • Password-protect directories
  • Specify mod_rewrite rules (a black art) as I do below
  • map files and folders
  • Specify 404 error and other pages
  • etc.

I create and modify .htaccess files a lot but am acutely aware that they can do a lot more than I’ve been using them for.

Enter the .htaccess Generator! What’s going to be great about this site, for me, is that I can experiment with the features and see what the exact right syntax looks like.

For instance, how do I redirect the standard stylesheet to one appropriate for mobile phones? I filled out the form as follows:

Htaccess_gen1

I then got this back:

RewriteEngine  on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE}  [NC]
RewriteRule ^test\.css$  [L]
RewriteCond %{HTTP_USER_AGENT}  ^Mozilla/[345].*Gecko*
RewriteRule ^test\.css$ firefox.css [L]
RewriteCond %{HTTP_USER_AGENT}  ^Mozilla/[345].*MSIE*
RewriteRule ^test\.css$ ie.css [L]
RewriteCond %{HTTP_USER_AGENT}  ^Mozilla/[12].* [OR]
RewriteCond %{HTTP_USER_AGENT}  ^Lynx/*
RewriteRule ^test\.css$ lynx.css [L]
RewriteRule ^test\.css$ other.css [L] 

Now, I suspsect that my mobile phone might give me back something more specific, which I could type in here but now that I know the pattern I think I can take it from here.

Neat stuff.

May 27, 2006

Crickets... chirping... loudly

Many of you know that my sons’ room now sports a Bearded Dragon we have affectionately named Cricket, a name we picked in honor of his favorite food.

We recently moved up from baby crickets to medium-sized crickets. The larger crickets are a heartier meal, having more juicy goodness under that hard crunchy carapace. However these buggers are also more mature so they chirp. Loudly.

If you click on the link below you will hear what my kids are sleeping through for the past week. I suspect it is just a single cricket. I noticed that one of the crickets is different from the rest, it looks like it has wings or something. Perhaps this is my suspect? If I can narrow down the type of cricket making the noise, assuming it looks different from the rest, and recognize his “kind” in the future, I’ll make sure I feed him to Cricket first!

Listen

(This file is slightly modified. I reduced background noise and cut out a lot of the clanking noise I was making as I shifted around.)

Land's End


Land's End
Originally uploaded by Richard-.
I saw this photo on digg. If only we had a time-lapse movie of this phenomenon.

May 26, 2006

LIRR Stories

When I first started this blog, I had a few good stories about my LIRR commute. LIRR, of course, is the Long Island Rail Road.

Today, I don’t have stories about smelly bathrooms but I am sitting next to someone who is unconscious from tippling.I took a picture and here it is. This guy is drinking Bud Light. How can you get drunk off that stuff?

You can’t see this in the picture but he’s drooling like a 5–year old. Awesome.Hey, you knew there was a reason why you came to the Primordial Ooze each day, right?

Right now I’m listening to Northwest Noise, 45’s Sessions Show 26 podcast. If you aren’t a Northwest Noise listener, stop what you’re doing RIGHT NOW and subscribe. You won’t be disappointed. Me, I've been listening since October 2004 baby. I remember when Tim sang a song, playing the guitar, very drunk. (Tim, don’t do that again). One day I’ll make it out there and we’ll have a Rogue.

PS: The guy woke up and is looking around, wondering where he is.

 

 

May 25, 2006

New House

My brother and his wife just bought a new house on Long Island. Actually, in the town right next to mine. They currentlt have an apartment in the city and they hope to spend their weeks there and their weekends on L.I.

On their first day, they were greeted by some geese, or ducks, or whatever you call these floating birds:

DSC3342

DSC3351

Congratulations!

May 23, 2006

Manhattanhenge

Manhattan_sunset

Got this from one of my colleagues at work. Very cool.

“On Monday, May 28 the sun will set in the centerline of every NYC street. American Museum of Natural History astrophysicist Neil DeGrasse Tyson describes this phenomenon beautifully in the Natural History Magazine, explaining that like Stonehenge where the sun sets in alignment with stones during the summer solstice, Manhattan has two "special" days where the sun sets between buildings - May 28 and July 12:  On these days, the Sun fully illuminates every single cross street during the last fifteen minutes of daylight and sets exactly on the street's centerline. Upon studying American culture and what is important to it, future anthropologists might take the Manhattan alignments to be cosmic signs of Memorial Day and, of course, baseball's All-Star break. If the Manhattan grid matched the geographic north-south line, then our special days would be the equinoxes, the two days on the calendar when the Sun rises due east and sets due west. But Manhattan is rotated 30 degrees east from geographic north, shifting the special days elsewhere in the calendar.”

(Link)
 

Then I remembered that Charles Petzold, author of the venerable Programming Windows series of books, came up with a precise measurement of the angle that Manhattan is tilted. He came up with  something very close to 30°, or precisely 28.911°.

 

 

 

 

 

May 22, 2006

The Final Four

Greg CannellaMy cousin, Greg Cannella, is the head coach of the University of Massachusetts Lacrosse Team. He has been for the past 12 years.

His Minutemen have made the Final Four after an amazing OT comback against Hofstra. This is the first-ever NCAA Semifinal entrance.

Their next game agianst Maryland will be played @ 2pm in Philadelphia and will be televised on ESPN2.

Good luck Greg!

Bermuda

DSC00768I got back from a business trip to Bermuda. Some more pictures, here.

It was a nice place for a trip like this. It’s a relatively short under two-hour flight and the weather was fantastic.

Depicted here is a sunset on Saturday night, May 20th. we were on a 1–hour cocktail cruise which ferried us from our hotel to dinner, which was at the BAMZ.

I also enjoyed a new drink native to Bermuda made from Gosling’s Black Rum and Ginger Beer. It’s called a Dark and Stormy. Yum.

May 15, 2006

Quick Poll: Dome on house?

If I were to put one of these puppies on the roof of my house once I do some construction this summer, would I freak out my neighbors?

Photo32

Here is a picture from a house two towns over from me:

Dome2

The comment box is open!

 

May 13, 2006

Hard Drive Failure!

One of my dual 300GB hard drives failed last night. The dual-drive configuration is set up so the primary drive contains everything important and the secondary drive is a backup.

To back up my files, I use a STOMP Backup MyPC. I don’t back up everything, just all of my critical files like my music library, photo library, and files I authored or created in Photoshop / Illustrator.

Good thing for me the backup drive failed. If the primary failed, my weekend would be more or less miserable as I’d have to re-install Windows before being able to restore the backup.

So, I want to come up with a new backup strategy that will overcome these limitations. The goal of this new strategy is to always have working copy of my primary drive for instant no-hassle restoration. This can be achieved with Norton Ghost, which I have.

However, Norton Ghost reboots into a modified version of DOS so it’s not something I can automate on a nightly or weekly basis.

The solution I’ve devised is a combination of nightly STOMP backups combined with monthly Ghost image-taking. Every month I’ll reboot my machine and “ghost” my primary drive. This creates an exact duplicate that serves as my “no-hassle” restoration. Then, each night my drive will be backed up by STOMP.

In the event of a primary drive failure, I simply remove the bad drive and replace it with the ghost version. Once Windows restarts, I restore the ghosted image (which will be up to a month old) with last night’s backup. Finally, I’ll order a new 300GB drive to serve as the new ghost backup.

Since my machine only supports two drives, I ordered an external SATA enclosure. The ghost drive will sit in this enclosure.

The total equipment charge of my order was $295 (2x300GB drives + enclosure) and I ordered from newegg.com. While this may seem a bit pricey, in the event of a failure and being faced with either losing all of my data and/or spending the weekend restoring my drive, I’d pay just about anything.

May 12, 2006

Sad day for the Wiki

Today was a sad day for the Primordia Wiki. The site started to get some minor spam in the past two weeks. The site went for years without incident but the recent spamming activity gave me the willies. I’m no stranger to wikis being completely overrun by spam.

The strange thing is that the spam targetted a single page and no others. I don’t know why it was this one page, but I made the choice to head off further trouble. I enabled ACL.

So, only a few select registered users will be able to edit entries or create pages. This act makes me kind of sad since wikis are all about freedom. Oh well.

My only comfort is that the Primordia Wiki was never really supposed to be a community-developed site so this is not like I have made a major course-correction here. The original intent of the site was to allow the players and DM’s in our gaming groups to create and modify the content.

However, my friend Rob and I have been toying with the idea of starting a community-developed gaming world. In that scenario, community-developed content will be welcome and much appreciated. We’ll obviously need to think a bit harder about controlling the content and the spam in particular for that effort.

 

EditURI and RSD

(Warning, very dry entry to follow!)

For a long while, I’ve seen the EditURL header property in my blog web pages and I had no idea what it meant or what it was for. it always pointed to a file called rsd.xml. What the heck is RSD?

I often removed this field it thinking it was another kind of feed. I wanted to cut the concept out of my mind because I didn’t understand it.

I tried using Google to find out, but I was surprised by the lack of quality in the returned links. So, I instead looked at the rsd.xml file and it’s purpose started to get clearer.  

<rsd version="1.0">
    <service>
        <engineName>Movable Type 3.2</engineName>
        <engineLink>http://www.movabletype.org/</engineLink>
        <homePageLink>http://www.primordia.com/blog/</homePageLink>
        <apis>
            <api name="MetaWeblog" preferred="true" apiLink="http://www.primordia.com/blog/mt-xmlrpc.cgi" blogID="1"/>
            <api name="Blogger" preferred="false" apiLink="http://www.primordia.com/blog/mt-xmlrpc.cgi" blogID="1"/>
        </apis>
    </service>
</rsd>

This still doesn’t help me although it seems pretty clear that a program t hat sucks in this information would get an idea on the Web API’s that will likely work with the blog. In this case, the Blogger and MetaWeblog API.

If you’ve delved into the inner workings of BlogJet (my blog posting software of choice) you’ll notice that you don’t necessarily have to choose "Movable Type" as your blog access API. There are other choices such as, well, Blogger and MetaWeblog in the Blog Type dropdown found in the New Blog wizard.

Still, I wanted to learn more. What other capabilities can be exposed in this file? So, I viewed source and saw the namespace used by the RSD XML file: http://archipelago.phrasewise.com/rsd. Going to that URL revealed what looks like a permalink to the RSD spec, here: http://media-cyber.law.harvard.edu/blogs/gems/tech/rsd.html.

After reading that, I see the purpose of RSD is to allow editing software to automatically configure itself. It’s a shame that BlogJet seems to ignore the RSD file! In fact, the BlogJet "New Account Wizard" has been designed to ignore this file. Currently, BlogJet asks you to specify the location of the xml-rpc URI and the type of blog you’re connecting (Movable Type, Blogger, etc.). This initial dialog can be simplified to a single question, where is the main page for your blog? If BlogJet doesn’t find an RSD, then the existing dialog is probably necessary. Then, BlogJet asks you which blog you want to connect to on a single server. A single xml-rpc URL for Movable Type might support dozens of blogs. Again, this step is unnecessary since the blogID is contained in the RSD! In the above example,  this is 1 for Primordial Ooze.

 

 

 

 

RailsHelp.com FireFox Search Plugin

I created a quick and dirty Firefox Search Plugin for RailsHelp.com. You can install it here. When you install it, you can type in a Rails search term in the Firefox search box, like so:

Rails_firefox

This will basically bring you to railshelp.com. In the example above, the results returned by entering “render” in the search box.

Stupid, but wonderfully useful!

If you don’t like this search plugin and you want to delete it (or any Firefox Search Plugin) make sure you download and install the SearchPluginHacks extension. Once installed, restart Firefox, right-click on the offending search plugin in the search box dropdown and select ‘delete.’

May 11, 2006

Late Run

I snuck in a late run tonight knowing that I’d be in big trouble if I let two days slip by. I basically ran my shorter run (route1) since my motivation was pretty low. Still, it wasn’t hard and I’m hoping to get in a really long run this weekend. My goal is to run to my kids’ school, Maria Regina in Seaford. I drove there tonight so I could register my sons for the Cub Scouts. This will be about a 6.6 mile run. If I run 10–11 minute miles, I should expect to be going at it for up to 72 minutes.

I skipped by two-hour Tae Kwon Do class tonight so I could attend the meeting at the school. My master will be wondering where I’ve been all week but I think that my TKD will improve in the long run, so to speak, as I improve my stamina.

 

May 8, 2006

New Running Route

I went a little farther in my run tonight, a little over a quarter mile further to the road leading to my High School. I created another Google map with the new route. This had the effect of adding 7/10 of a mile to my run. I also sped up just a week bit, finishing in almost exactly 40 minutes. This brought my times just under a 10–minute mile (if I divided properly!)

Running_route2

On my last two runs, I’ve been wrapping my left knee since it was a little sore over the weekend. A guy at work tore his meniscus last year so I’d like to do whatever I can to make sure I don’t wear on it too much. A bad knee would make Tae Kwon Do nearly impossible.

Two things I’m interested in learning are how to breath properly and how to plant my feet after each step. I suppose I could Google for the information but any pointers from my running friends would be more than welcome!

May 7, 2006

Running, err... Jogging

In a month or so, I’ll be running in the JP Morgan/Chase Corporate Challenge race. It’s a short 3.5 mile road race. Before I do it I’d like to make sure that I won’t embarass myself and collapse in Central Park.

I’m always inspired by my friend Martin who not only ran the Buffalo Marathon, but the gruelling Pikes Peak marathon to boot. One guy at work also ran a marathon (I think the Chicago Marathon) and someone at my Tae Kwon Do school ran the Long Island marathon… a few of them.

I’m not saying that I’m trying to prepare for a bloody marathon, but I’d like to at least FINISH the Corporate Challenge.

I went and started running around town in order to get prepared. I wanted to know how far I was running in the 40–50 minute jaunts I was taking. So, I noted a few addresses and a few street names and I was able to plot my route without too much trouble. I used Google Earth to tell me the Longitude and Latitude coordinates of my “waypoints” and the Google Maps API to plot it all. The results are here.

Currently I’m only running 3.4 miles. I’m sure I could do more as I’m really not that tired when I get back home. The reason I’ve been limiting my runs to 40–50 minutes is mainly because I’m kind of afraid to go further… worried that I’ll poop out on the way back (I do NOT want to WALK back) plus, I’m a bit impatient too. I either want to get to work (in my morning runs) or I want to get back to my kids (in my weekend runs). As the running gets easier, I hope I can either extend my running time or simply run faster.

Maybe I’ll lose a few pounds in the process. I’m 179lbs now and my “normal” weight is like 190. I’m only 5'5'' so this is kind of high. Still, I’ve been making good progress.

May 3, 2006

Comment spam

I got an interesting piece of comment spam this morning. The message was:

you are fucking gay

The url, and there is always a url, was a user on myspace.com. I don’t want to give the exact url since that probably wouldn’t be a good idea.

But I was curious.

I loaded up a fresh Virtual PC image with undo disks enabled. This allows me to do anything I want with that Virtual PC and when I’m done, I shit it down and “delete changes” which basically reverts the VPC back to the state it was in before I started it. A complete undo. Going back in time. Cool.

I loaded the myspace.com page into IE and FireFox and the page would load into neither. Perhaps the page was trying to exploit some vulnerability in these web browsers? Not sure. My VPC didn’t really stick around long enough to find out.

But, I was still curious. I wondered if there was actually a page behind that URL. So, I fired up trusty old TELNET and issued this command:

telnet myspace.com 80

Web servers are text-based monsters, really, and this kind of thing is very natural. As long as you give the web server what it wants, it will talk back intelligently. So, I wanted to use the GET command to get the document in question. The command was basically this:

GET /the-url-that-I-won’t-mention HTTP/1.0

Then I hit enter twice. Don’t ask, you just have to hit enter twice. Viola, the page displayed as raw HTML. I saved this and viewed it in Lynx. I mean, who would exploit a vulnerability in Lynx? I mean, ARE there any vulnerabilities in Lynx?

The username was poop. Poop has two friends. Tom and Zoe. Zoe added a comment, which reads:

alex cannon is a genius
alex cannon is a genius
alex cannon is a genius
he writes the most beautifullest songs ever!!!!

Never trust anyone who uses more than one exclamation point. Also, Alex obviously rates and I’m just fucking gay. Still curious, I googled for “he writes the most beautifullest songs ever!!!!” Nothing. Then, “alex cannon is a genius”. Nothing.

Thats’ it. Now I know.

 

May 2, 2006

RE: Tag Cloud bug

Ok, so this is funny. I added a new category called “Movable Type” as I authored my last post on the Tag Ckoud problem that I had.

The only problem is that the tag cloud link had a space in it and thus didn’t map to the directory Movable Type created for the category, movable_type. So, I remember seeing in my MT doc link that there is also a dirify attribute and I also saw how you don’t need to specify both dirify and lower_case. So I changed my template code to the following which fixed all of my problems:

                     <div class="blogs-module module">
                       <h2 class="module-header">Tags</h2>
                       <div class="module-content">
                         <MTCatCloud all="0">
                         <span style="<$MTCatCloudCSS$>"<a style=";text-decoration: none" href="<$MTBlogArchiveURL$><$MTCatCloudName dirify="1"$>/"><$MTCatCloudName$></a></span>
                         </MTCatCloud>
                       </div>
                     </div>

Tag Cloud bug

One of my readers sent me an e-mail saying that the links in my Cloud Nine tag cloud (see the sidebar on the site) were all returning 404 errors. I checked it out and it seems as if the directories on my server are all lower-case but my category names all start with capitals.

I was tempted to change all of my category names to their lower-case equivalents but this would have taken a long time as the site needs to get rebuilt a lot and I have a lot of categories to change.

So, I look at the macro code to see if I could dynamically change the category.

                     <div class="blogs-module module">
                       <h2 class="module-header">Tags</h2>
                       <div class="module-content">
                         <MTCatCloud all="0">
                         <span style="<$MTCatCloudCSS$>"<a style=";text-decoration: none" href="<$MTBlogArchiveURL$><$MTCatCloudName$>/"><$MTCatCloudName$></a></span>
                         </MTCatCloud>
                       </div>
                     </div>

I saw where the directory name was formed from the category name, via <$MTCatCloudName$>. I was hoping there was an attribute I could set to force lower-case. Well, that turned out to be easy. All I had to add was lower_case=”1”. This was actually an attribute on <$MTEntryCategory$> but it also worked on the Cloud Nine tag so I was essentially done.

Thanks to Pavan for pointing this out.