I recently ordered 3 pieces of art from DNA11, one for each of us in the immediate family. The whole process was actually fun and educational. You are sent a DNA kit which you use and send back. Once the swabs are processed you pick out your colors etc and within a short period of time your art arrives all shiny and new. The folks at DNA11 were terrific to deal with. They also just opened a new online shop called CanvasPop where you can have any photo printed on canvas.



Big thanks to Adrian and Nazim!
Tomboy reached a milestone yesterday in releasing version 1.0.0. I set out this morning to create a new package for Jaunty but Sandy and the others at Tomboy were one step ahead of me and have announced a new PPA for Tomboy builds.
To use the latest (stable) in Jaunty create the following file:
gksu gedit /etc/apt/source.list.d/tomboy.list
And add this as the content:
deb http://ppa.launchpad.net/tomboy-packagers/stable/ubuntu jaunty main
deb-src http://ppa.launchpad.net/tomboy-packagers/stable/ubuntu jaunty main
Add the keys:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 9518DB4B
Then the normal:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install tomboy
Of course there are also development packages and packages for Karmic.
I had a need in one of my projects to do two different queries that result in similarly structured data. Instead of passing two variables into the template and then having to worry about the logic on the template side I wanted to merge them.
Thankfully Python provides a solution:
from itertools import chain
list = Model.objects.filter(foo=foo)
list2 = Model2.objects.filter(foo=foo)
final_var = list(chain(list,list2))
final_var is now a list containing both sets of results.
This nifty little shell script will automatically install keys for any PPA you have added to your sources lists. Handy but use with caution. The keys are there to protect you. Automating their install, while handy, leaves you blind to a hack.
#! /bin/sh
if [ "`whoami`" != "root" ];
then
echo "Please run with SUDO"
exit 1
fi
RELEASE=`cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d"=" -f2`
echo Release: $RELEASE
echo Please Wait...
for q in `find /etc/apt/ -name *.list`; do
cat $q >> fullsourceslist
done
for i in `cat fullsourceslist | grep "deb http" | grep ppa.launchpad | grep \
$RELEASE | cut -d/ -f4`; do
wget -q --no-check-certificate `wget -q --no-check-certificate \
https://launchpad.net/~$i/+archive -O- | grep \
"http://keyserver.ubuntu.com:11371/pks/" | cut -d'"' -f2 ` -O- | grep \
"pub " | cut -d'"' -f2 >> keyss
done
for j in `cat keyss` ; do
wget -q --no-check-certificate "http://keyserver.ubuntu.com:11371$j" -O- |\
grep -B 999999 END |grep -A 999999 BEGIN > keyss2
sudo apt-key add keyss2
rm keyss2
done
rm keyss
rm fullsourceslist
launchpad-update.tar.gz
Found this here thanks to the author (blackgr).