2009/06/15

One mbox to hold 'em all

Roll your own IMAP mailbox into gmail:
  1. git clone git://github.com/rgrove/larch.git
  2. git clone git://gitorious.org/trollop/mainline.git
  3. emerge -av highline
The larch Copy all folders recursively option gave me some problems, and since I wanted to do some mapping of folder names to different labels on gmail:
  1. Make a list of folders on the from server - I used the contents of my thunderbird directory. E.g. something like:
    find . -name '*.msf' | sed -e 's/.msf//' -e's/.sbd//g' -e 's/-1//' -e 's/.\///'|sort|uniq
  2. xemacs above to create a file, with one line for each folder with a simple format: from_format to_label
  3. Feed into a script something like:
while read from to ; do
ruby -Imainline/lib:larch/lib \
larch/bin/larch \
--from imap://imap.example.foo --from-user XYZ --from-pass OPW \
--to imaps://imap.gmail.com --to-user ABC --to-pass DEF \
--from-folder $from --to-folder $to
done


2009/04/28

push the button Max, err Gunther

Why did I want this in the first case? - but anyway, it seems to work by:

1. Following the tip

2. Download tweetdeck or just:
wget http://www.tweetdeck.com/beta/TweetDeck_0_25.air

For 26.4 (8 July 2009) this changed to:

http://downloads.tweetdeck.com/TweetDeck_0_26.air
3. Running the app with (note slight typo fix for app directory to tip in #1):
/opt/AIR-SDK/bin/adl -nodebug /opt/AIR-apps/TweetDeck_0_25/META-INF/AIR/application.xml /opt/AIR-apps/TweetDeck_0_25
It complains about:
I/O warning : failed to load external entity "/etc/opt/Adobe/certificates/crypt//config.xml"
Unable to parse Document: /etc/opt/Adobe/certificates/crypt//config.xml.
But otherwise appears to run, just with lots of warnings like:
warning: unable to bind to property 'tTextHTML' on class 'Object' (class is not an IEventDispatcher)
warning: unable to bind to property 'tSource' on class 'Object' (class is not an IEventDispatcher)
warning: unable to bind to property 'tUserID' on class 'Object' (class is not an IEventDispatcher)

2009/02/12

Wait Up

If you find service startup (e.g. samba) failing because an interface started in the background isn't up in time, then waitup may be an answer:

#!/bin/bash

IFACE=$1
count=0
echo -n "Wait for ${IFACE}"

while ! /sbin/ifconfig ${IFACE} 2>/dev/null | grep -q "UP" ; do
echo -n "."
sleep 1
count=`expr $count + 1`
if [ $count -gt 10 ] ; then
echo "not found in 15sec - bailing"
exit 1
fi
done

echo ". ($count)"

exit 0