FlickrTouchrThreaded - Download all your Flickr Photos FAST!

CC-BY: Agustín Ruiz
FlickrTouchr is a nifty little python script that lets you automatically download your whole Flickr photostream. Unfortunately, I found that it worked rather slowly - and traffic would plummet to zero between images.

Enter FlickrToucherThreaded! This modified new version of FlickrTouchr allows simultaneous downloading of multiple images, using concurrent download threads. The number of threads is user configurable - in order to allow optimization for each individuals connection and CPU.

FlickrToucherThreaded Version 0.1 is available for download here.

FlickrToucherThreaded is based on FlickrToucher - originally by Colm MacCarthaigh, and improved by Dan Benjamin. Both scripts are distributed under the Apache 2.0 License.

I intend to continue developing this script in the near future, coming soon:
Cleaner Thread Shutdown.
Configurable default image size.
Incorporation of improvements by tonyduckles.

So stay tuned!

Blogger: Filter posts by label on your main page

I spent quit a while phishing around google trying to figure out how to prevent posts with a certain label from appearing on my main page over at blogger/blogspot. Eventually, I used an adaptation of this method (also detailed here).

To applay this method, edit your blogger sites XML template (be sure to back it up first!), and click "Expand Widget Templates". Now look for the line:

<b:loop values='data:posts' var='post'>

And find the matching </b:loop> tag.

Replace them and everything between them with the following code:

<b:loop values='data:posts' var='post'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast == &quot;true&quot;'>
<b:if cond='data:label.name != "Label_To_Filter">
<b:include data='post' name='printPosts'/>
</b:if>
</b:if>
</b:loop>
</b:if>
<b:else/>
<b:include data='post' name='printPosts'/>
</b:if>
</b:loop>

Now look for the last </b:includable> tag you can find, and paste this code directly after it:

<b:includable id='printPosts' var='post'>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'>
<data:post.dateHeader/>
</h2>
</b:if>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='comments'/>
</b:if>
</b:includable>

Note that this code has a few bugs:

  1. Posts with no label will not be displayed on the main page.

  2. The filtered label must be the last label of a filtered post.

  3. If all your recent stories belong to the filtered category, your blog may appear empty.


I consider these "Features" as they suit my need over at www.luxphile.com - preventing any of my Texture labeled posts from showing up on the main page, and also hiding unlabeled "Blog this" posts from Flickr.

Sharing the Xerox 6125 N With Linux clients

In this post I will describe how to share a Xerox 6125 or 6125N printer with a Linux machine through a windows host.

The Xerox 6125 (or 6125N) is an amazing deal - a 300$ network-enabled color laser printer.
Unfortunately, this great price tag comes with one major downside - absolutely no linux compatibility WHATSOEVER.
The Xerox 6125 uses a Host Based PDL and as opposed to most Xerox machines - does not support Postscript or PCL printing languages. Xerox has not released any proprietary drivers for it, and for this reason the Open printing database has categorized it as a paperweight.

There is, however, a way around this - if you have at least one windows machine on your network. By creating a virtual postscript printer, and routing its output to the Xerox 6125 through the windows driver - you can share the printer with any machine capable of printing postscript - namely any major Linux distribution (and mac-os X of course!).

Henrik Schmiediche has written a great guide to setting up a virtual gostscript printer on your windows machine - wich can be found here or mirrored in PDF format here.
Once you have set up your virtual postscript printer, and shared it over the network - set up your linux clients to print to it - either using the same driver as the virtual printer, or the generic "Raw Queue" driver (The HP Color Laserjet 4550 PS suggested in the article works great - make sure you use the postscript version of the driver!).

Configuring Lenovo 3000 N100 sound card on Linux

I just got a new Lenovo Laptop, the Lenovo 3000 N100 0768-FSG to be exact. I installed SUSE 10.2, and also played around with a Ubuntu 7.04 live cd - neither of which recognized the sound-card. Actually, the sound card was recognized, and configured with the snd-hda-intel driver - but the speakers simply didn't work, neither did headphones.

I solved this in SUSE 10.2 by manually updating the ALSA drivers from the bundled 1.0.14 version to the 1.0.15rc3 development version - this required manual compilation, and installing my distributions kernel source package. The latest ALSA drivers can be found at www.alsa-project.org.

Instructions for installing the latest ALSA drivers from source can be found here, you will only need the alsa-driver package to get the sound working on your laptop, the rest of the packages should have been bundled with your linux distribution and do not require updating.

There are several sites that report getting the sound to work by adding one of the following lines to /etc/modprobe.d/alsa-base:
options snd-hda-intel model=auto
options snd-hda-intel model=lenovo
options snd-hda-intel model=laptop-eapd
options snd-hda-intel model=3stack
And then restarting the sound module. Different lines seem to work for different ALSA versions, and different Lenovo 3000 or other intel powered laptop models. so you might want to try some of these before installing the development drivers.

In SUSE this can also be accomplished by running YaST -> Hardware -> Sound, selcting your sound card and clicking "Edit" you will be able to set the mode option to any of the above there.

UPDATE: On open SuSE 10.3, the sound card works out of the box!

Getting Gmail java app on Motorola i760

gmail on i760My i760 came without a proper web-browser - so I could not download the Gmail java app through the phone, or access m.gmail.com to check my mail.

The solution to this problem is downloading the Gmail java application files from the google servers here:
gm-Generic-Advanced_MIDP2.jad
gmail-g.jar
Then upload them to your phone using a data cable, and a J2ME media loader application like myJal. Depending on the software you use, you may have to rename the above files so that they have identical filenames (i.e. rename "gm-Generic-Advanced_MIDP2.jad" to "gmail-g.jad" - do not change the extensions!)

Once you load the files up to your phone "gmail" should appear in you Java applications folder. Clicking "gmail" will preform a short installation process, after which you will be prompted for your Gmail user-name and password. Once you enter your information, you'll be logged on to your Gmail account and able to read and write mail!

Image previews not showing up in konqueror and kFlickr

I just got a new digital camera, and was annoyed that for some odd reason, konqueror and kFlickr were no longer showing image previews for pictures taken with the new camera.

The solution for this problem was simple - apparently, konqueror has a configureable limit to the size of file it displays previews of. This setting can easily be changed in konqueror through:
Settings -> Configure Konqueror -> Previews & Meta Data -> Maximum file size.

Turns out, that all the pictures from my 2 Mega Pixel cellphone camera were under 1MB in size, while the pictures from my new digital camera (set at 3 Mega Pixels) were just over 1MB. The default setting for previewable file size in my distribution was 1MB - hence the problem.

Changing the settings in konqueror also immediately solved the problem in kFlickr.

phpWebsite CafePress Integration Module

phpWebsite CafePress Mod ScreenShotThe CafePress Integration Module for phpWebsite will allow you to display your CafePress shop (basic or premium) within your phpWebsite driven site.


Keeping visitors on your site is important, especially if you are trying to sell something. This module will allow your visitors to shop in your CafePress store without leaving your site until the final checkout.


The screen shot shows the module in action under phpWebsite's default theme, though it should work just fine with any other theme.
I wrote this module based on Mark McClelland's "PHP-NUKE CafePress Addon" for the Molecular Shirts and Shirt Wisdom websites I help run. I decided to publish it after receiving a request for it via e-mail.


The current version 0.1 is obviously a beta - please keep me posted about any bugs you find or problems you have with it.


phpWebsite CafePress Integration Module v0.1 - Download