Archive for the ‘annoying’ Category

Recording from a Hauppauge HVR-950Q USB TV Tuner to VirtualDub

Saturday, March 6th, 2010

The 2010 Vancouver Olympics are over. IMHO, they were awesome. Unfortunately, it’s time to get back to work. Almost.

I want to record some video from Shaw On Demand of a curling event that I attended live. I have access to a Hauppauge HVR-950Q USB TV tuner – a great piece of hardware paired with terrible software.

I had multiple issues, but in the end, as I type this, I have my old laptop capturing the video from the composite (i.e. “RCA” video) input from the Shaw Digital Box.

I started this adventure on my day-to-day laptop, a 1.5 year old laptop running Vista. On this computer, the WinTV 6 software could not properly display the signal from the composite input. It would get about 1 frame per second, plus some really weird “chipmunkesque” spurts of audio. It was unusable to view the composite feed, never mind trying to record from it. I then tried the newly released WinTV 7 software from the Hauppauge website. It was worse – it is even more bloated, even slower, and still unable to view the composite input properly. Note: I have previously watched the Over-the-Air HDTV channels with this unit, so it’s specific to the composite input, and it might be specific to my laptop. There is a big difference between OTA HDTV and composite – an OTA signal is compressed MPEG2 and the unit passes it directly over the USB to the TV tuning software, whereas, the composite is fed in some sort of raw format that requires massive USB bandwidth – i.e. there is no on-device MPEG encoding.

I tried VirtualDub next, the free video capture software that I’ve used from time-to-time for years. VDub could preview the signal fine, and with much less processor overhead. Unfortunately, when I tried to start the capture, I kept getting this error: “The Capture device does not support the video format”. I eventually find a solution to this error, but only after I tried my ancient laptop.

I tried using my ancient HP Celeron 1.1Ghz laptop. It runs XP, and my theory was that the Hauppauge software just doesn’t like Vista. This might be true. I was able to use the WinTV 6 software on the old laptop fine… eventually. You have to run the install, and the setup from an administrative login. Otherwise, the software will crash hard, without giving any clues as to why. Watching the composite input in WinTV 6 used a lot of the CPU, but it is a 5 year old laptop, so it’s all relative. It was unfortunately, far too slow to do a live encoding to MPEG.

So, I knew that the composite signal worked reasonably well. I tried VirtualDub on the ancient computer. I got the same error when trying to start the capture. The fix? The trick is to look at the VirtualDub device properties to see in which format the preview was coming in. In my case, it’s 720×480 UYVY. Once I set this on my custom capture format, VirtualDub worked fine. I’m not able to encode to MPEG live, I’m using HuffYUV and 10s of GB of hard drive space to capture 2 hours of video, but it will work. I’ll have to transcode to MPEG4 later.

In the end, I could probably have used VirtualDub on the first laptop that I tried now that I knew how to get a compatible capture format. According to Google, there aren’t many people who have had these problems… I feel special. Sometimes I wish things would “just work.”

A Fido Customer Relationship Failure: “Sorry! Your request cannot be completed at this time. Please try again later.”

Saturday, January 2nd, 2010

An example today about how an error message can make the difference between a happy end user, and an annoyed end user that is willing to blog about it – that’s me.

If you try to login to your account on the Fido.ca website, at about 11:30PM Pacific Time, you will get this error message: “Sorry! Your request cannot be completed at this time. Please try again later.”

On any other website, I would assume that there is a temporary, generally one-time, issue. Maybe the site is overloaded, or it might have a technical glitch. That’s OK. In Fido land? This error means that the website is down for it’s nightly maintenance and I should give up and try tomorrow, but earlier in the night because Fido doesn’t like people on the West Coast.

This isn’t listed anywhere – it’s something that I’ve deduced over months of using the Fido site to pay my bill by credit card. I’m not impressed that Fido’s website has a nightly maintenance schedule, especially one that seems to kick in before midnight Vancouver time, but I’m really not impressed by the wording of the error. All they need to do is follow the banks and fess up to their maintenance schedule. Something like, “Hi, the Fido.ca user site is unavailable from 11PM to 6AM PST. Please try again during our operating hours.”

As an aside, if you’re wondering what the error message is if you have entered your phone number or password wrong, it’s “No match for that phone number and password was found. Please try again… Sorry! No match was found for that phone number and password. Please retry.” in a red box right above the login boxes. I kept getting the “Please try again later” error, so at one time I wondered if I had been using the wrong password.

Is this a big enough annoyance to make me switch my cell plan away from Fido? No, but this added to various other annoyances and… well… I’ll certainly be evaluating my options when the new wireless providers in Canada start up in 2010.

The Missing Menu Bar in Vista

Wednesday, November 11th, 2009

A few weeks back  I discovered the missing menu bar in Explorer in Vista.  All you have to do is press and release the Alt key and the good old “File | Edit | View | Tools | Help” menu pops up.  I find this useful to get to “Map Network Drive” no matter where I am in the computer browser.  Otherwise, the only link was the  context sensitive button that shows up at the “Computer” level.

Only a few more Vista annoyances to go!  OK,  it would have been smarter to post this before Windows 7 launched; however, Vista will be running on this laptop until it dies of old age.

Cross Browser Compatibility of TEXTAREA and Chrome, Firefox, and IE with CSS “white-space: nowrap;”

Monday, October 19th, 2009

Today, the Perceptus Web Tools got a minor upgrade to improve browser compatibility.

A company bought a  license to our unique Excel to SQL INSERT Commands tool for their internal, confidential, use.  Cool! We never expected tools.perceptus.ca to be a revenue generator… but it does have unique features.  After all, we wrote them because we couldn’t find another website that could do the task for us!

In the interest of delivering a nice package to our new licensee, we  noticed that many of the text mangling features did not work in Google  Chrome.  Chrome web browser was stripping line breaks and consolidating sequential “spaces”.  We then realized that the site was not working in Internet Explorer either. Whoops.  Well, it is a  site primarily for our own internal uses, after all.

We had discovered a browser compatibility issue that probably affects very few people. We want a textarea without any wrapping, because some features are based on copy and pasting large amounts of data from Excel – automatic text wrapping makes hard to read.

Our original, Firefox functional, Chrome and Internet Explorer non-functional, TEXTAREA used the following:

  • CSS: white-space: nowrap;
  • TEXTAREA attribute: WRAP=”OFF”

In Firefox, we got a nice blob of text that you can scroll horizontally displayed.  In IE7 and IE8?  All kinds of crazy.  ”Enter” keys got replaced by some sort of special inline character, lines and spaces got trimmed or cut out.  Google Chrome stripped out line breaks and leading spaces, and other oddities.

Upon research, we learned that the “WRAP” attribute is not W3C approved.  Technically, it is not deprecated, but that’s because it never existed in the specifications. So we removed it and tried to use only CSS. We tried a few combinations of the overflow, white-space, and display CSS properties.  They didn’t work.

What did work?

No CSS at all.

If you view the source of the tools.perceptus.ca site and the corresponding CSS file, you will only see this:

<TEXTAREA NAME=”thetextROWS=”20COLS=”100WRAP=”OFF“>

This works as we wanted in all three web browsers.  It is officially non-standard.  But it works.

If someone would like to submit a CSS that will actually work, I’d love to see it.  But for now, I’m just going to keep complaining about how much web programming still stinks. Maybe the moral of the story is that thanks to Apple’s Safari and Google Chrome, every web site should be tested against at least one of the Webkit based browsers in addition to Firefox and Internet Explorer.

Spoolsv.exe using lots of CPU on a Terminal Server

Friday, July 17th, 2009

I have this recurring problem at one client’s site.  The setup is a small Windows 2003 Terminal Server environment, with remote POS terminals over the Internet – I don’t like this arrangement for the many single points of failure (a couple ADSL lines, a couple routers, a couple switches, a single server, etc.), but that’s beyond the scope of this post.

This client is happens to be running BBL, AKA WinPOS, AKA, WinBPS, over Terminal Server.  I have no comment on the software itself, it’s the arrangement of using it over Terminal Server over the Internet that makes me nervous – no, I had no input into this setup.

A further complication, is that the printers that the software uses, Zebra, label/ticket printers, have poor drivers that I don’t believe to be TS compatible.  They sometimes get stuck when the remote session is closed.  This eventually screws up the Windows spooler service.

When this system stops working, new Remote Desktop sessions fail to start properly.  After logging into the server, I will check the processor usage in Task Manager.  If the spoolsvc.exe process is using a lot of processor time, this is what I do:

N.B. Follow at Your Own Risk.

Stop the spooler service (no one will be able to print, but they probably can’t already):

net stop spooler

Open RegEdit.exe and browse to this part of the registry:

HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\PRINT\PRINTERS\

At times, I’ll find dozens of stale Terminal Server printers listed.

Export the registry keys first, to make a backup, just in case.

Then delete the Terminal Server printers from that same part of the registery, do NOT delete the local printers.  These are the ones with the “…on MyComputer … in session…” within the printer name.

Deleting these has worked for this particular server several times to resolve the CPU hogging spooler service (spoolsv.exe)… but sometimes they can’t be deleted in RegEdit.

Grab a copy of RegDelNull by Systernals, it’s free as in beer.

Use RegDelNull.exe to remove some of the entries that would not delete manually – I’m looking at you Mr. Zebra Printer Driver.

Here’s what that looks like (anonymized, of course):

C:\Installs>regdelnull HKLM\System\CurrentControlSet\Control\Print\Printers -s

RegDelNull v1.10 - Delete Registry keys with embedded Nulls
Copyright (C) 2005 Mark Russinovich
Sysinternals - www.sysinternals.com

Null-embedded key (Nulls are replaced by '*'):

HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\PRINT\PRINTERS\Zebra101 _
on MyComputer(from MyComputer2) in session 3\PrinterDriverData\Barcodes\(0x1701)*de 93

You get a prompt to fix the Null.  Say “Yes”.

Then go back up a few steps and delete the problematic printer from RegEdit.  With the null value gone, you can delete it.

Then restart the spooler service.

net start spooler

If this works, the spooler will start, it won’t use a suspicious amount of processor cycles, and the RDP connections will start working immediately – no reboots required.

Then go and find updated drivers.

I’d be glad to hear about a better solution… please comment below.