[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

SPAM SPAM SPAM

Filed under: General — Thomas @ 11:02

2007-03-02
11:02

I stopped understanding the business model of e-mail spam as soon as the arms race between spammers and spamcatchers began.  Seriously, who wants to buy viagra from a website that deliberately misspells the whole mail, quotes parts of Shakespeare in it, and makes it really hard to see even what they are selling ?

But once in a while spam can be very amusing.  I stumbled across a blog page which seems to be a mutated Markovian remix of my own blog feed.  I am not going to link to it - clearly that would validate the business model of this particular spammer, but I can't resist quoting some gems from it:

"I was glad to be back home anyway. I feel an addiction coming up."
"So now I firsthand experienced the difference between running or not runningmake before make install. "
"Recursive coffee table and a bunch of plants, all of which made Kristien happy."

Now you'll have to excuse me, I am going to go down to IKEA to buy some stuff to make Kristien happy.  I am looking forward to seeing what type of box a recursive coffee table comes in.

website update

Filed under: General — Thomas @ 00:52

2007-02-28
00:52

Every once in a while I come back to thinking about what the ideal setup would be to manage and develop web sites. My wish list, as always, is:

  • have a separate development and live copy online
  • have the ability to have a local development copy (on my host)
  • track these versions in a version control system
  • make it as easy as possible to update
  • make it as easy as possible to downgrade the live version back to a previously working version
  • ideally, all updates can be made without touching the server (if it's just code)

In the past, I mostly used a custom shell script to release from the dev version to the live version. Basically, it would copy over the whole dev tree, then it would copy over specific files in a specific subpath to make up the live tree.

This has served me well in the past, but in the end it is too much hassle and I rarely updated my website because of it. Doing a "release" of a website does not reflect the real-world need of continuously updating websites.

I finally decided to do the most obvious thing, but with a twist:

  • my subversion repository has a dev/ and www/ subdirectory
  • www/ is branched from dev/
  • post-commit hooks on the server automatically update either dev/ or www/ depending on which got commited to (using svnlook)
  • I use svnmerge.py - and only svnmerge.py ! - to merge groups of changes from dev to www. I only pull a complete set of patches from dev so that every commit to www results in a working site.

So, the workflow is now much simpler.

  • Hack as much as I want on a local copy, in a local checkout, on a local machine, inside the dev/ tree
  • When I want to test on the live machine, commit to the dev/ tree and check the auto-updated online copy
  • Repeat until the online copy works
  • svnmerge.py merge on the www/ branch to pull changes from the dev/ branch
  • svn commit -F svnmerge-commit-message.txt to update the live copy

Update: just used this complete system to hack in my first actual change to the website.  For the longest time, my lists had no markers because I removed them using CSS, because I disliked having them on the right where the categories list is shown.  My lack of CSS skills combined with the arduous hacking cycle stopped me from getting it right.  So yes, this system is much easier.

itch scratching

Filed under: General — Thomas @ 16:02

2007-01-25
16:02

This morning I got up early again - around 7 AM - due to jet lag. I decided I wanted to put out a long overdue Flumotion 0.2.3 maintenance release.

As part of the release process, there is one bit where I'm supposed to download the results of a query on trac. The result is a text file with id (spaces) summary lines. I then paste this into the .xml file from which the html and plaintext release notes are generated. The annoying part is that every time I end up doing silly search-and-replace tricks to convert the plaintext lines to something that has tags around them for bug, id, and summary.

So, an ideal feature to add to moap, the new Swiss army knife for maintainers. In a good 90 minutes of hacking, I created a skeleton BugTracker class and implemented what I need for the Trac implementation. This talks to the xmlrpc trac plugin on a trac database.

I only implemented what I needed to be able to complete this step in releasing Flumotion; moap can now show one specific bug by id, or can perform a trac query and return a list of bugs, using an optional format string. It knows what bug tracker URL to use because you specify it, or because there is a .doap file either in the current directory, or you are already in the doap subcommand and have specified a doap file. Phew.

So now I can do:

[flumotion] $ moap doap bug query \
--format "<bug><id>%(id)s</id><summary>%(summary)s</summary></bug>" \
"component=flumotion&milestone=0.2.3"

and I get

<bug><id>476</id><summary>flumotion 0.2.2 with gstreamer-plugins-base 0.10.10 cannot stream multipart</summary></bug>
<bug><id>533</id><summary>ImportError No module named flumotion.component.effects.volume</summary></bug>
<bug><id>539</id><summary>Sample rates for ALSA in wizard do not include 16000</summary></bug>

and I just cut and paste that bit into the .xml file.

Not bad for 90 minutes of hacking. At 5 minutes of pain saved for every release, all I need to do is to do 18 more releases to recoup my investment.

Time to vote

Filed under: General — Thomas @ 17:00

2007-01-23
17:00

I am launching a new website very soon, amimetalornot.com

The idea is very simple. We put videos online, you can rate the video on a scale from 0 to 10. 10 is for "woah this guy is so metal Satan wants to be him", 0 is for "wait a minute, wasn't that guy in the Backstreet Boys ?"

The website is not online yet since we are still in the testing phase, but how about we start of with this particular video and you just send me a mail with your score. I will tally them up and publish the result here.

Happy voting,
Thomas

Twisted and Fedora

Filed under: General,Python — Thomas @ 00:32

2007-01-18
00:32

The last package part of the Twisted splitup in Fedora Extras has finally hit devel and FC6: the python-twisted umbrella package that pulls in all the others so that the upgrade from previous python-twisted (Sumo) packages is seamless.

Of course, in the long time it took to siphon all packages through, the Twisted team has released a new version. So my work is not done yet - but I will put off updating them to next week when I'm in a more comfortable place to do the work.

With that, it is finally getting time to take a look at how we can split up Flumotion so that people can install manager and worker pieces completely without any GTK/X dependencies. Twisted has split in pieces, pygtk has split off pygobject, so everything is ready now.

Flumotion 0.4.0 is right around the corner, Zaheer has done the hard testing work and Andy's been fixing robustness-related issues all over for the last month. I should get off my ass and start documenting some more.

« Previous PageNext Page »
picture