When I was in high school and undergrad, I used to doodle a lot on my notebook paper and class handouts.  I’ve been going through old boxes and folders of stuff from high school and college in order to get rid of things I’m never going to look at again.  In the process, I discovered a bunch of doodles I had made – probably between 1996 and 1998.  I think I’ve only scratched the surface, but here are a few that I found interesting, presented without comment.

Continue reading ‘Doodles’


The Greatest Home Run Ever: 50th Anniversary

Yesterday was the 50th anniversary of the Pittsburgh Pirates’ dramatic victory over the New York Yankees in game seven of the 1960 World Series.  For the last 25 years at least one person has listened to the radio broadcast in front of what remains of the outfield wall of Forbes Field.

Sign Commemorating Forbes Field

Given that this year is the 50th anniversary, there were quite a few more people there than usual.

People gathered at the wall

So many people were expected that the city closed off the street that runs by the wall in order to accommodate the festivities.

Street Closed

There were some interesting characters in the crowd.

Super 'stache

Arrr, matey!

There were plenty of reporters and cameramen.

Whoa, I definitely should not have had that burrito for lunch.

People brought along souvenirs and mementos…

Maz and the '60 Bucs

…and maybe a beer or two.

Yinz got an arn for me?

When 3:36 rolled around, it was time to celebrate.


High five!

It was a great event, an opportunity for those of us who weren’t there to experience the thrill of it, and a chance to share it with the next generation.

We had 'em all the way!


Of Synergy and cross-over cables

The last few months have been very eventful. I finished writing my thesis, did my thesis defense, graduated, moved, and started my new job.  I’m getting close to the end of my second week in the new position and during that time I’ve been gradually getting my office set up the way I want it.

My main work computer is a Windows 7 PC but I also have a Mac Mini that I use for cross-platform testing and other various activities.  I have two monitors attached to my PC and one connected to my Mac.  Since I have two computers but I only want to use a single keyboard and mouse, I had two options: using a KVM switch with the V part disconnected (thereby only using the keyboard and mouse) or use Synergy.

I’ve used a KVM switch before without the video switching and it’s incredibly confusing.  I’ve also used a KVM switch with video switching and it’s pretty inconvenient.  So, I decided to use Synergy.  Read on for how I got it all set up.

Continue reading ‘Of Synergy and cross-over cables’


Adventures in awk

I’ve been working on a literature review lately so I’ve been sifting through tons of articles.  In my search, I’ve come across a few bibliographies of papers on specific topics which were compiled by researchers interested in those topics.  When the bibliography is reasonably small (in the case of a very narrowly defined topic), it’s usually fastest to sift through it by hand to find articles that might be of interest.  However, the most recent bibliography I found contains 8342 papers.  I am definitely not about to print that out and go through it by hand.

This bibliography is available as an EndNote library file and as a Rich Text Format (rtf) document.  Apparently, if you have a recent version of EndNote installed you can use its search features to sift through the data.  However, the file won’t open in EndNote 6, which is what I have on my laptop.  Zotero wouldn’t import it either.  I tried using the built-in search capabilities in Word and even jEdit on the rtf but nothing could provide me with what I wanted.  Basically, I wanted the ability to export entries that matched a given search criterion to a separate file.  Presumably, there are programs that can do this for you, but I don’t know of them and don’t have them installed.

In the end, I decided to convert the rtf to a simple txt file.  This put each entry on its own line.  With each entry occupying a single line in the text file, I just needed some way to search for a given term and then output each line that contains that term.  I have used sed and awk a little bit in the past and I knew that there must be some way to do that with either or both of those, so I looked into their syntax online.  I found this awk tutorial and, using the examples there, I was able to put together a command that does exactly what I needed:

awk '/term/ {print $0}' < bibliography.txt > term.txt

where “term” is replaced by whatever term you want to match.  You can further automate this by putting a bunch of these commands into a shell script or writing a little Perl program that will take a command line argument and insert it as “term” in the command.

Now I have a list of papers related to all the terms I’m interested in and I’ve got a fast way to search for further terms in the future if I need to.  The approach is a little “awk”ward (groan!) because I have to run it in Linux and I use Windows most of the time.  I no longer have Linux installed as a virtual machine on my laptop and I don’t even have Cygwin installed anymore.  So, I had to upload my text file to one my research group’s Linux servers, run the scripts, and download the results back to my laptop.  Once I figured out what I needed to do it took me less than half an hour to do it, though, so even if it’s kludgy, it’s still a lot faster than reading through the bibliography manually.

UPDATE: I just realized that all I did was replicate the functionality of grep using awk.  That is, I could achieve the same result with the following code:

grep term < bibliography.txt > term.txt

Additionally, it turns out that you can produce this functionality with sed as well, using the following code:

sed -n 's/term/&/p' < bibliography.txt > term.txt

I guess I missed the fact that I could use grep because I started thinking about using sed or awk before I converted the file to plain text.  Each entry was spread over multiple lines so I was thinking about needing something fairly sophisticated.  I know that grep can do regular expressions but my first thought went to sed and awk, which are like one logical unit in my brain because of the O’Reilly books that cover both.


URL hijacking

I’ve been using the online resources provided by the university library a lot lately.  Mostly I’ve been accessing online journals and downloading pdfs of articles that are pertinent to my work.  Generally, access to these journals seems to be afforded to people on campus by routing the request from the library website through a proxy server that the library maintains.

Unfortunately, I’ve found that basically any URL ending with mit.edu gets hijacked by the proxy server or my browser somehow routes the request through the proxy server if I’m using Firefox.  This isn’t a problem for sites that don’t require authentication but it’s produced a number of problems for sites that do require authentication.  Basically, I can no longer access the online purchasing portal or even the student services portal using Firefox.  This might not seem like a huge problem since I should just be able to use a different browser.  However, MIT doesn’t provide a means for installing personal certificates in Chrome or IE 8 (which are the only other browsers I have installed), so I can’t use these browsers to access sites requiring certificate-based authentication using alternate browsers either.  I ended up having to use a different computer altogether in order to pay my student account and register for the Spring semester.

I’ve been in contact with the help desk at the library.  They’ve offered some suggestions but, so far, nothing has worked.  First, they recommended that I check the proxy settings in Firefox to make sure that I didn’t have the library proxy set as my means of connecting to the internet.  I checked my settings and, sure enough, the option selected was “No Proxy”.

They suggested clearing my browsing history in Firefox.  So, I opened Firefox and chose Tools -> Options -> Privacy -> “clear your recent history”.  I told it to remove everything and I selected all the various types of data available to delete – browsing and download history, form and search history, cookies, cache, active logins, and site preferences.  After clearing them I attempted to go to the MIT purchasing portal but the request was redirected again through the library proxy.  I tried typing a few characters of the URL and I found that the address bar still offered a bunch of choices from sites I had visited in the past.  What?  I thought this stuff was supposed to be cleared!

So, I downloaded CCleaner, a donation-ware program that can search your system and clear out temporary files, cached files, and various things that browsers tend to accumulate.  So, I ran that and cleared out everything including my history and cache in IE8 and Chrome.  I went back to Firefox but, although everything was gone, if I chose View -> Sidebar -> History (Ctrl H) or History -> Show All History (Ctrl + Shift + H), if I type a few letters in the address bar, it still suggests to me sites that I’ve visited in the past.  How do I get rid of the stuff in the address bar?

It turns out that the sites that still come up in the address bar are sites I’ve bookmarked.  I had forgotten that the address bar in Firefox also searches your bookmarks as well as your browsing history.  So, my history is clear after all and using CCleaner was unnecessary.  That said, it did clear out like 2GB of temporary files, which is a nice little bonus.

I was at a loss about what to do when I had a flash of insight – maybe the problem is related to the DNS cache.  So, I followed these instructions and flushed my DNS cache.  I was certain this would work.  But, it didn’t.

As a last resort, I decided to check my Firefox add-ons.  My first thought was that the problem could be related to NoScript since it’s the most invasive of the add-ons that I use.  However, the problem persisted even when I turned NoScript off.  Then, looking through the list of add-ons I use, I spotted Zotero.  This add-on is for managing journal article and book references.  I have used this add-on extensively during my library research, so I decided to look under the hood.  What I found was this:

I took a screenshot of this for future reference and then removed the entry.  Voila!  I’m now able to access the purchasing portal, the student services site, etc.

So, if you’re having weird problems with certain sites being redirected through library proxies and you have Zotero installed, Zotero is probably the culprit.  I suggest you start by checking on Zotero’s proxy settings.  If there isn’t anything in the list or if removing items on the list doesn’t fix your problem, try some of the other things I tried.  In particular, I recommend you check Firefox’s proxy settings, followed by flushing your DNS cache.

I hope that someone will find this useful!


My URL-shortening service of choice

As far as I’m concerned, URL-shortening services have one objective: to make URLs short.  I am a lot less concerned with various features those service might offer than I am with how short they can make URLs.  As far as I can tell, j.mp creates the shortest URLs around, so it has become my URL-shortening service of choice.  Not only does it have the shortest possible domain name but it also uses both upper- and lower-case letters as well as numbers as the database key.  This means that it can index more URLs using a given number of characters than shortening services that use, say numbers and only lower-case letters.

However, j.mp is owned by bit.ly, which has a lot more visibility as a URL-shortening service.  While bit.ly owns j.mp, they are not separate services that happen to have the same owner; rather, they are highly integrated.  A single user account gets you access to both bit.ly and j.mp.  Furthermore, j.mp and bit.ly actually share their database, since http://j.mp/84SxlS and http://bit.ly/84SxlS, for example, both redirect to the same site.  This raises the question of why I would want to use a shortening service like bit.ly when j.mp is actually the same but produces URLs that are 2 characters shorter.  In many ways, j.mp is the best of both worlds.  Because it’s connected to bit.ly, it offers a slew of nice features but it produces the shortest URLs around.

Unfortunately, it’s clear from the bit.ly/j.mp website that bit.ly is interested in promoting bit.ly and not j.mp.  At some point in the past I went to j.mp and grabbed their “Shorten with j.mp” bookmarklet, which I put in my bookmark toolbar so I could easily shorten URLs for use on Twitter.  However, this bookmarklet appears to be gone.  If you go to http://j.mp/pages/tools, it offers a “Shorten with bit.ly” bookmarklet rather than a “Shorten with j.mp” bookmarklet”.  Doesn’t that seem strange?

Fortunately, there is a simple solution: manually edit the bookmarklet.  It turns out that simply changing bit.ly in the “URL” field code to j.mp is sufficient to change this “Shorten with bit.ly” bookmarklet into a “Shorten with j.mp” bookmarklet.  In addition to making the change in the “URL” field, you probably want to change the name of the bookmarklet just so it’s clear that you’re using j.mp rather than bit.ly.


Stuff breaking

“When it rains, it pours” as the old saying goes.  That has been my experience recently with a few items I had bought.  They all seemed to die pretty close together so I’ve been trying to get the situations resolved with all of these items practically simultaneously.  Here’s a list of the stuff that’s getting replaced:

  • Koss SB49 computer headset (headphones + microphone): The microphone died.  Well, it doesn’t seem fully dead but on many devices it is so quiet that it’s basically useless.  Fortunately, Koss has a lifetime “no questions asked” repair or replacement warranty.  You ship it to them on your own dime and include $6 for return shipping.  They take care of the rest.  Hopefully, this will go out today and I’ll get it back sometime early in the new year.
  • Western Digital Caviar Blue 640GB hard drive: After the hassles I had with Windows 7 on my new Lenovo PC, I wasn’t expecting any further trouble for a while.  Unfortunately, one night last week my wife and I head a high pitched, very grating noise.  I finally tracked it down to my computer.  I hoped it was a fan but it wasn’t – it was the hard drive.  I shut down the machine and when I tried rebooting, it wouldn’t boot back into Windows.  So, the drive is shot.  I contacted Lenovo about it and they’re sending me a new drive, which should arrive tomorrow.  I’m always nervous about single drives being shipped.  Hopefully, it’ll work as intended.  I really don’t want to spend any more time fiddling with this computer.
  • Verilux 26W compact fluorescent light bulbs. These are great.  I ordered them over the summer.  They’re 26W, which, in terms of light output, is approximately equivalent to 150W incandescent bulbs.  However, rather than being a sickly yellow color, these are very clean white light – 6500K to be exact.  While the bulbs themselves are great, I’ve had a bunch of problems with the delivery.
    When I first ordered them, one of the 2 bulbs in the double pack arrived broken.  The company sent me a replacement, which arrived intact.  However, one of my original bulbs just burned out, well shy of the 10,000 hours they’re supposed to last.  So, I contacted the company about it and they sent me a replacement but it had the wrong connection type.  So, they sent me a double pack (very nice) of the correct connection.  However, when these arrived, they were both broken.
    The customer service rep I’ve been dealing with has been great – very helpful and very apologetic about the various problems that have occurred.  After I received the broken bulbs she said she would send me two packs of bulbs (that’s 4 bulbs) because of the all the hassle I’ve gone through and that she would personally package them herself to make sure they arrived intact.  A lot of companies would probably have just stopped responding to my emails but Verilux obviously puts a strong emphasis on customer service and it shows.

Update (12/23/09): I just received the bulbs.  None of them were broken.  Sweet.  I am all stocked up on these bulbs for a while.

My wife took the headphones to the post office, so they’re on their way back to Koss.

Update (12/24/09): I received the hard drive today from Lenovo.  I don’t think I’ll have time to deal with it for a few days, though.

Update (12/26/09): According to USPS delivery confirmation, my headphones were delivered to Koss today.  I wonder how long it’ll take for them to come back to me.

Update (01/05/10): I received the new hard drive on Christmas Eve but didn’t have time to deal with it until December 28th or so.  The new hard drive was partitioned but not formatted.  Since there wasn’t already a Windows installation on it, my upgrade version of Win 7 wouldn’t let me activate it.  So, I did the old double install trick.  I just shut the machine off and ran the installer again.  It detected the Windows installation I had just installed and let me activate it using my key for the upgrade media.  This only added like 20 minutes to the whole operation.

With the OS installed, I set up my awesome dual SATA HDD dock to copy data over from the hard drives that I pulled from our old machine.  So far, I’ve only copied over the really important stuff: photos, videos, and music.  Our documents and other stuff will come later.

Last night, I started preparing to send the defunct drive back to Lenovo.  I used Eraser to securely delete all the files on the data partition.  We basically only had family photos and music on there but they don’t need to see all that stuff.  Interestingly, the drive behaved itself and didn’t produce any grinding noises.  However, when I tried to delete things off the OS partition, it acted strangely, sometimes taking an extraordinarily long period of time to delete a single file.  So, I’m confident that the drive is not healthy and needs to be replaced.

Today, I boxed up the drive and stuck on the shipping label they sent me.  Now I just need to get it to Fed Ex or have them come and pick it up.

Update (01/11/10): I sent off the hard drive on the 5th or 6th.  I’m still waiting for my headphones.  In the meantime, I’ve gone back to using my old Sony MDR-D11 headphones.  They’re very compact for closed circumaural headphones, they sound pretty good, and they’re pretty comfortable.  They’re a little muddier than the Koss model I’m getting repaired and, of course, they don’t have a microphone.  Hopefully, I’ll get the Koss phones back soon – I’ve missed being able to use them for Skype conversations.

Update (01/11/10 #2): I received the headphones this afternoon.  As it turns out, they didn’t repair my old headphones; they simply sent me new ones.  This isn’t surprising at all to me.  In any case, it looks like I’m back in business.  The headphones sound good and the microphone works again.  I’m not thrilled that it cost me about $12 to get $30 headphones replaced, but it’s better than having to buy a brand new pair, so I can’t complain too much.

So, (knock on wood) it looks like I’ve got everything resolved.  My headset was replaced, my hard drive was replaced, and my light bulbs were replaced.  Hopefully, it will be a while before I have to deal with any further customer service people.  I can’t complain about any of the interactions with customer service reps or about the outcome of those interactions.  Everyone was pleasant and helpful but dealing with this stuff takes time and mental energy, not to mention the period of down time during which you’re without the item you bought and have grown to rely upon.


October 2016
« Nov    

Recent Twitterings

Follow Me on Twitter

RSS That to which I am listening

  • An error has occurred; the feed is probably down. Try again later.

RSS Entries from my photoblog

  • An error has occurred; the feed is probably down. Try again later.