Quicksilver action: quickly write a file from text

2 August 2009

I wanted to do this: invoke Quicksilver, hit "." to enter text mode, enter a quick twitter-to-self and have it save that in a file named "{timestamp}.txt" without any further dialog. twitter-to-self within a few seconds with very low CPU disruption (for while I'm making music).

Quicksilver has "append to file" but I wanted to do be safe with regard to newlines and I wanted the file to have a creation date that could be read later (when importing it elsewhere)

Open Apple Script editor and create this (changing the paths):

(sorry about the formatting. its textile. markdown also caused problems. I'll change the whole site soon)


using terms from application "Quicksilver"

on process text theText

-- get me out of this fucking crazy language
do shell script "echo " & quoted form of theText & " | /Users/crucial/bin/qslog.py"

-- action is complete
return null

end process text

end using terms from

I hate Apple Script. I'm quoting the text and piping it into a python script. Save this script (as a script) in ~/Library/Application Support/Quicksilver/Actions creating that directory if you need to. Note that this is not something in Quicksilver's catalog, it is an Action.


#!/usr/bin/python import sys, datetime text = ''
for line in sys.stdin:
try:
text += line
except:
pass if text:
f = open("/Users/crucial/quicklog/%s.txt" % datetime.datetime.now().isoformat(),"w")
f.write(text)
f.close()

writes the text to a text file with the timestamp in the title


  • more posts in tech notes
    • django.db.utils.DatabaseError: relation "django_content_type" does not exist

      p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco} I was getting an error while running unit tests and the test database was failing to be created.django.db.utils.DatabaseError: relation "django_content_type" does not existeventually found the problem.  I had the following in a file that was imported to a models.py:hrd_type = ContentType.objects.get_for_model(HttpReferrerDomain)The idea being that it can just set the var when it loads up and after that its always there.  But this means for creating a fresh database, the db is ...

    • django has two classes called ValidationError

      There is one in django.core.exceptions and one in django.forms.util Using that space age IDE Eclipse I have to say I'm enjoying how much time I've saved just going shift-command-O to organize and resolve all of my imports.  But today I've just lost a few hours due to my ok-ing the wrong class. Quite mysterious it was, I raised a ValidationError (core exceptions one) in my form's clean() and watched as the try: except ValidationError: in django's full_clean() completely ignored my ...

    • GDAL fails to build: `.rodata' can not be used when making a shared object; recompile with -fPIC

        libtool: link: g++ -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.4.1/crtbeginS.o .libs/libgdal.la.lnkscript  -L/usr/local/lib /usr/local/lib/libgeos_c.so /usr/local/lib/libgeos.so /usr/local/lib/libexpat.so -L/usr/lib -lpq -lrt -ldl /usr/lib/libcurl.so -lssl -lcrypto -lz -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1 -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.4.1/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/crtn.o         -Wl,-soname -Wl,libgdal.so.1 -o .libs/libgdal.so.1.13.2 /usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libz.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: *** [libgdal.la] Error 1 make[1]: Leaving directory `/home/crucial/tmp/gdal-1.6.2' ...

    • installing MySQLdb on Ubuntu (mysql-python)

      MySQLdb is the python support bindings for MySQL.  Not that the name would lead you to beleive that. Its sourceforge page calls it http://sourceforge.net/projects/mysql-python/ which makes more sense. you need setuptools, which you usually already have:     sudo aptitude install python-setuptools You need MySQL-devel to compile, but its not called that, its called: libmysql++-dev on Ubuntu     sudo apt-get install libmysql++-dev download MySQLdb itself from:     http://sourceforge.net/projects/mysql-python/     # the version you download will be more recent     tar xfz ...

    • Full index for tech notes
Luv n' Liv (Timeblind mix) Timeblind mix : Liv n Luv
Luv n' Liv (Timeblind mix) Timeblind mix : Liv n Luv