Christophe Jacquet — Carnet — Mot-clé : Geekeries

Interagir avec son client SSH

Pendant des années, j'ai utilisé mon client OpenSSH (ligne de commande) en me figurant qu'une fois lancé, il n'y avait pas moyen d'interagir avec lui : tout ce que je tape au clavier est envoyé à la machine distante. Or parfois, une connexion SSH meurt (par exemple parce qu'on a déplacé la machine cliente d'un réseau à un autre...) et on aimerait bien envoyer la commande quit à son client.

Toutes les frappes au clavier sont-elles vraiment transmises à la machine distante ? Que nenni !

Il existe une séquence d'échappement magique, Enter puis ~, qui permet de dialoguer avec le client SSH. Notons que ces deux premières touches la touche Enter est bien transmise à l'hôte distant, avant interprétation des caractères suivants en local ; le dernier caractère constitue une commande pour le client SSH. Nous avons par exemple :

  • . (disconnect) : ferme la connexion et le client, ce que je cherchais plus haut. Il faut donc taper en tout trois touches : Enter puis ~ puis .
  • ^Z : met le client à l'arrière plan
  • C : permet de rajouter des options de forwarding de port sur la ligne de commande
  • ? : affiche la liste des commandes disponibles

Mise à jour le 18 janvier 2013 : seule la touche Enter est transmise à l'hôte.

Retro-digital photography: using the Kodak DC50

Kodak DC50 Kodak released the DC50 in 1995. It is a 290K pixel (756x504) digital camera, with a 3x zoom. I recently came across one of these, which is still functional. This article explains how to retrieve the pictures on a modern computer, using a custom serial cable. (Photo by Ingo Kwiat, CC-BY-NC.)

Note that this article applies to the Kodak DC40, Kodak DC50 and Kodak DC120.

Lire la suite...

Sauvegarde d'une carte SIM

Ce billet explique comment sauvegarder le contenu du répertoire téléphonique d'une carte SIM à partir d'un téléphone Bluetooth. Je l'ai utilisée avec succès sur un Nokia 6230i, mais cela doit s'adapter à tout type de téléphone. On suppose que l'ordinateur dispose d'un système de type Unix avec l'outil GNU Screen.

Préparatifs

1) Il faut d'abord apparier le téléphone et l'ordinateur. La procédure dépend du téléphone et du système d'exploitation. Ensuite on se connecte en console au téléphone :

screen /dev/tty...

2) Démarrer l'enregistrement de la session Screen dans un fichier :

  • C-A : logfile /path/to/file — on indique le fichier dans lequel la sauvegarde sera réalisée
  • C-A : log on — lancer la sauvegarde

Répertoire

3) Sélectionner le répertoire (phonebook) de la carte SIM :

AT+CPBS="SM"

4) Afficher le nombre d'entrées dans ce répertoire (réponse en italiques) :

AT+CPBR=?
+CPBR: (1-150),20,12

5) Liste les entrées de ce répertoire :

AT+CPBR=1,150

SMS

6) Sélectionner le mode texte pour la transmission des SMS :

AT+CMGF=1

7) Lister les modes de stockage :

AT+CPMS=?

8) Pour chaque mode de stockage (SM pour la carte SIM proprement dite, ME pour le mobile) :

AT+CPMS="SM"
AT+CMGL="ALL"

Pour plus de détails, voir mon article : Téléphone mobile et commandes AT (et Mac)

Automatically merge calendars with Google Apps Script

I have several Google calendars: one for lectures, one for appointments, one for vacations, etc. I need to combine them automatically into a single ICS file. Surprisingly, this feature does not seem to exist off-the-shelf.

I have devised a solution based on Google Apps Script: a Javascript script runs periodically on the Google cloud, and generates the ICS file. Surprisingly, the script has to be in a Google Docs spreadsheet. The script editor is in the Tools menu. When the script works okay, it's possible to schedule its execution periodically in the script editor, via the Triggers menu. As easy as a good old cronjob.

Lire la suite...

Twenty years of computing

I recently realized that it has been 20 years since I started computer programming. Here's how it all started.

Lire la suite...

Geek's dice

Geek's dice

Found in a regular gift shop, otherwise not geek-oriented at all.

DOSBox

Need to run old DOS software?

One way to go is to use virtualization software (e.g. QEMU, Bochs or Parallels Desktop) and install MS-DOS or FreeDOS on it. However, it's quite inconvenient because you have to find floppy images, create a virtual hard disk and install the OS. After I failed to get my hands on my old DOS floppies and Parallels Desktop refused to boot FreeDOS, I decided I needed to try something else.

And then I discovered DOSBox. DOSBox is several things at a time, in one neat package:

  • a complete x86 processor emulator,
  • a PC peripheral emulator, including many once-popular graphics and video cards,
  • a complete PC BIOS implementation,
  • a complete MS-DOS API implementation,
  • an MS-DOS compatible shell and user commands.

Lire la suite...

Display GPX tracks using Google Maps API

Surprinsingly, the Google Maps Javascript API does not provide a built-in way to create an overlay from a GPX track, contrary to OpenLayers for instance.

Forum messages asking a way to add GPX overlays to Google Maps are numerous, and various solutions are proposed. Here I propose my own method, adapted to the Google Maps Javascript API v3. It relies on jQuery, so it is very simple.

Lire la suite...

POCSAG decoder

Two years ago, I did some experiments with the POCSAG paging protocol, that resulted in writing a POCSAG decoder in Java. I have no time and no desire to evolve it into a finished, packaged product, so I'm releasing it “as is” under the GPLv3, for the enjoyment of the radio enthusiast / amateur radio community.

The project, called jPOCSAG, is hosted on code.google.com[1].

The program is functional for my own use, but it is not intended to be a stable, released product. Rather, it is a codebase to experiment/play/tinker with, with no warranty of any kind. For these reasons, there is no “executable”; only the source code is available from a Subversion repository. Also, do not expect further updates to the source. I may, or may not, improve the program in the future, depending on my own needs. But feel free to use the code and improve it.

Notes

[1] By the way, Google Project Hosting is much more easy to use than SourceForge, although a little less customizable. Additionally, it's lightning fast compared to SourceForge.

Téléphone mobile et commandes AT (et Mac)

Saviez-vous que les bonnes vieilles commandes AT fonctionnent avec les téléphones mobiles ? Et même, qu'un jeu « étendu » de commandes existe ? Et en plus, ça marche en Bluetooth pour les téléphones compatibles...

Démonstration sur Mac. Lorsque mon téléphone et mon Mac ont Bluetooth activé, j'ai dans /dev un périphérique appelé tty.Nokia... (le nom Bluetooth exact de mon téléphone apparaît ici).

On peut donc essayer de se connecter à ce périphérique grâce à un émulateur de terminal. Pour faire simple, prenons screen :

screen /dev/tty.Nokia...

Sur l'écran du mobile apparaît le message « Connexion port série avec ... ». Mais bien sûr !

Un petit essai ? Tapons AT, puis entrée. Réponse : OK. Bingo !

Quelques commandes intéressantes :

SMS :

AT+CMGF=1      Sélectionne la lecture des SMS en mode texte
AT+CMGR=n      Lit un SMS

Accès au répertoire :

AT+CPBR=1,10   Lit les 10 premières entrées du répertoire

Téléphonie :

AT+COPS=?      Affiche la liste des réseaux

Réponse-type en France :

+COPS: (2,"F BOUYGTEL",,"20820"),(3,"Orange F",,"20801"),
(1,"SFR",,"20810"),,(0,1),(2)

Mise à jour, 28 septembre 2011 : une autre liste de commandes intéressante.

Papier de physique

Au rayon Hygiène chez Cora, des fondements pour la physique (ou l'inverse) :

Papier toilette physicien

Au fait : où est l'erreur ?

GNU Screen

GNU Screen n'est pas connu de tous les utilisateurs d'Unix. Pourtant, ce programme se rend vite indispensable. Derrière sa description de multiplexeur de terminal se cache un concept simple : vous pouvez laisser tourner des applications consoles sur une machine, même lorsque vous vous en déconnectez, et vous prenez la main sur leurs « terminaux » quand vous le souhaitez, d'où vous le souhaitez.

Screen se lance simplement par la commande screen. Pour se reconnecter (rattacher) à une session existante, on tape screen -r ID_SESSION. La liste des ID de session existants s'obtient par la commande screen -ls.

En cours de fonctionnement, screen dispose de nombreuses commandes accessibles par des raccourcis clavier qui commencent par C-a. La liste des principaux raccourcis est la suivante :

CombinaisonAction
C-a ddétacher (fermer la fenêtre, mais pouvoir récupérer la session plus tard)
C-a ccréer une nouvelle fenêtre
C-a ksupprimer la fenêtre courante (kill)
C-a Fadapte la taille de la fenêtre, très utile en cas de passage d'un terminal à un autre (fit)
C-a ?aide en ligne
C-a npasser à la fenêtre suivante
C-a ppasser à la fenêtre précédente
C-a 0 à C-a 9passer à la fenêtre de numéro indiqué
C-a "menu des fenêtres
C-a :prompt pour taper directement des commandes (cf. manuel)

Pour plus de détails, on consultera le manuel officiel, ou cette bonne documentation en français.

Screen peut répondre à de nombreux besoins. Il est très utilisé en conjonction avec le client IRC irssi, mais on peut trouver des applications plus exotiques, par exemple screen comme terminal série.

À noter que j'ai eu quelques soucis sur Mac, pour me connecter à une Debian : le terminal local fonctionne bien, screen en local fonctionne bien, le terminal distant par ssh fonctionne bien, mais screen sur la Debian distante posait problème : la touche Backspace envoyait Delete (mais seulement lorsque TERM valait xterm-color, pas xterm)... Il s'agit d'une sombre histoire de terminfo dont une solution est donnée sur Mac OS X Hints : recopier le fichier terminfo xterm-color du Mac sur la debian, dans le répertoire ~/.terminfo/x.

Astuces PowerPoint

Une fois n'est pas coutume, je ne parle pas de LaTeX, mais de PowerPoint : deux astuces que je note ici pour ne pas les oublier.

Taille des fichiers

Certains fichiers PowerPoint ont une fâcheuse tendance à l'embonpoint. Microsoft donne quelques astuces, notamment en ce qui concerne le rééchantillonnage des images. Cependant, il arrive que des objets d'aspect anodin soient énormes... Mais lesquels ? L'outil SizeMe permet de générer un rapport exhaustif sur un fichier PowerPoint, dans lequel la taille de chaque objet est indiquée.

Tracé de courbes de Bézier

J'ai longtemps ignoré l'existence d'une méthode de tracé de courbes de Bézier dans Office. En réalité, l'outil disponible est très complet, et depuis longtemps (au moins Office 2003).

Lire la suite...

Clavier français sur la couche MS-DOS de Windows XP

J'ai eu envie de faire fonctionner Turbo Pascal 7 sur mon laptop (ah, nostalgie !). Borland a judicieusement laissé ses vieux compilos à disposition, libres de droit (Turbo Pascal peut par exemple se télécharger sur developpez.com).

Cette version de TP7 fonctionne très bien sur Windows XP, y compris Windows XP lancé sous Parallels sur un Mac. Le seul problème, c'est que par défaut, la couche d'émulation de MS-DOS fonctionne avec un clavier configuré en QWERTY. À l'époque de MS-DOS, nous aurions modifié le fichier AUTOEXEC.BAT pour y ajouter un KEYB FR ou KEYBFR... Mais comment faire sous XP ?

Il faut éditer le fichier C:\WINDOWS\SYSTEM32\AUTOEXEC.NT, et y ajouter la ligne :

KB16 FR

Bien entendu, cela configure un clavier de PC, donc pour les utilisateurs de Mac, il reste quelques touches mal placées. Mais l'essentiel est sauf !

Améliorer l'ergonomie d'Adobe Reader

Les astuces suivantes sont a priori valables quelle que soit la plate-forme.

Désactiver le plugin Adobe Reader du navigateur web

Je trouve extrêmement désagréable de voir les PDF s'ouvrir dans une fenêtre de navigateur. Non seulement ça fait ramer, voire planter, le navigateur, mais ça m'embête qu'ils viennent remplacer le texte des pages web.

⇒ Solution pour Firefox : Outils > Modules complémentaires > Plugins > Adobe Acrobat > Désactiver

Désactiver les plugins d'Adobe Reader qui ralentissent son démarrage

Adobe Reader utilise une foule de plugins qui sont en général inutiles, mais allongent grandement son démarrage.

⇒ Solution : Les plugins sont les fichiers .api du répertoire plug_ins du logiciel (avec éventuellement des fichiers de localisation au même nom, avec une extension du type .FRA). Il suffit de les déplacer dans optional pour s'en débarrasser. Personnellement, j'ai tout déplacé, y compris les répertoires, pour ne garder que EScript (ECMAscript) et Search (recherche dans les documents).

Éduquer l'outil Main

Dans les anciennes versions du logiciel, l'outil Main était l'outil par défaut ; il permettait très simplement de naviguer dans les documents. Dans les nouvelles versions, on a affaire à un outil hybride qui sait aussi sélectionner du texte. Pire, il apparaît parfois une « flèche vers le bas » sur le curseur. C'est alors la catastrophe : un clic et Reader zoome à fond, ou fait défiler le document de façon erratique.

⇒ Solution : Pour avoir un outil Main qui marche, juste marche :

  • pour l'avoir sous les yeux : clic droit sur la barre d'outils > Ajouter des outils > cocher l'outil Main, et éventuellement l'outil Sélection pour pouvoir continuer à sélectionner du texte après la manip suivante
  • Édition > Préférences > Générales :
    • décocher « Sélectionner du texte avec l'outil Main » (désactive le caractère hybride)
    • décocher « Lire des articles avec l'outil Main » (supprime le comportement erratique lorsque la flèche est affichée)
    • cocher éventuellement « Activer le zoom de la molette de la souris avec l'outil Main » pour pouvoir zoomer à la molette (pratique)

- page 1 de 3

HTML5 valide ? © . ✍ Contact. Mentions légales.
Propulsé par DotClear.