/home/nesto

Aller au contenu | Aller au menu | Aller à la recherche

mardi, novembre 7 2006

Au secours linux boote plus

Bonsoir tout le monde.

Me voilà de retour à la maison pour un soir en espérant pouvoir retaper la machine. Maman a piqué une crise hier soir, suite à une apt-get dist-upgrade qui a été interrompue par un reboot intempestif, la machine ne boote plus. Du coup, l'accro qu'elle est ne peut plus vérifier ses mails -- vous voyez l'histoire.

Tout ça parce que je voulais passer de hoary à dapper pour pouvoir installer la dernière version de frozen-bubble…

La réparation doit être terminée d'ici demain matin 6 heures, sans quoi je serai à la bourre au boulot demain… (à 200 km d'ici par ailleurs -- i.e. 2 heures de train plus deux fois 45 minutes de trajet vers et depuis la gare)

Bilan des activités, en live depuis le front:

  • 20h50 état actuel: la machine boote, mais gdm foire violemment et empêche toute utilisation, en particulier du clavier.
  • 20h55 démarrage en mode sans échec (option de grub) et un /etc/init.d/gdm stop, histoire que gdm fasse pas chier. Carrément apt-get remove gdm d'ailleurs. Et là apt-get commence à configurer plein de paquets. Étrange.
  • 21h05 pour m'assurer que ça ne recommence pas, je fais un apt-get -f install et un dpkg --configure -a. Aucun changement.
  • 21h20 Bah tiens, tant qu'on y est on relance un apt-get dist-upgrade, puisque c'est lui qui a été interrompu par le reboot.
  • 21h40 Le dist-upgrade s'arrête lors du dépaquetage de la mise à jour de gnome-system-monitor:

Des erreurs ont été rencontrées pendant l'exécution :
/var/cache/apt-archives/gnome-terminal-data_2.14.2-0ubuntu1_all.deb
Sub-process /usr/bin/dpkg returned an error code (1)

  • 21h47 je tente le téléchargement de gnome-terminal-data_2.14.2-0ubuntu1_all.deb, peut-être l'archive est-elle corrompue. Puis gravage sur CD, parce qu'évidemment je n'ai pas le réseau sur la grosse machine, que je télécharge depuis le portable connecté à l'ADSL, et que je n'ai pas de câble réseau sous la main…
  • 21h51 argh. À mon mount /media/cdrom, le PC répond "FATAL: Module iso9660 not found." POUH! Un depmod -a et un modprobe iso9660 plus tard, il est d'accord pour le montage…
  • 21h55 La version de gnome-terminal-data de l'apt-cache remplacée par celle fraîchement téléchargée sur le net, je relance un dist-upgrade…
  • 22h02 D'après Bengous, "linux ça sux" et mac os "c'est pour les extrémistes" ; "il y a que l'assembleur qui roxe"
  • 22h03 Le dist-upgrade s'interrompt à nouveau, sur lvm2_2.02.02-1ubuntu1_i386.deb ce coup-ci. Je vais chercher ce package-là en ligne. Et rebelote avec le transfert de données par CD. Ca y est mon graveur (sur le portable) fait des siennes et refuse de mettre le fichier sur le CD.
  • 22h16 Pouh le fichier arrive sur la grosse machine. Maman me quitte parce que je lui fais remarquer que ça n'apporte rien à personne qu'elle reste assise à côté de moi. Relançage de l'apt-get dist-upgrade qui plante directement, en me demandant de faire un apt-get -f install, que je lance. Et c'est reparti pour un tour.
  • 22h20 Roh putain, mais qui a installé LaTeX sur cette machine ?!? Le nombre de trucs qu'il faut qu'il mette à jour, réindexe etc. !!! "This may take some time" qu'il me dit…
  • 22h25 Pendant qu'apt-get me demande si je veux garder le vieux gdm.conf ou le remplacer par la version du mainteneur du package (non non, vas-y, prends la nouvelle!), M@nu m'informe que la même merde lui est arrivée sur son portable et que "ça c fini en format c: ou équivalent..." Motivant! En particulier parce que j'ai songé à télécharger le CD de d'edgy eft pour le dernier recours, mais qu'avec l'ADSL 512, ça me prend 3h30 et que ça s'interrompt au bout de 2 Mo !!!
  • 22h29 Fini pour l'apt-get install, retour au dist-upgrade. Et rebelote sur le même fichier, lvm2_2.02.02-1ubuntu1_i386.deb. Hmmm.
  • 22h35 Ah ben non, y'a pas d'option verbose pour apt-get. Chiant ça. Pourquoi cette putain de dist-upgrade plante-t-elle en plein milieu ?
  • 22h38 Je commence à me sentir fatigué et démotivé.
  • 22h42 Je redéfinis ma priorité: essayer d'avoir un accès modem qui marche. C'est primordial pour les mises à jour, je vais devenir fou si je dois passer le reste de ma soirée à graver des CDs et à faire du transfert de données comme ça.
  • 22h44 Ah ben ça… Mon gestionnaire de modem ADSL, à savoir eagle-usb, est plus ou moins deprecated, et remplacé par ueagle-atm, comme expliqué sur la page Pilote ueagle-atm pour le modem Sagem F@ST 800 sous Dapper. Je télécharge donc ueagle-data-1.1.tar.gz et fast_800_install.tar.bz2 puis rebelote CD etc. Expiration profonde. Mais gros bisous à gromit pour l'EraseCMPlugin!!! (que j'ai déjà utilisé pour la troisième fois ce soir…)
  • 22h59 Retour au tutorial de ubuntu-fr. Oh non les boulets, c'est un script graphique alors que j'ai pas de gdm fonctionnel !
  • 23h02 Qu'à cela ne tienne, je tente un gdm. L'écran clignote et je finis avec un message qui me dit que gdm est mal configuré, qui me propose un diagnostic, pour au final m'afficher des caractères bizarres dans tous les sens. Hmpf. Qu'est-ce que j'avais espéré… Qu'il ne s'était pas déconfiguré pendant la mise à jour peut-être ? Rah !
  • 23h05 Je jette un oeil à la version manuelle de l'installation de ueagle, et ça ne donne pas envie. Y'a des fichiers à télécharger dans tous les sens. Ils sont marrants, comment je suis censé faire, alors que je ne peux pas encore utiliser mon modem ?
  • 23h06 Face à ma fatigue grandissante et à la perspective de la courtitude de la nuit, je songe à emmener le PC avec moi. Et je réalise que je ne pourrai pas faire beaucoup mieux qu'ici, je n'ai aussi qu'une seule carte réseau sur le portable et mon accès au net à Darmstadt est restreinte à sa seule adresse mac...
  • 23h08 Bon, c'est un échec. Je vais me coucher. Demain matin je redéballe la vieille machine sous windows et je regarde ce qui pourrait empêcher ma maman de l'utiliser pour envoyer ses mails.

Bonne nuit à tous, merci pour votre soutien. Je vous tiens au courant si je progresse ultérieurement, mais là je vais me coucher. Un rageur poweroff clôturera cette soirée.

vendredi, octobre 20 2006

Partager une souris sur deux écrans avec synergy

Un truc que M@nu m'a fait découvrir il y a deux ans et que j'ai retrouvé avec guixx aujourd'hui: synergy permet d'utiliser l'ensemble clavier/souris d'un ordinateur sur plusieurs machines. Le déplacement de la souris est transmis à travers le réseau aux autres ordinateurs connectés.

Fichier de configuration

Pour que ça marche, il faut mettre un fichier de configuration sur le serveur: ~/.synergy.conf. Un exemple ci-dessous.

section: screens
  portable:
  fixe:
end
section: links
  portable:
     right = fixe
  fixe:
     left = portable
end
section: aliases
  portable:
     nomdnsduportable
     adressipduportable
  fixe:
     nomdnsdufixe
     adresseipdufixe
end
Exécution

Sur l'ordinateur serveur:

synergys -f

Sur l'ordinateur client:

synergyc -f adresseduserveur

L'option -f permet d'enclencher le mode verbeux.

samedi, septembre 9 2006

Intersection d'un segment avec un cercle

Bon pour ce billet là je me foule pas, c'est du pompage éhonté de games-creators.org

Lire la suite...

mardi, septembre 5 2006

Permutation avec répétition

Le dénombrement des combinaisons avec des éléments tous différents, c'est facile. Mais que se passe-t-il quand certains éléments sont identiques?

Définition

Soit E un ensemble fini de cardinal k, E={x1, x2, ..., xk}. Soient n un entier tel que k ≤ n et n1, n2, ..., nk des entiers naturels tels que n1+n2 + ... + nk=n.

Une permutation de n éléments de E avec n1, n2, ..., nk répétitions, est un n-uplet d'éléments de E dans lequel chacun des éléments x1, x2, ..., xk de E apparaît n1, n2, ..., nk fois.

Théorême - Dénombrement

Le nombre de permutations de n éléments avec n1, n2, ..., nk répétitions est

p(n1, n2, …, nk) = n! / (n1! n2!… nk!)

Programmer ce truc en C++
 AABBC
 AABCB
 AACBB
 ABABC
 ABACB
 ACABB
 ABBAC
 ABCAB
 ACBAB
 ABBCA
 ABCBA
 ACBBA
 BAABC
 BAACB
 CAABB
 BABAC
 BACAB
 CABAB
 BABCA
 BACBA
 CABBA
 BBAAC
 BCAAB
 CBAAB
 BBACA
 BCABA
 CBABA
 BBCAA
 BCBAA
 CBBAA
 The end. 30 arrangements found.

Le programme C++ pas commenté ici.

samedi, septembre 2 2006

netcat, couteau suisse de la socket

GNU Netcat est super pratique pour tester rapidement un client. C'est la contrepartie version serveur de telnet.

Pour écouter le port 8080:

nc -l -p 8080

vendredi, septembre 1 2006

Définir une fonction par morceaux avec LaTeX

avec domaine de définition et tout ça

[\begin{array}{cccl}
  f: & [0,\infty[ & \longrightarrow & [0,R_{max}[\\
     & x          & \longmapsto     &%
       \left\{\begin{array}{cc}
          {\displaystyle \alpha x^{\beta}} & \quad\mbox{for $0\leq x<L$}\\
          {\displaystyle R_{min}+R\frac{\ln(x/L)}{\ln2}} & \quad\mbox{for $L\leq x<L_{max}$}\\
          R_{max} & \quad\mbox{for $x\geq L_{max}$}%
       \end{array}
ight.
\end{array}]

vendredi, août 18 2006

GRMBL!

Non ce n'est pas un acronyme. C'est juste l'état dans lequel je suis. Saloperie de récepteur GPS à comportement aléatoire!

Une fois ça marche, on est tout content. On continue à programmer et quand on reteste ça marche plus. Evidemment on revient à la version précédente (merci Eclipse!) mais ça ne remarche pas. Oui, il faut absolument que mon application plante, sans quoi ce ne serait vraiment pas drôle.

DOH!

Vais tenter de m'y remettre scientifiquement. On isole et on regarde ce que ça donne. Mais c'est la merde à débugger ce truc, il faut à chaque fois compiler, envoyer sur le PDA et se taper la durée de connexion au récepteur…

mercredi, août 9 2006

Bits and Bytes and Rock'n'roll

Conversions avec Java: entiers, hexadécimaux et strings.

Et comment s'en sort Superwaba?

Lire la suite...

mardi, août 8 2006

PHP chez OVH

Je me suis acheté vite fait un nom de domaine chez OVH avec hébergement mutualisé 60gp pour mon projet de quasi-fin-d'études (Studienarbeit).

À la maison, j'ai bricolé quelques scripts PHP/MySQL sur MAMP et ça marchait assez bien. Quelle déception en transférant tout ça chez OVH! Je vous liste quelques problèmes que j'ai eus :

  • La fonction imagerotate() n'est pas connue par l'installation, ni en PHP4, ni en PHP5. Du coup faut que je reprogramme mon CAPTCHA sur le formulaire d'inscription.
  • Pas moyen de mettre des paramètres dans le fichier .htaccess et d'y réaccéder depuis un script PHP. Je voulais faire ça pour me protéger contre les SQL injections (et aussi parce que c'est beaucoup plus bô).
  • Le mod_rewrite ne fait pas son boulot comme je veux.
Passage de variables d'environnement par .htaccess impossible

En l'occurence j'ai mis ça dans le fichier .htaccess :

SetEnv DB_LOGIN "login"
SetEnv DB_PASSWD "password"
SetEnv DB_HOST "host"
SetEnv DB_BASE "base"

et je voulais les récupérer ensuite en PHP avec un truc du genre :

mysql_connect(getenv("DB_HOST"), getenv("DB_LOGIN"), getenv("DB_PASSWD"));
mysql_selectdb(getenv("DB_BASE"));

Le problème c'est que ça ne donne rien… J'ai tenté aussi de lire $_SERVER['DB_HOST'] ainsi que $_ENV['DB_HOST'] mais rien n'y fait. Un var_dump de ces tableaux ne révèle pas mes variables.

Du coup j'ai mis les paramètres en dur dans le script. Sale, mais ça marche…

Le mod_rewrite ne me réécrit pas les adresses comme je veux

Ne vous fiez pas à la FAQ OVH ! En fait ça marche très bien si vous vous y prenez comme ça:

RewriteEngine On 
RewriteBase /dossier
RewriteRule ^redirect.htm$ test.html [L]

Vous aurez compris que le fichier redirect.htm n'existe pas et que je veux simplement être redirigé comme ça :

http://mon-serveur.com/dossier/redirect.htm 
--> http://mon-server.com/dossier/test.html

mercredi, juillet 26 2006

Gizmo all calls free -- où est l'arnaque ?

http://www.gizmoproject.com/learnmore-allcallsfree.html

La France semble être dans la liste des pays où on peut appeler gratuitement vers une ligne fixe. Donc voilà, je me demande comment ils comptent faire pour financer ça -- y'a forcément un détail qui m'échappe…

dimanche, juillet 23 2006

Quel PID est en train d'utiliser quel port ?

Pour savoir quelle application est en train d'utiliser votre port 8080, par exemple

lsof -i :8080

jeudi, juillet 20 2006

LaTeX et ses polices

Un document comme on en cherche souvent !

Schriftarten in LaTeX

mercredi, juillet 12 2006

Télécharger une page depuis un wiki authentifié avec wget en utilisant les cookies de Firefox

Vais finir par ouvrir une section wget si ça continue...

  1. Authentifiez-vous avec Firefox
  2. Utilisez les cookies ainsi générés avec wget
wget http://le-wiki.com/la-page --load-cookies ~/Library/Application\ Support/Firefox/Profiles/xxxxxxxx.default/cookies.txt

lundi, juillet 3 2006

Adresses IP locales

Pourquoi tout le monde utilise 192.168.0.1 comme adresse locale ?

Ca vient du RFC 1918 ! (Address Allocation for Private Internets)

samedi, juillet 1 2006

Skype 1.2.0.18 sous Ubuntu Hoary

Enfin trouvé une version qui fait pas chier avec des histoires de libqt3-mt !

http://rapidshare.de/files/6743630/skype_1.2.0.18-1_i386.deb.html

samedi, juin 24 2006

Algorithme de déformation d'image - la transformation inverse !

Suite à mon post du 8 avril, je vous propose l'inverse de l'algorithme de déformation d'image qui y est présenté.

Notations utilisées

Étant donné un quadrilatère quelconque ABCD, et un point P à l'intérieur de celui-ci, on cherche à "'étirer" ce quadrilatère de sorte à le superposer à un rectangle. La question est, connaissant les coordonnées (x,y) du point P, d'obtenir les coordonnées (u,v) de son image P'.

Le résultat

Jetzt passt bloß auf. Je me suis pas donné la peine de simplifier, il est certainement possible de présenter le résultat un peu mieux que moi.

La solution est de prendre u = \lambda*U et v = \lambda*V avec :

  • mu où :
    • a
    • b
    • c
    (Vous aurez compris qu'il s'agit de résoudre l'équation du second ordre equation).
  • lambda

La preuve en images

L'applet ci-dessous présente un quadrilatère quelconque (à gauche) et un rectangle (à droite). Une position est choisie à l'intérieur du quadrilatère de gauche, et le point équivalent est représenté à l'intérieur du rectangle de droite.

Vous pouvez interagir avec le rectangle de gauche : vous pouvez drag-and-dropper un coin du rectangle ou la croix, et normalement le rectangle de droite se met à jour tout seul.

Code source : DeformApplet.java.

mardi, juin 20 2006

FPAC2

Après une heure de googlisation intensive, j'ai remis la main sur fpac2, un jeu écrit par Patrice Fouquet sur lequel j'ai perdu quelques heures dans ma jeunesse.

Il s'agit d'un pac-man qui se joue à deux. Les deux joueurs se partagent l'écran, et se promènent dans un labyrinthe plein de portes qui les ralentissent. Lorsqu'ils ont collecté suffisamment de gommes, ils peuvent envoyer un fantôme aux trousses de l'autre joueur.

C'est un jeu MS-DOS, qui ne fait sûrement plus le même effet aujourd'hui qu'il m'a fait à l'époque... Mais quel plaisir de retrouver un truc pareil après tant d'années !

vendredi, juin 16 2006

Comment réduire le nombre de couleurs d'un fichier BMP ?

mogrify -colors 4 fichier.bmp

Passé l'après-midi à chercher...

NB. mogrify est inclus dans le package ImageMagick (avec convert)

dimanche, juin 11 2006

Script de dump MySQL quand on n'a qu'un accès PHP à la machine (avec phpMyAdmin et wget)

Comment sauvegarder une base de données MySQL à partir d'un script, quand on travaille sur un serveur distant sur lequel on n'a qu'un accès FTP et des scripts PHP ?

Lire la suite...

samedi, juin 10 2006

Typespeed 0.5.0 is out

Réalisé sans trucage

Avec même des mots français maintenant !

- page 2 de 6 -