Archive for the 'computer' Category


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 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, 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, is owned by, which has a lot more visibility as a URL-shortening service.  While owns, 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 and  Furthermore, and actually share their database, since and, for example, both redirect to the same site.  This raises the question of why I would want to use a shortening service like when is actually the same but produces URLs that are 2 characters shorter.  In many ways, is the best of both worlds.  Because it’s connected to, it offers a slew of nice features but it produces the shortest URLs around.

Unfortunately, it’s clear from the website that is interested in promoting and not  At some point in the past I went to and grabbed their “Shorten with” 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, it offers a “Shorten with” bookmarklet rather than a “Shorten with” bookmarklet”.  Doesn’t that seem strange?

Fortunately, there is a simple solution: manually edit the bookmarklet.  It turns out that simply changing in the “URL” field code to is sufficient to change this “Shorten with” bookmarklet into a “Shorten with” 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 rather than


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.



I got my wife the Eye-Fi 4GB Share Video SD card this year for Christmas.  Yesterday, while we were snowed in, we exchanged a few gifts so she got to open it.  In a nutshell, this SD card has both 4GB of flash storage and a built-in wireless adapter that enables it to wirelessly transmit photos and videos to your computer over your wireless network.

While I thought this would be a great gift, I was a little concerned that it wouldn’t work on the university’s wireless network in our on-campus apartment.  Sure enough, when I tried to set it up yesterday I couldn’t get it to work.  Any time a new device tries to connect to the university’s wireless network the DHCP server assigns it a temporary local IP address and redirects it to a registration web page.  Unfortunately, the Eye-Fi isn’t really a network adapter so you can’t use it to browse the web.  Thus, you can’t visit the registration page in order to register it for use on the network.

After the automatic setup procedure didn’t work I jotted down the card’s MAC address (which is easy to determine using the included software) and emailed the IT people on campus to ask if they could manually add the card’s MAC address to the list of MAC addresses the DHCP server will supply with IP addresses.  They were very helpful and responded that they had added the card’s MAC address as I had asked.

So, now it appears that I’m all set. I spent some time this afternoon getting it set up and I’ve successfully uploaded 5 or 6 pictures and one video using the device. All in all, it’s pretty nice. Hopefully, using this card will simplify the process of getting pictures from the camera to the computer but only time will tell if the device lives up to its promise.

If the card I got my wife works out well, I’ll seriously consider buying the Eye-Fi Pro, which permits you to upload RAW files as well as JPGs and videos.  In addition, it enables you to set up an ad-hoc connection with your PC so you can bypass local wireless networks and upload pictures directly from your card to your computer.  This type of functionality typically costs much more than either the Eye-Fi Pro’s street price of $100 or its MSRP of $150.


Windows 7 woes

We recently got a new computer to replace Rechner.  It came with Windows Vista but since MIT has a site license to Windows 7, I installed that immediately after receiving the computer.  It’s been running fine for about a week, I guess, but today it started acting up.  I was using it this morning and the system hung a couple of times for 20-30 seconds each time.  I didn’t know what the problem was, so I used the tried and true approach: reboot.

However, upon rebooting, I was greeted with a message that Windows Explorer had crashed.  I tried restarting Explorer but it crashed again.  I tried rebooting a couple more times but to no avail.

So far, each crash has been one of two types:

Problem Event Name: APPCRASH
Application Name: Explorer.EXE
Application Version: 6.1.7600.16404
Application Timestamp: 4a765771
Fault Module Name: ntdll.dll
Fault Module Version: 6.1.7600.16385
Fault Module Timestamp: 4a5be02b
Exception Code: c000041d
Exception Offset: 000000000003d8db
OS Version: 6.1.7600.
Locale ID: 1033


Problem Event Name: InPageCoFire
Error Status Code: c000009c
Faulting Media Type: 00000003
Damaged File Name: SyncCenter.dll
OS Version: 6.1.7600.
Locale ID: 1033

The second one has been more prevalent by far.  Generally, if the first one is observed, it occurs first thing after a reboot.  All subsequent crashes are of the second type.  So, I searched for this information online.

Unfortunately, I haven’t been able to locate any information on this particular type of error.  A search of “Windows 7” + InPageCoFire + SyncCenter.dll returns no hits on Google.  However, I did find some general advice, suggesting that reverting to an older known-good restore point could help.

So, I got out the install DVD and used it to go back to an earlier restore point.  I noticed that there was a restore point from early this morning, just prior to a critical update having been installed. I figured this must of have caused the problem so surely, reverting to the restore point prior to the update would fix it.  Unfortunately, it did not.

I tried reverting to an even earlier restore point.  That still didn’t help.  So, I tried running the built-in memory diagnostics.  That didn’t appear to produce any errors but I can’t be sure because it’s supposed to give you a report once you restart the machine and log in to Windows.  I can never get far enough to see the report.

I just downloaded memtest86+ and I’m running that right now.  My current expectation, however, is that there are no problems with the memory.  Rather, I expect that somehow SyncCenter.dll (and possibly ntdll.dll)  got corrupted.  I don’t know how to fix that.  I had a similar problem back in Windows 95 with some corrupted DLLs.  I ended up solving the problem by copying the affected DLLs from a friend’s computer.  However, I don’t know if I’ll be able to take that approach this time because I can’t even use Windows Explorer.  Perhaps I could use a Linux Live CD and the necessary DLLs on a USB drive to make the switch.

Or, I could just reinstall the OS.  When I installed the OS, I partitioned the 640GB drive into two partitions: 150GB for the OS and programs (on C:) and about 450GB for my data (on D:).  This would enable me to wipe the C drive and reinstall without requiring me to recopy all my data.  We’ll see.  If I end up having to spend much more time on this, I’m just going to wipe the drive and start over.

If anyone reading this has any suggestions on things I could try, please let me know in the comments.  Thanks!

UPDATE 1: According to this site, SyncCenter.dll is statically linked to ntdll.dll and won’t run properly if ntdll.dll is corrupt or missing.  So, maybe SyncCenter.dll is OK and the real problem is ntdll.dll.  I’ll have to see if I can find a way to replace this file.  Also, memtest86+ completed with no errors, so the problem doesn’t appear to be RAM-related.

UPDATE 2: After a bit more digging online, I found some references to problems with Windows Explorer crashing because of a weird interaction with Firefox.  I tried to uninstall Firefox but Windows Explorer crashed too rapidly for me to even open the Uninstall Programs window.  So, I booted into Safe Mode.  I was curious to see whether I still got the crashes.  I did.  Fortunately, in Safe Mode I managed to uninstall Firefox.  I rebooted into regular Windows, but much to my chagrin, Windows Explorer crashed again.

Earlier in the evening I had posted my problem on a Microsoft forum but I subsequently decided that all this troubleshooting was for the birds and that I should just go ahead and reinstall the OS.  The last time around, I had used my university’s site license to install Windows 7 Enterprise.  However, with the possibility that my problem was due to the corruption of a file, I wondered about how reliable it was to download a nearly 3GB ISO file via wireless, burn it on a DVD and then install it.  Fortunately, I had also bought a copy of Windows 7 Professional from for $30 earlier this fall.  I paid a bit extra and had them send me a disc.  I decided I would use this disc to reinstall Windows 7 since it was a pressed DVD and is probably more reliable from a data integrity standpoint than a downloaded 3GB ISO image burned on a DVD.

The installation went fine.  A clean install seems to generally take 20-30 minutes, which I think is pretty reasonable for an operating system.  I used Ninite to install a bunch of software we use.  Importing all my music into iTunes was easy – I had spent some time cleaning up my iTunes library with my last install and since I had put all that data on my data partition, it was easy to import again.

Importing photos into Picasa looks like it’ll take a bit more work.  The photos themselves are no problem; the problem lies with the face recognition.  When I copied all our pictures over from the old hard drive, the face “groups” were preserved (in the .picasa.ini files in each folder containing photos) but the names associated with those groups were not.  So, I didn’t have to do any obnoxious manual sorting like I did when I first installed Picasa on our old machine but I did have to input names to go with those face groups or at least connect those face groups to contacts from my wife’s set of Gmail contacts.

This time around, it looks as though the face who were connected to Gmail contacts have had those connections preserved while it looks like I’ll need to reenter the names of people (mostly children) who weren’t in my wife’s contact list and whose names I had entered manually.  I’m going to let it crank over night and in the morning I’ll see what needs to be done.

In any case, I hope the curious case of the crashing Windows Explorer doesn’t rear its ugly head again.  Though, if it does, hopefully, by then I’ll have received a useful answer to the question I posted on the forum.


June 2019
« 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.