Archive for the 'Windows' Category

01
Jul
10

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’

19
Jan
10

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.

23
Dec
09

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.

11
Dec
09

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.2.0.0.256.4
Locale ID: 1033

or

Problem Event Name: InPageCoFire
Error Status Code: c000009c
Faulting Media Type: 00000003
Damaged File Name: SyncCenter.dll
OS Version: 6.1.7600.2.0.0.256.4
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 Win741.com 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.




Calendar

December 2019
S M T W T F S
« Nov    
1234567
891011121314
15161718192021
22232425262728
293031  

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.