Faits:
A. Par arrêt du 18 janvier 2010, la Chambre pénale de la Cour de justice du canton de Genève a confirmé un jugement du Tribunal d'application des peines et des mesures du 13 novembre 2009, refusant la libération conditionnelle de X._.
B. X._ recourt au Tribunal fédéral contre cet arrêt.

Considérant en droit:
1. En vertu de l'art. 42 al. 1 et 2 LTF, le recourant doit, sous peine d'irrecevabilité (art. 108 al. 1 let. b et 117 LTF), motiver son recours en exposant succinctement en quoi la décision attaquée viole le droit fédéral, ou l'un ou l'autre des droits constitutionnels des citoyens, précisément désigné (cf. <ref-law>). Dans ce dernier cas, et en particulier lorsqu'il soutient que l'autorité inférieure a constaté les faits de manière arbitraire, le recourant doit expliquer de manière circonstanciée en quoi ce serait le cas. Sinon, ses griefs sont irrecevables.
Dans le cas présent, le recourant soutient qu'il a été condamné injustement. Ce faisant, on comprend qu'il remet en cause les faits à partir desquels a été posé le pronostic défavorable qui a conduit au refus de la libération conditionnelle.
Il est douteux qu'un tel moyen soit admissible en procédure d'exécution. Mais ce point peut demeurer indécis en l'espèce, dès lors que le grief du recourant est de toute façon insuffisamment motivé. En effet, le recourant n'expose pas en quoi les différents verdicts de culpabilité rendus contre lui seraient arbitraires. Son recours doit dès lors être écarté en application de l'<ref-law>.
2. Le recourant, qui succombe, supportera les frais de justice (<ref-law>), réduits à 500 fr. pour tenir compte de sa situation financière.

Par ces motifs, le Président prononce:
1. Le recours est déclaré irrecevable.
2. Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge du recourant.
3. Le présent arrêt est communiqué aux parties et à la Cour de justice du canton de Genève, Chambre pénale.
Lausanne, le 22 février 2010
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président: Le Greffier:
Favre Oulevey