Wednesday, June 11, 2014

RSS feed of search results in eBay: where did that lil' RSS button go?


 Where Did You Go?

For some reason, eBay did away with their incredibly useful search feature that published an RSS feed of results matching a given search.

However, there is still a "hack" that enables this useful feature. Ebay member jjb262 contributed this wisdom:
Execute the search, copy the URL in the address bar, then add &rss=1 at the end.
Bingo, problem solved, but this leaves me with concerns. As technologies like Google Reader and RSS buttons become less apparent, the Web has become less and less of a friendly, open, and connected place...

Thursday, March 13, 2014

Ankidroid issues on Nook Simple Touch

I love using the rooted Nook Simple Touch for work outside in the sunshine. Unfortunately, recent versions of Ankidroid have a particular bug that hasn't been fixed in production code yet. Here's a link to a custom compiled version of Ankidroid for NST, including a more detailed description of the problem:

http://theitcrow.wordpress.com/2013/08/18/ankidroid-crashing-on-nook-simple-touch/

Friday, February 7, 2014

Tips when upgrading PC-BSD 9.2 to PC-BSD 10


Here are some tips for you, if you decide to do a live upgrade from PC-BSD 9.2 to PC-BSD 10:
  • After your machine reboots for the first time, run pkg install -f to update all packages in order to match packages to the base system libraries.
  • Make sure that /etc/loader.conf contains the entries that you need for your hardware. In my case, nvidia_load="YES" is important.
     
  • After the aforementioned modifications, run grub-mkconfig -o /boot/grub/grub.cfg due to a known bug when upgrading grub.
  • In my case, pc-updatemanager didn't install the base overlay correctly. I was missing several important libraries; these omissions prevented both ssh and sshd from running. To fix:
    • Back up your /etc/ directory (and everything else -- I used a zfs snapshot -r tank)
    • Download the base system overlay from your favorite mirror into a nice place like /var/tmp/
    • cd /; tar xfym /var/tmp/base.txz
    • Check for missing / broken libraries by using libchk (I uninstalled many packages that were discontinued / no longer applicable)

Thursday, January 23, 2014

No monitor device on USB sound card? No problem.

My USB sound card doesn't have a "monitor" mixer device. In other words, in order to listen to audio that is being recorded through my speakers or headphones, I need to record and play back that audio.

PulseAudio makes this somewhat easy using module-loopback, although the method is esoteric, so here are the applicable commands.

In order to figure out what input and output devices to use,
pactl list | grep -1 State
You should see a number of sources and sinks. The key piece of information is the Name: field, which allows us to specify which device to use in the loopback chain.

In my case, my source device is oss_input.dsp2, and my sink device is oss_output.dsp2. Therefore, I can load the appropriate module:

pactl load-module module-loopback source="oss_input.dsp2" sink="oss_output.dsp2" latency_msec=1
An ID number, corresponding to the module ID, is returned on the command line. When you want to unload the loopback module, supply this argument to This is the argument to pactl unload-module

There is a bit of latency using this method, but at least I don't have to involve a hardware mixer in my set-up.

Saturday, January 18, 2014

Specifying name servers with resolvconf

I finally figured out how I can tell resolvconf to preferentially add my favorite DNS servers before it adds name servers supplied by DHCP servers.

Create the file /etc/resolvconf.conf. If you use IPv6 and OpenDNS, the file should contain the following (all on one line):

name_servers="2620:0:ccc::2 2620:0:ccd::2 208.67.222.222 208.67.220.220"

Monday, December 9, 2013

Creating USB disk images from .iso images in order to update firmware on old devices

I recently needed to update the firmware on an older Seagate hard drive. Seagate only offered a .iso image for me; however, I don't have a CD-ROM available.

Upon examination of the contents of the files stored inside of the .iso disk image, I didn't find anything that looked like a DOS executable; however, I did find an .ima file -- several megabytes in size.

This .ima file turned out to be another disk image that Seagate loaded using a tool called "Bootable CD Wizard" (or BCDW). I deduced that the El Torito bootable image in the .iso was using BCDW to load the .ima file into memory and "chain-load" the .ima file.

In order to make my bootable flash disk, I downloaded a FreeDos 1.1 image, and copied it directly to my USB device using the Unix dd command (note that my USB flash device is /dev/sdb). Don't accidentally overwrite something important by making a typo!
dd if=FreeDOS-1.1-memstick-2-256M.img of=/dev/sdb bs=1M
I then unplugged and plugged in the USB disk, and extracted the contents of the .iso file into my USB stick's FreeDOS partition with the Gnome Archive Manager (aka file-roller). This left the .ima file on the root directory of my USB stick's filesystem.

The trick was to figure out how to "chain-load" the .ima file, and I accomplished that by editing FreeDOS' syslinux.cfg file. Here's a snippet from the configuration file with the apropos section highlighted:

say Press ENTER to boot FreeDOS, or choose from these alternatives:
say ---------------------------------------------------------------
say :    fdos :: FreeDOS 1.1
say :    odin :: Boot ODIN 0.6 floppy disk image (tiny FreeDOS)
say : memtest :: Run Memtest86+ 4.20
say :      di :: Upgrade
say ---------------------------------------------------------------
say Example: To boot Memtest86+, type "memtest" and hit Enter.



label di
    menu label di upgrade
    linux /img/memdisk
    initrd /HE-CC35.ima


label fdos
    menu label fdos - Load FreeDOS 1.1 from USB flash drive
    com32 /fdos/bin/chain.c32
    append freedos=/fdos/bin/kernel.sys
In the boldfaced "di" (short for disk image, you can choose any word as the label) entry above, I instructed syslinux to load memdisk, which is a utility for booting floppy images. The initrd command tells syslinux to load a disk image into RAM.

Saving my work, I plugged the flash drive into the system that needed the firmware upgrade, and typed in di at the syslinux prompt in order to execute the corresponding menu entry.

Hopefully this is enough to help those of us with Seagate drives to get things working!

Wednesday, May 22, 2013

RTSP / Streaming Video with Foscam FI9821W pan/tilt camera under Linux (or any other operating system)

I purchased Foscam's 720P pan/tilt IP camera to use as a baby monitor, but was somewhat dismayed to discover that the camera didn't work well under FreeBSD... until I found the instructions at the following post.
rtsp://username:pwd@ip:port/videoMain  -- Main streaming
rtsp://username:pwd@ip:port/videoSub -- Sub streaming
rtsp://username:pwd@ip:port/audio -- Audio streaming
The camera works beautifully with VLC (VideoLan client)!

This feature very likely requires the latest firmware.

Now, I'm very pleased with this camera.