zengun

weblog

2005 10 17

this just in

I just updated the post about my data’s transatlantic move from San Diego to Paris, to detail troubles I’ve run into while migrating from Apache to lighttpd in the meanwhile.

2005 10 15

the queen’s shower

the queen's shower

(Blurry, but I liked the weird composition enough. Somebody donate a tripod to me. Please.)

à dada

à dada

Slightly off-focus, as I was trying to keep up with the merry-go-round’s pace.

une toutes les 4 secondes (7)

une toutes les 4 secondes (7)

The collective Action Contre la Faim (action against hunger) held this event where every four seconds, as the two speakers spelled a name, a human figure dropped dead, to symbolize a death by hunger.

In the end, every figure was down.

une toutes les 4 secondes (6)

une toutes les 4 secondes (6)

The collective Action Contre la Faim (action against hunger) held this event where every four seconds, as the two speakers spelled a name, a human figure dropped dead, to symbolize a death by hunger.

In the end, every figure was down.

une toutes les 4 secondes (5)

une toutes les 4 secondes (5)

The collective Action Contre la Faim (action against hunger) held this event where every four seconds, as the two speakers spelled a name, a human figure dropped dead, to symbolize a death by hunger.

In the end, every figure was down.

une toutes les 4 secondes (4)

une toutes les 4 secondes (4)

The collective Action Contre la Faim (action against hunger) held this event where every four seconds, as the two speakers spelled a name, a human figure dropped dead, to symbolize a death by hunger.

These figures were not part of the event, they were standing behind a tent.

une toutes les 4 secondes (3)

une toutes les 4 secondes (3)

The collective Action Contre la Faim (action against hunger) held this event where every four seconds, as the two speakers spelled a name, a human figure dropped dead, to symbolize a death by hunger.

une toutes les 4 secondes (2)

une toutes les 4 secondes (2)

The collective Action Contre la Faim (action against hunger) held this event where every four seconds, as the two speakers spelled a name, a human figure dropped dead, to symbolize a death by hunger.

une toutes les 4 secondes

une toutes les 4 secondes

The collective Action Contre la Faim (action against hunger) held this event where every four seconds, as the two speakers spelled a name, a human figure dropped dead, to symbolize a death by hunger.

The text above was written by an unknown person on the back of the collective’s banner.

2005 10 10

transatlantic move

If you can read this, then you’re reading a page served by a lighttpd instance in Paris.
More on the migration later…

Update : the whole thing. Hopefully this serves as a guide of sorts to whoever runs through the troubles I’ve faced.

Part I : fetching files

Using rsync over ssh, it was a no-brainer.
I just made sure that I had the same /home/$username on both hosts, in order to avoid editing some web apps’ config files to correct absolute paths.

Part II : setting up lighttpd

It was only after I was done that I noticed the lighttpd wiki has a cheat sheet to help you migrate from Apache.

Since I serve multiple sites, I went for a vhost setup using conditionnals, and then set each site’s accesslog, errorlog, and so on (so that my hostees could see their own access logs).

Mod_rewrite rules were another problem. You basically have to understand the rewrite rules that your apps generate (I can only hope you understand those you manually typed in), in order to simplify them and put them in the right order in lighttpd’s config file.
Also, since I didn’t care to remove .htaccess and .htpasswd files, I denied their access. They’re still useful for when an app (think WordPress or another CMS) wants to regenerate rules.

Part III : setting up PHP

Easy as pie with fastcgi in lighttpd. I took the occasion to harden its settings, and add stuff.
Each vhost runs PHP as suexec.

Part IV : struggling with tildas, aka using real utf-8 with MySQL

Here comes the part that took me ages to figure out. I made a dump of my databases, then when I loaded the dump on the new host I had double-encoded utf8. Both hosts are running MySQL 4.1, so I was rightly puzzled.
Turns out that, to have a future-proof MySQL setup I let it use utf-8 by default, while on most webhosts (including TextDrive) the default encoding is iso-8859-1, which leads to what I would call “fake utf-8″ content.
There were multiple solutions to this problem: I could set MySQL’s encoding to iso-8859-1 (no!), I could set the database with the problem to use iso-8859-1 (no!), or I could tell whichever app depended on “fake utf-8″ in utf-8 tables to use iso-8859-1 for its communication with MySQL.
This can be done with the SQL command SET NAMES 'latin1' at the beginning of the app’s execution.

In my case, WordPress was the app that used fake utf-8, so in order not to modify the code everytime I would upgrade WP, I made a simple plugin (latin1-fix.php), activated it, and voilà!, my text was readable again!

Part V : sleeping

Thank $DEITY there was no part V!

2005 10 08

and in the end

and in the end the love you make is equal to the love you take

quoi de neuf

La dernière question à me poser en ce moment : « quoi de neuf ? »

  • Réponse a) : « Bôh tu sais, taf redevenu assez tranquillou, vie pépère, tout ça. »
  • Réponse b) : « J’attends je ne sais quoi, je ne sais pas par quel bout finir tous ces trucs, je ne touche pratiquement plus au clavier chez moi à cause de la douleur, côté cœur c’est du petit n’importe quoi un vrai défilé d’aveugles dont les borgnes rois sont morts pendus comme patience et longueur de temps, j’ai envie de vacances mais je n’ai nulle part où aller et il est hors de question que je fasse un voyage organisé avec un car d’inconnus en bobs dans des hôtels avec piscine à deux pas de la mer où on ne se baignerait pas, j’ai commandé un appareil photo que je n’aurais jamais le temps d’utiliser, l’espresso fait de moins en moins d’effet, j’ai (re)découvert Nosfell mais tu t’en bas les couilles parce que tu connais pas alors tu hoches la tête tu n’es pas curieux et tu vas me bassiner avec Pink Floyd ou les Pixies, cette Guinness fait des petites bulles c’est atroce j’avais pas remarqué qu’ils l’avaient en poudre et pas en pression, je pensais aller à Londres ce weekend mais la SNCF ne l’entendais pas de cette oreille, les gens me rabâchent qu’en Corse c’est la guerre civile et qu’on devrait être contents de la continuité territoriale cette arnaque et qu’on ne se comprend pas entre deux villages le tout à base de on-m’a-dit, “on” devrait fermer sa putain de gueule ça me changerait un peu, cette rencontre impersonnelle me fait chier, je n’ai pas envie de te raconter tout ça devant ces gens pour qui je serai toujours l’étranger, celui à qui on demande pas pourquoi il pense différemment parce qu’après tout il est pas de notre monde ça se comprend surtout tolérons la différence au lieu d’essayer de la comprendre ou de la remettre en question, allez salut et ne va pas te faire voir je ne te hais point. »

Observation empirique : réponse a).
Vous n’êtes que des êtres humains après tout, et je ne vous hais point.

2005 10 06

fries with your web 2.0?

Je l’ai dit hier soir : les frites sont Web 2.0.

2005 09 30

forty two forty two

« Comme code je te propose 4242.
— C’est marrant c’est justement le port que j’utilise pour une appli que je développe en interne !
— …C’est le port d’une des applis que je développe aussi ! »
madflo et moi, hier soir

2005 09 29

hoodwink’d

Utterly winkable eyelashes.

obligatory french post on web 2.0

Le web 2.0, c’est tellement has-been.
Voilà.

Les gens qui prennent au sérieux ce post pour le comptabiliser dans la liste des « méchants qui crachent dans la soupe des gentils vendeurs de buzzwords » sont priés d’acheter un sens de l’humour, surtout si c’est pour commenter du style “oh noes!1, encore une guerre de guiques dans la blaughosfaire”. Ou d’aller se tirer une balle (rayez la mention inutile).

(Addenda : vintage version numbering porn!)

2005 09 22

salauds de blogueurs !

Entre le dogmatisme ou le populisme qui résument l’avenir à une série de clichés qui tentent de mobiliser sans contenu, et le scénario actuel du «libre-service» des idées, il est urgent de trouver une nouvelle voie.
Philippe JEANNE, L’Europe bloguée

Le Non à l’Europe, c’est la faute aux blogs.
Alors arrêtez de parler de politique, bande de petits Ed de l’idée. La politique, c’est pour les banquiers (et les nobles). Ils (nous) n’ont que votre intérêt en tête, merde.
(N’empêche, je suis curieux de savoir quelle nouvelle voie monsieur Jeanne propose, puisque c’est si urgent.)

my baronnerie

C’est la gloire, la consécration, je viens d’être traité de baron par une “figure trash des blogs”, entre deux postillonnements à 95 décibels. (Je n’étais pas présent à ce moment du “débat”, si quelqu’un peut me faire un compte-rendu ?)
Donc pour les ceusses qui reviennent du Paris blogue t-il : bienvenue dans mon humble baronnerie.

(Tu devais vraiment avoir rien à présenter pour parler d’une mini-blogoguéguerre dans ta conférence-monologue sur l’avenir des blogs, Eric. J’en suis bien peiné. Rendez-vous à “la soirée alternative” ?)

2005 09 21

l’improbabilité d’une ville

(La scène se passe à Paris, onze ans et demi après un quatrième gauche.)
De réunions improbables en pique-niques surprise, pizza-verre annulée et dîner ajax-fessée-hardlite-germanographie, je ne conjugue les personnes qu’au verbe de leurs pluriels. Je je je nous vous ils. Et e-l-l-e-s, aussi, toutes cinq qu’elle son.