29 août 2016

Comment trouver le bon MTU ?

MTU = Maximum transmission unit
taille maximale d'un paquet pouvant être transmis en une seule fois sans fragmentation
source : Wikipedia

1) Connaitre la taille actuelle du MTU
Dans le terminal tapper :
networksetup -getMTU en0

2) Faire des "ping" avec une taille < 1500
en baissant la taille de 10 en 10
ex: 1500, 1490, 1480, 1470, etc

Dans le terminal tapper par exemple :
ping -c 1 -D -s 1430 www.dslreports.com

-c = nombre de ping (ici = 1, ç'est suffisant)
-D = ne pas fragmenter
-s = taille du paquet (exemple = 1430)
www.dslreports.com : le site à pinguer, mais un autre devrait faire l'affaire.

dès qu'il n'y a plus de message d'erreur (= tous les paquets transmis sont reçus) ce message s'affiche :
1 packets transmitted, 1 packets received, 0.0% packet loss.

Pour affiner la taille des paquets, refaire des "ping" successifs en augmentant (ou en diminuant)  la taille de 1 en 1
ex: 1429, 1430, 1431 etc., afin de connaitre la taille maximum des paquets qui ne retourne pas de message d'erreur pas de message d'erreur.

ici = 1430. 
Ajouter 28 (= la taille d'un ping) 
1430+28 = 1458

3) fixer la taille des paquets MTU
Dans le terminal tapper :
networksetup -setMTU en0 1458

28 août 2013

Objet et philosophie

"Approche philosophique de l'objet, de Spinoza à Wittgenstein. Le modèle informatique est intermédiaire entre notre représentation mentale du monde et la texture de la réalité. Poser le concept même de l'objet revient à fonder le principe même de la descriptibilité du monde."
www.ethnoinformatique.fr


>> En savoir plus


30 juin 2013

POO




Pour prendre une analogie culinaire, l'approche classique en programmation est de rédiger des recettes, autrement dit la description des opérations à exécuter pour obtenir un résultat. Par exemple, la recette de la sauce hollandaise. Ensuite on s'avise qu'elle a beaucoup de points communs avec celle du beurre blanc, on réunit les parties communes en sous-programmes.

La Programmation Orientée Objet (POO) commence par organiser la cuisine en classifiant les objets que l'on utilise: on peut distinguer les ingrédients (que l'on consomme) et les ustensiles (que l'on réutilise). On constate que tous les ustensiles suivent un cycle commun utilisation-nettoyage-rangement à l'exception des cuisinières et autres micro-ondes qui ne passent pas au lave-vaisselle. Parmi les ustensiles, il y a des récipients, certains vont au feu, d'autres au micro-ondes et d'autres ne supportent pas d'être chauffés.

L'héritage n'est qu'une manière de décrire cette classification: une poêle à frire est un récipient qui va au feu, donc un récipient, donc un ustensile. Donc la classe poêle à frire hérite de la classe récipient qui hérite de la classe ustensile. 

Ensuite, on décrit dans les classes ce que les objets savent faire. Une cuisinière "sait" faire chauffer un récipient. Elle a donc une méthode faireChauffer qui prend comme paramètre un récipient qui va au feu (donc n'importe quel objet dont la classe hérite de la classe objetAllantauFeu). En petit-nègre informatique, cela donne dire à ma cuisinière de faireChauffer(maCasserole) ou traduit en anglais :

tell maCuisiniere to faireChauffer(maCasserole)

et si d'aventure on disait la même chose au lave-vaisselle, il répondrait : "L'objet lave-vaisselle ne comprend pas le message faireChauffer.".

La POO consiste à faire l'analyse d'un programme en termes d'objets manipulés et non de fonctions et de procédures à exécuter. C'est en s'efforçant de pratiquer cette analyse qu'on peut découvrir que les scripts-objets ont été conçus pour les gens qui suivent cette approche, et dans cette approche, leur usage est à la fois naturel et sans grand mystère.

Par contre si on reste dans l'approche classique d'une analyse procédurale, on éprouve les plus grandes difficultés à leur trouver une véritable utilité.

Laurent Sebilleau le 19/8/2004 sur applescript_fr@macplus.net 

4 déc. 2011

Finder vs System Events vs UNIX

tell application "Finder"
set List1 to the name of every item of startup disk
end tell

tell application "System Events"
set List2 to the name of every item of startup disk
end tell

set List3 to do shell script "ls -a /"

(count of List1) = (count of List2)
--> false

(count of List2) = (count of List3)
--> false

6 nov. 2011

The Zen of Python

set cmd to do shell script "python -c 'import this'"
display dialog cmd buttons {"•"} default button 1

>> Ouvrir le script dans l'éditeur