dimanche 18 novembre 2012

Menu Login du Mac - Cacher un utilisateur

Cacher par exemple l'utilisateur postgres

J'ai récemment installé postgreSQL et depuis apparaît dans la liste des utilisateurs de la fenêtre de login l'utilisateur technique postgres.
La commande ne semble pas accesible via les outils graphiques et necessite de passer par un shell :
> sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add postgres

Pour supprimer cette liste des utilisateurs cachés :

> sudo defaults delete /Library/Preferences/com.apple.loginwindow HiddenUsersList
Je n'ai pas trouvé comment supprimer un seul utilisateur.

Consulter la liste des utilisateurs cachés

> sudo defaults read /Library/Preferences/com.apple.loginwindow HiddenUsersList

samedi 20 octobre 2012

MAC - Administration


Dans ce billet, je vais essayer de compiler les astuces d'administration de mon mac;

Service daemon lancés au démarrage

Exemple pour postgresql


  • stopper un service : launchctl unload /Library/LaunchDaemons/com.edb.launchd.postgresql-9.0.plist
  • relancer un service : launchctl unload /Library/LaunchDaemons/com.edb.launchd.postgresql-9.0.plist

MAC - Options au redémarrage


Vérifier votre disque ou réinstaller votre système

Pour cela, la commande magique est de redémarrer en laissant appuyé su CMD+R.

Démarrer sur un autre périphérique

Redémarrer en laissant appuyé sur option (voir ici).

lundi 24 septembre 2012

Des infos Mac.

Heureux détenteur d'un mac, je me trouve confronté à des problèmes de débutant sur cette plate-forme. Je vais essayer de regrouper les différentes infos que je regrouperai au fur et à mesure sur ce blog.

mercredi 18 juillet 2012

J'ai testé Google play books

Le test

Un premier billet pour faire part de mon premier test du service d'achat de livres de Google ( Play Books ). Mon objectif était d'acheter un livre et de pouvoir le lire sur ma liseuse bookeen ( cybook odyssey ). L'achat est très simple du moment que vous disposez d'un compte Google wallet. Une fois l'achat effectué vous pouvez lire votre livre en ligne, le télécharger au format pdf, ou au format ePub. C'est ce dernier format qui m'intéresse car c'est le format standard des liseuses dotées d'encre électronique ( ou ereaders ). Quand vous téléchargez votre livre dans ce format, le fichier résultat n'est pas un fichier ePub mais une sorte de descripteur que adobe digital edition ( outil à utiliser pour copier vos livres électroniques protégés par un DRM sur votre liseuse ) sait ouvrir. Quand ce descripteur est ouvert, l'application va générer dans votre disque le fichier ePub tant attendu et vous pourrez ensuite le copier sur votre liseuse sans problème.

Bilan

L'interface est très bien, l'achat est facile ( mais payer est rarement difficile ), le téléchargement des livres est aussi très simple. Ma liseuse a lu le livre que je viens d'acheter de manière tout à fait normale. Je regrette juste ce choix de ne pas délivrer directement de fichier ePub, fichier qui pourrait d'ailleurs être dépourvu de DRM : un simple watermarking suffirait ( cette technique laisse une liberté totale à l'utilisateur : elle permet juste de remonter à la source d'un fichier qui se retrouverait diffusé un peu partout, et ainsi de trouver le contrevenant ). Il me restera aussi à voir si la bibliothèque fournie est vraiment conséquente et si elle est mise à jour régulièrement.

mardi 17 juillet 2012

java 7 nio

In this short post, I will focus on the points I found interesting in java 7 new classes introduced into the package java.nio.file.
I will not describe all this framework, the best documentation for that is the official javadoc.

Manipulating the Path

These two classes Paths and Path are introducing some very nice methods to manipulate files path.

java.nio.files.Paths

This is the factory class, to be used for Path creation

java.nio.files.Path

This class is used to locate an object in the file system. Such instances are immutable and Thread safe.
Note that you can construct a Path which is not associated with an existing file. This new class is very easy to manipulate, you can iterate on each segment of the path easily, you do not see any more the file system separator ( except if you really want )

Useful methods :
  • normalize : very classic, to remove things like '..', './' , ... from the actual Path - returns the new Path without these redundant informations
  • relativize : return the absolute path from a relative path
  • toFile : return the file associated with this path
  • iterator() to iterate on each segment
  • ...

Manipulating Files

Most of the operation on files will be done using the final class java.nio.files.Files.
Useful methods :

  • public static byte[] readAllBytes(Path path) : we all did it ourself, or by using well-known libs.
  • public static long copy(Path source,OutputStream out) : avoid a lot of code to copy a file in an already opened stream
  • static Path move(Path source, Path target, CopyOption... options): without this weird boolean result returned in the former file API. You should simply rely on the exception thrown in case of problem. See enum StandardCopyOption.
  • ...

Watching a Directory for Changes

This is the killer feature I was waiting for. I was previously using some JNI extensions I did  ( one for linux based on the inotify kernel feature, one based on the mac FileSystem Events Api ).
My first test illustrate the fact that the linux implementation is efficient, but the mac implementation seems to be a simple polling : not very efficient ... ( with oracle jdk 1.7.0_05 ).


Useful classes : 

  • java.nio.file.WatchService : the service responsible to deliver the notification to your application
  • java.nio.file.WatchKey : returned for each directory you are watching

Links

le puits des mémoires de Gabriel Katz

Trois hommes se réveillent , chacun dans une espèce de cercueil ; cercueils eux-même entassés dans un chariot accidenté. Le problème pour eux est qu'ils sont vierges de toute mémoire personnelle : leur connaissance du monde extérieur est intacte mais ils n'ont aucune idée de qui ils sont. Une fois sortis de la zone de montagne dans laquelle l'accident a eut lieu, ils vont rapidement se rendre compte que des hommes sont à leur recherche. Ce premier tome raconte la fuite de ces trois personnages, durant laquelle chacun va apprendre à se connaître : l'un est un excellent escrimeur, l'autre aime les chevaux et le troisième se révèle doté de pouvoirs magiques. Toute l'intrigue de ce premier tome se déroule dans un petit royaume voisin du puissant duquel semblent venir ceux qui cherchent nos trois comparses.
Le scénario de ce livre est original, ce n'est pas une nouvelle circonvolution autour des schémas efficaces mais parfois éculés de la Fantasy : le monde qui y est décrit est réaliste, original et semble prêt à accoucher d'autres histoires toutes aussi intrigantes. Que dire d'autre, en plus de ce résumé du premier tome, si ce n'est que j'ai été content de lire ce bouquin ( notons qu'il est écrit en français )  , qu'il ce lit d'une traite ( seulement 300 pages environ) et que j'attend sa suite avec impatience !

Ma note : 15 / 20