philippewang.info

Firewire missing

What the Hell happened with Apple's Firewire? No firewire, thus no firewire target disk mode... While Firewire 800 portable external disks become more and more available (WD Studio, LaCie Rugged, Seagate FreeAgent, ...), and this for Apple machines (they are pre-formatted in HFS), Apple removes firewire from unibody MacBooks. This does not encourage migration from Mac to Mac, only and maybe from PC to Mac... (Some even say this encourage “coming back to PC” but this one is silly speaking.) Moreover, my 500GB LaCie Rugged can easily achieve better than 60MB/s sustained transfer rate using Firewire 800, and it's only a 2.5” hdd inside. Even a 3.5” hdd can't achieve this transfer rate over some dumb USB2. Removing Firewire is bad, and we should say it.
2009-01-29

(re) Apple et sa DDR3

En cherchant un peu, on trouve des informations sur la limitation de la quantité de DDR3 sur ses derniers MacBook Pro unibody... Alors d'abord, le modèle 15” est limité à 4GB sur les données fournies par Apple, mais des utilisateurs rapportent qu'il n'y a pas de problème avec 6GB (4+2GB). Cependant, avec 8GB (4+4GB) la machine deviendrait instable et aurait tendance à complètement planter.

Et pourtant, la version 17” ne présente pas cette limitation bizarre, Apple proposant officiellement 8GB.

Bientôt un Core i7 (quad?) dans un MacBook Pro ?

2009-01-29

Transferts de fichiers

Vous connaissez SCP (copie via SSH) ? Vous connaissez RSYNC (rsync via rsync ou bien rsync via ssh) ? Vous connaissez Unison (un rsync plus avancé) ?

Bon, alors si c'est non, voici un résumé

  • SCP : copie sécurisée, pas forcément très performante mais c'est simple comme CP
  • RSYNC : copie avec possibilité de ne pas transférer ce qui existe déjà sur la machine réceptrice
  • UNISON : comme rsync mais possibilité de synchronisation dans les 2 sens

Introduisons TAR+SSH

tar c source1 source2 source3 | ssh destination tar xv

et TAR+GZIP+SSH

tar cz source1 source2 source3 | ssh destination tar xzv

Et voici TAR+NC

nc -l 9000 | tar xv # à exécuter sur la destination
tar c source1 source2 source3 | nc destination 9000 # à exécuter sur la machine source
9000 peut être remplacé par presque n'importe quelle valeur > 1024 (pour peu qu'elle ne soit pas trop grande et qu'elle ne tombe pas pile sur un port déjà utilisé)

tar+nc peut théoriquement aussi être utilisé dans l'autre sens (dans la pratique c'est moins évident) :
tar c source1 source2 source3 | nc -l 9000 # sur la source
nc source 9000 | tar xv # sur la destination

tar+gzip+nc est assez facile, il suffit d'ajouter z aux options de tar
Bzip2 dans l'affaire ?
Il vaut mieux éviter tar+bzip2 car bzip2 est optimisé pour le taux de compression, pas pour la rapidité (par rapport à gzip). Pour un transfert sur réseau, bzip2 ferait inutilement chauffer les CPU.
À l'heure où la santé de notre planète est en danger, on peut bien essayer d'éviter de consommer de l'énergie pour rien du tout...

Alors, quel intérêt de connaître tout ça ?

Euh... pas grand intérêt. Il faut bien être un peu geek au moins de temps en temps quand on est informaticien :-P Plus sérieusement...
  • SCP : peu performant, pas de gestion des droits (ni chown ni chmod)
  • RSYNC : plus performant que SCP et souvent c'est l'idéal
  • UNISON : je n'ai toujours pas testé en fait...
  • TAR(+GZIP)+SSH : gestion des droits (et de tout ce qui est géré par TAR), efficacité, peu verbeux (voire pas du tout si on ne met pas l'option v), mais quand c'est dans un réseau local, la couche SSL de SSH est généralement consommatrice pour rien...
  • TAR(+GZIP)+NC : comme TAR(+GZIP)+SSH mais sans SSL (SSL peut réduire le débit par un facteur de 2 à 5 facilement)

À propos de FTP

  • FTP demande d'installer un serveur (et les mots de passes transitent en clair). FTP est très mauvais pour transférer beaucoup de fichiers (c'est bien pour transférer un ou deux gros fichiers, pas pour transférer un HOME DIRECTORY par exemple). La gestion des droits (chmod et chown) est ignorée.
  • FTPS permet d'utiliser SSL.
  • SFTP (sorte de FTP via SSH) est du SCP avec une interface à la FTP.

Les vrais inconvénients de TAR(+GZIP)+NC ?

  • Il faut utiliser 2 terminaux au lieu d'un seul
  • On gagne en taux de transfert par rapport aux solutions avec chiffrement SSL, mais NC est super mal codé ! Pardon pour les auteurs de NC, mais les performances sont vraiment mauvaises sans raison apparente... Oui je le recoderai quand je trouverai la motivation...
DD (commande pour “convertir et copier un fichier”) est aussi mauvais en performances sans raison apparente...
NC est connu oralement sous le nom de NET CAT, puisqu'il s'agit en effet d'une version réticulaire de la commande CAT.
2009-01-29

Apple a ouvert le bal de la DDR3 dans les ordinateurs portables...

... ou alors une autre marque l'a fait avant, mais alors cela n'a pas beaucoup marqué les nouvelles.

Personnellement, cela me fait plutôt plaisir qu'on arrête enfin d'utiliser systématiquement la DDR2 667MHz dans les ordinateurs portables, second goulot d'étranglement après le disque dur, premier goulot d'étranglement si le disque dur n'est pas sollicité. Passer de 667 à 1066 MHz, c'est gagner près de 60% de bande passante. Bon, cela n'est pas sans mauvais effet, le temps de latence en nombre de cycles a probablement augmenté par la même occasion. Mais globablement cela signifie quand même que le débit de données entre le CPU et la RAM a été significativement augmenté.

Cela est important dans la mesure où le nombre de coeurs dans le CPU est désormais bien augmenté alors qu'on n'augmente que très lentement les capacités d'échanges de données entre le bloc CPU multicoeur et le bloc RAM multicannal.

Mais alors le coup de ne plus proposer que des écrans brillants, ça c'est vraiment nul. Je n'ignore ni n'enterre les avantages des écrans brillants, mais on a passé des années à essayer d'avoir des écrans cessant de refleter l'environnement face auquel il se trouve, et là il faut que tous ces fabriquants d'ordinateurs portables proposent des écrans brillants probablement juste parce qu'ils tapent plus à l'oeil commercialement.

J'espère qu'ils vont reproposer des écrans mats prochainement, ainsi qu'une intégration du port Firewire 800 dans le MacBook 13”. Ah aussi, les deux ports USB du MacBook Pro se trouvent désormais côte-à-côte, et ça ce n'est vraiment pas très pratique. Espérons également que côté MacBook Air, Apple propose une connectique un peu meilleure que l'actuelle qui est un peu minable...

Rappelons au passage que l'USB 2 a déjà 8 ans. Le débit offert par cette connectique est quand même bien dépassé ! Vivement qu'on passe à l'USB 3. Et dire que le Firewire 800 a déjà 6 ans...

Peut-on espérer avoir des ports Ethernet à connecteurs RJ45 compatibles avec le Firewire 800 ? (oui là je rêve)

Ah, dernière chose : j'espère qu'on pourra bientôt avoir plus de 4GB de RAM dans le portable. Un maximum de 8GB à l'heure actuelle serait le bienvenu, surtout que ce ne sont pas les limitations techniques qui jouent, mais le côté commercial... Et pourquoi donc 8GB ? Tout simplement parce que l'utilisation du disque dur comme extension de mémoire physique n'est vraiment pas efficace. Ah, pour quoi faire ? La virtualisation est maintenant bien opérationnelle. Il est possible de faire fonctionner plusieurs systèmes d'exploitation sur une seule et même machine physique en parallèle, grâce à des machines virtuelles. Et ces machines virtuelles consomment potentiellemet beaucoup de RAM.

2008-12-02

Une petite histoire de tunnels avec SSH

Scénario (faisant intervenir SSH, donc ceux qui ne veulent pas de SSH dans leur vie ne risquent pas d'y trouver un quelconque intérêt) :

On veut pouvoir accéder au réseau R1 qui est un réseau local non accessible directement (typiquement derrière un "routeur NAT" - i.e. ce qu'on appelle communément "routeur" dans le commerce et qu'on a à la maison alors qu'en fait c'est pas trop un routeur).

Les machines du réseau R1 ont accès vers l'extérieur mais l'extérieur n'a pas accès direct aux machines (même situation typique que précédemment).

On peut en général configurer le routeur pour qu'il envoie ce qui arrive sur le port 22 à une machine spécifique du réseau. Mais si la machine qu'on veut contacter est changeante (i.e. pas toujours la même), ou toute autre situation qui fait qu'on ne peut pas mettre cette configuration en place, alors ça devient un peu plus tordu.

On veut pouvoir - sans toucher au routeur ni à quelconque configuration réseau - accéder au réseau local (donc à au moins une machine).

Solution :

Soit M1 une machine toujours accessible de l'extérieur (par exemple un serveur loué ou un serveur à la maison) (on prend le luxe d'ajouter cette machine aux éléments du scénario).

On prend n'importe quelle machine (nommons l'heureuse élue "MR1") du réseau R1 ayant un client et un serveur SSH, on ouvre une connexion à double sens avec la machine M1 :

   ssh -R 1111:0.0.0.0:22 M1

pour la rendre plus robuste avec des moyens peu chers, il suffit d'exécuter dans un "screen" (cf. "man screen" pour ceux qui ne connaissent pas) :

   while true ; do ssh -R 1111:0.0.0.0:22 M1 ; done

Désormais, depuis M1, on peut se connecter en SSH à MR1.

On peut maintenant jouer avec des tunnels !

Pour se connecter en SSH à MR1 en passant par M1 :

1ere option (super tordue) :
  ssh -o "ProxyCommand=ssh M1 ssh localhost -p 1111 nc localhost 22" dummyhost
=> cela connecte directement sur MR1

2nde option :
sur la machine client, exécuter :
  ssh -L 2222:localhost:1111 cat
puis exécuter
  ssh localhost -p 2222
Pour accéder au pages web intranet du réseau R1 (comme si on était sur la machine MR1) :
ssh -L 8080:localhost:8080 ssh -D 8080 localhost -p 1111
puis demander au navigateur de passer par le proxy en SOCKS5 sur localhost avec le port 8080.
remarques :
  • localhost pourra être remplacé par d'autres appellations de "l'hôte courant" (0.0.0.0, 127.0.0.1, lepetitnomdevotremachine, ...) pour éviter les problèmes de signatures de serveurs
  • pour utiliser les doubles ssh, il faut avoir des jeux de clefs ssh opérationnels (soit sans mot de passe, soit avec mot de passe + agent ssh)
2008-08-08

Plus de 18000 emails reçus ces 3 dernières années [...]

Plus de 18000 emails reçus ces 3 dernières années dans ma boîte principale. (Il y a beaucoup plus dans ma boîte secondaire mais je n'en lis alors qu'une partie). Cela fait plus de 6000 mails par an. Ce qui fait en moyenne plus de 15 mails par jour. Mais en fait, cette moyenne a peu de sens ! En ne comptant que les mails de 2008, j'en ai environ 6000 déjà, ce qui fait environ 30 mails par jour en 2008. Tout ça pour dire que ça se peut que j'oublie de répondre à certains mails... :-o

En fait j'étais surtout curieux de savoir combien de mails je reçois par jour ces derniers mois...

2008-06-30

SSH dans tous les sens

Imaginez que vous avez une machine Alice dans un sous-réseau Robert de machines. Alice a accès à internet. Mais pour accéder à une machine du sous-réseau Robert de l'extérieur, ce n'est pas possible, sauf en passant en SSH par une passerelle.

Si tout va bien pour vous, alors pas besoin de lire la suite...

Quand ça ne va pas, en général ça veut dire que la passerelle est faible et qu'elle est plus ou moins surchargée. Dans ce cas, l'accès aux machines du sous-réseau de Robert est lent.

Pour parrer à ça, il existe une solution qui consiste à créer une autre passerelle. Cela engendre bien sûr des potentiels trous de sécurité ! Certains paranoïaques pourraient même penser à un cheval de troie.

En tout cas, il suffit d'utiliser l'option -R de la commande ssh.

La commande
ssh -R truc:1234:machin:22 chose "echo ok ; cat"
permet, sur la machine machin (la cible finale), de créer un serveur ssh virtuel sur le port 1234 de truc qui redirige toutes les connexions vers le serveur ssh réel qui se situe sur machin. Les contraintes sont que chose doit être contactable directement à partir de machin et que truc soit directement contactable à partir de chose. Les hôtes chose et truc peuvent être la même machine.
La commande
ssh -R 0.0.0.0:1234:0.0.0.0:22 chezmoi
ou
ssh -R chezmoi:1234:machin:22 chezmoi
exécutée sur l'hôte machin du sous-réseau Robert signifie "je veux que de chezmoi, je puisse contacter machin sans passer par une troisième machine, en particulier sans passer par la passerelle du sous-réseau Robert".

Finalement je ne sais pas si je suis très clair là... Si vous avez des suggestions d'amélioration, je suis preneur :-)

2008-06-30

Parfums de glaces...

Les glaces Amorino et Berthillon sont tellement meilleures que les glaces habituelles du commerce que je trouve ces dernières vraiment fades.

Ma composition actuelle est la précédente (mangue 60%, chocolat noir 40%) enrichie de framboise, ce qui donne (mangue 40%, framboise 40%, chocolat noir 20%). Encore mieux si on ajoute une touche de citron à la fin.

Le chocolat noir est un parfum indétournable pour les irréductibles du chocolat, comme moi. Mais le chocolat donne soif... Alors les parfums de sorbets suivants permettent de réduire un peu la "soif d'après glaces". La mangue, ce parfum à la mode, est assez variable d'une marque à l'autre, il faut qu'elle ait du goût et ce n'est pas toujours le cas avec les grandes marques industrielles. La framboise est un parfum classique qui apporte fraîcheur et qui a une couleur naturellement intense et magnifique. Le mariage de ces parfums forment pour moi la glace idéale sous ce soleil d'été venu nous rendre visite avant l'heure...

2008-05-10

Drivers Canon Advanced Printing Technology (CAPT) pour Mac OS X Leopard

La version 1.70 du pilote Canon CAPT est disponible depuis le mois dernier. Il apporte la compatibilité avec Mac OS X Leopard. Les imprimantes concernées sont les LBP5200 et LBP5000.
http://software.canon-europe.com/software/0028785.asp

Pendant que j'y suis, je viens de découvrir que Canon a commencé à diffuser un pilote CAPT pour Linux !
http://software.canon-europe.com/software/0028622.asp

Note : liste des pilotes inclus avec Mac OS X Leopard :
http://docs.info.apple.com/article.html?artnum=306684

2008-04-14

Javascript et compagnie...

Javascript, c'est un langage que je n'aime pas trop dans son état actuel. Les navigateurs ne sont pas foutus d'avoir les mêmes comportements pour un programme donné, et même pour les fonctions de base.

Par exemple, dans Safari 3, la méthode sort de la classe Array ne se comporte pas du tout de la même façon que la méthode sort de la classe Array chez Firefox 2 (à part le fait que la méthode trie correctement). Chez Firefox 2, si on trie un tableau déjà trié, on n'obtient pas obligatoirement le même tableau. En effet, si un tableau comporte deux entrées identiques d'après la fonction de comparaison, alors le fait de retrier un tableau le change (obligatoirement d'après ce que j'ai pu constater). C'est-à-dire que si A[i] et A[i+1] ont la même valeur d'après la fonction de comparaison, alors lors du trie, on peut être sûr qu'ils vont changer de place. C'est exactement le comportement contraire avec Safari 3.

Une autre chose de bizare est que la méthode sort de la classe Array de Safari 3 préfère les fonctions anonymes plutôt que les fonctions nommées, d'après ce que j'ai pu constater... (La version avec une fonction nommée fonctionnait bien avec Firefox 2, mais pas du tout avec Safari 3. L'utilisation d'une fonction anonyme a résolu le problème...)

J'imagine qu'Apple (ou bien les développeurs de KHTML) se sont dit que ça ne servait à rien de perdre du temps à bouger des éléments quand rien ne le demande explicitement... En tout cas c'est sûr que ça joue sur les performances... -- Je n'ai aucune idée de quand datent les choix d'implantation. Je n'ai pas lu les spécifications ECMA.

2008-04-10

:: philippewang.info ::

:: design & photos by Philippe Wang :: XHTML 1.1 :: CSS 2 :: RSS 2 :: stats :: contact ::
:: Best viewed with Safari or Opera or Firefox or Links :: No SPAM Please ::
 
This page was generated on Thu Mar 20 19:40:49 GMT 2014 by BashGXD