sondage, ping, pubsub, pubsubhub, PubSubHubbub
Dans le cas où vous êtes sceptique, il ya une méthode dans la folie au-dessus, dans le titre du poste. Dans les milieux de haute technologie, il est peu probable que vous n'avez pas entendu parler de PubSubHubbub. Dans rapides quelques mois, il a été l'un des trois premiers parlé de choses. Deux autres étant le chiffrement homomorphique et Google ondes [ 1. ]. Pour en revenir à poste actuel - termes dans le titre indiquer comment vous obtenez le contenu d'autres personnes. Après plus de détails apparaîtront plus clairement, si vous vous imaginez des choses se passe en ce qui concerne les blogs, même si elles sont conceptuellement ne se limite pas aux blogs.
Interrogation fait référence au scénario où les clients continuent à demander au serveur si quelque chose de nouveau a été soulevée. Combien de fois de demander des mises à jour sera toujours un problème avec interrogation trop fréquents ou trop rares, mais comme un lecteur fait remarquer ici que l'on grand chose avec du scrutin, c'est que le serveur ne dispose pas de maintenir l'état.
Ping se réfère au cas où quand publier un article, vous (ou votre logiciel) met également à jour certains services populaires de mise à jour (central). Un peu d'histoire ici .
Suivant est pubsub qui signifie publication / abonnement, l'un des premiers pas car il a été fait ici par Evan Henshaw-Plath et Kellan Elliott-McCrea (72 diapositives, mais la peine d'aller à travers). Exemple convaincant ils ont donné contre était-ce - à une date donnée, Friendfeed rampé Flickr 2,9 millions de fois pour obtenir les dernières photos de 45,754 utilisateurs, dont 6721 avaient visité Flickr dans ces 24 heures et aurait pu «potentiellement» a ajouté une photo. Notez que ce qu'ils proposaient n'était pas une nouvelle technologie, car ils soulignent «nouvelle technologie révolutionnaire de 20 ans». Si vous le faites pour les blogs, puis l'un des problèmes majeurs avec XMPP - la présence de données supplémentaires, ce qui peut être aussi élevé que 60-70% peut être réduit beaucoup.
pubsubhub signifie publier hub abonnez-vous et PubSubHubbub est un protocole, le noyau de ce qui est l'idée de pubsubhub. Éditeurs, dans laquelle (disent les blogueurs) mettre à jour le moyeu qui (peut-être plus d'un concentrateurs, qui parlent les uns aux autres) réside «quelque part dans les nuages», selon le protocole cela peut être pousser ou tirer selon le protocole, mais le lien suivant dans le chaîne, plaque tournante pour le client (par exemple les lecteurs), il est toujours pousser le modèle. Cette page est bon point de départ pour PubSubHubbub, diapositives aperçu sont bons. Toujours éloquent Anil Dash qu'il décrit ici comme bouton-poussoir web.
Deux autres lectures sont liées webhooks qui est essentiellement rappels http. Github utilise elle, le fait paypal pour les notifications asynchrones de paiement en ipn . Donc beaucoup d'autres. Concept connexe est rssCloud qui est nouveau hub pubsub. Suivez ce lien pour plus de détails.
Vous demandez peut-être ce qui est le point d'écrire tout cela ici, il ya deux 1. Ces choses valent la peine sachant, au minimum, à moins et 2. Ce blog est désormais activé PubSubHubbub via le hub appspot utilisant ce wordpress plug-in et d'alimentation est trop PubSubHubbub activé via feedburner, lien ici
-
[ 1 ]. - Bonne introduction lire pour le chiffrement homomorphique est pleinement présent article de Bruce Schneier et ce discours est plus ou moins la seule source de la vague Google.
-MISE À JOUR - Cette après explique comment l'exigence de serveur public pour le rappel peut être travaillé autour pour les clients de bureau en utilisant la passerelle XMPP (pour PubSubHubbub).
Un peu d'assemblage
Après avoir lu cette article sur les tampons de blocage libres et voir l'utilisation de la CSA (comparer et échanger), je me suis senti comme l'affichage du code assembleur pour faire la même chose. Cas d'utilisation là-bas était d'écrire une méthode native et l'appeler à partir de Java (retour à 1,5, lorsque les structures de données simultanés en Java étaient plus ou moins inexistant). Sans plus tarder, je vais libérer le code sur vous
. La première est pour le CAS et le second est pour le calcul GCD en utilisant l'algorithme d'Euclide (celui-ci peut être trouvée dans de nombreux endroits et des tutoriels ainsi).
Compiler et exécuter des instructions gcc file_name.c ; ./a.out
Comparer et Swap
# Include# Include / / Change - newvalue, comperand est vieux / valeur attendue / * * Fonction ne fait la chose suivante - si la valeur au * dest est égale à oldValue puis le remplacer par autre newvalue laisser inchangé: faire toutes ces atomiquement * * Il ya deux options pour la valeur de retour * La valeur initiale de 1.is * dest et laisser le fardeau de la FXN appelant à le comparer avec oldval * 2. le faire ici et retourner 0 ou 1, ce devrait être plus efficace ** / / * Plus tard, il se transformer en macro * / int CAS (int * dest, int oldValue, int newvalue) { printf ("(% d,% d,% d)", * dest, oldValue, newvalue); / * Int CAS (int dest, int oldValue, int newvalue) {* / / * Int CAS (int dest, int newvalue, int oldValue) {* / int résultat = 1 ;/ * 1 montre que les CA ont réussi et 0 montre qu'il a échoué * / / * Btw besoin de mettre en cc pour le drapeau démolir! * / __ volatile__ __asm__ ( "Movl% 2,%% eax \ n \ t" "Movl% 3,%% ebx \ n \ t" "0% movl,%% ecx \ n \ t" "LOCK \ n \ t" "CMPXCHG% ebx%, (%% ecx) \ n \ t" / * doit se verrouiller être sur la même ligne * / "Jz FAIT \ n \ t" "Movl $ 0,% 1 \ n \ t" "FAIT: \ n \ t" : "= M" (dest), "= g" (résultat) : "G" (oldValue), "g" (newvalue), "m" (dest) : "% Eax", "% ebx", "ecx", "cc" ); printf ("(% d,% d,% d)", * dest, oldValue, newvalue); renvoyer le résultat; } / * TODO * Écrire un autre FXN asm qui met au-dessus FXN dans une boucle while et continuer à essayer si elle réussit * / int main () { int a = 5, b = 6; int * c = (int *) malloc (sizeof (int)); * C = 6; / * Int c = 6; * / printf ("% d \ n", CAS (c, b, b)); printf ("% d \ n", CAS (c, b, a)); printf ("% d \ n", CAS (c, a, a)); printf ("% d \ n", CAS (c, b, b)); * C = 6; / C * = 5; * / printf ("valeur changeante des * c à% d \ n", * c); printf ("% d \ n", CAS (c, b, b)); printf ("% d \ n", CAS (c, b, a)); printf ("% d \ n", CAS (c, a, a)); printf ("% d \ n", CAS (c, a, b)); printf ("% d \ n", CAS (c, b, a)); retourner 0; }
Mise en forme des notes - apparaît comme la coloration syntaxique wp est l'ajout à la fin, l'ignorer.
GCD
# Includeint pgcd (int a, int b) { int résultat; / * Calcul Plus Grand Commun Diviseur utilisant l'algorithme d'Euclide * / __ volatile__ __asm__ ("movl% 1,%% eax;" "Movl% 2,%% ebx;" "SUITE: CMPL 0 $,%% ebx;" "Je FAIT;" "Xorl%% edx,%% edx;" "Idivl%% ebx;" "Ebx movl%%,%% eax;" "Movl%% edx,% ebx%;" "Jmp suite;" "FAIT: movl%% eax,% 0;": "= g" (résultat): "g" (a), "g" (b) ); renvoyer le résultat; } int main () { int premier, deuxième; printf ("Entrez deux entiers:"); scanf ("% d% d", & d'abord, et seconde); printf ("% d PGCD de &% d est% d \ n", premier, deuxième, pgcd (premier, deuxième)); retourner 0; }
Mondiale de cricket attend un Nouvel Ordre Mondial
Après une série qui s'étend sur cinq essais et environ deux mois, les cendres récupérées Angleterre.
Parlons de l'équipe gagnante premier - leur ordre du milieu est «moyenne» si vous ne voulez pas critique. Contribution Greame Swann avec la chauve-souris comptera pas moins de contribution avec le ballon. Stuart Broad - meilleure polyvalent était entrée non pour le test 5ème. Andrew Strauss était le batteur seulement conforme et Jimmy Anderson a été le lanceur seulement conforme.
Point ici n'est pas de fustiger les réalisations de l'équipe gagnante, mais à mettre en perspective le fait que, malgré tout cela, l'Australie a perdu. vous aurez à penser pendant quelques secondes, si on lui demande de nommer leur meilleur lanceur. A droite, il était BW Hilfenhaus. Hauritz surpassé les attentes, mais everbody n'était pas encore assez bon pour être sélectionné pour deux des cinq essais. Afrique du Sud n'a jamais été un batteur monde sans une fileuse de classe mondiale, l'Australie ne peut pas espérer rester l'un sans un un assez bon au moins. Magicien a quitté la scène et il ne ressemble pas à l'art plus, oublier la magie. Ponting se dresse fièrement parmi les simples mortels et Michael Clarke se lève très souvent, mais qui en fait une équipe avec de très bons joueurs et non pas une très bonne équipe.
Ashes 2009 restera dans les mémoires pour Ashes dernières Andrew Flintoff, l'arrivée de Stuart Broad en tant que polyvalent (si il ajoute un peu plus du folklore Ashes à son début prometteur), et un du siècle débuts le plus révélateur de tous les temps par Trott, mais il sera également dans les mémoires comme le point où si et les mais sur la suprématie de l'Australie ont finalement été mis au repos, c'est fini. Ne vous méprenez pas, ils peuvent encore dénicher Mike Hussey ou Stuart Clark, mais vous vous sentez la contribution de tous les grands temps quand ils sont portés disparus. Parfois, ils viennent pour vous rappeler d'eux-mêmes dans de l'IPL, mais encore ils ne peuvent pas être remplacés. Disons me sens béni d'avoir vu Warne, McGrath et Gilchrist jouer ensemble et étant supporté par Waughs, Ponting, Hyden, Martin et Langer.
À l'avenir, l'Afrique du Sud restera toujours une très bonne équipe, mais ils ont besoin pour gagner demi-finale et d'être plus cohérente dans le monde entier, le Pakistan restera énigmatique brillante, indiennes canons jeunes trouveront probablement difficile à combler les chaussures de ses prédécesseurs extraordinaires. Sri Lanka devrait continuer de montrer un aperçu de l'art dans l'artisanat. Mais, nous pourrions avoir à attendre pendant un certain temps avant d'avoir une équipe tout à dominante ou avant un capitaine se plaint du manque de concurrence, comme Steve Waugh a fait une fois.
Dans une note relative - nous allons accueillir le retour de Asif, il a un enfer beaucoup de potentiel, espérons de voir certains de cela, et aussi accueillir Fleur Andy dans le awatar nouvelle, à droite, vous ne pouvez pas empêcher les hommes de bonnes bas pour longtemps.
rubis: une ligne pour créer de hachage
Hier en passant par l'un de mes anciens programmes, j'ai trouvé cela par écrit par moi ya un certain temps:
#begin magic
hash=Hash[*CGI.unescape(raw_text).split('&').map{|x| b=x.split("=");b.push(nil) if b.size==1;b}.flatten]
#end magic
Pour tuer le suspense permettez-moi de révéler que raw_text ressemble
, Le droit qu'il a été coupé de la reconnaissance de paiement paypal.
Au-dessus de la ligne si elle est brisée en pièces se lit mieux:
unescaped_array = CGI.unescape (raw_text). split ('&') unescaped_array = {unescaped_array.collect | x | b = x.split ("="); b.push (néant) si b.size == 1;} b flattened_array = unescaped_array.flatten hash = Hash [* flattened_array]
Faisons différentes étapes de la CISR:
irb (main):. 009:0> unescaped_array = CGI.unescape (raw_text) split ('&') => ["SUCCESS", "mc_gross = 10.00", "protection_eligibility = non admissibles», «payer_id = U7PPJJ4TSJ47E", "impôt = 0.00", "payment_date = 09:45:30 10 juillet 2009 PDT", "payment_status = En attente "] irb (main): 013:0> unescaped_array = {unescaped_array.map | x | b = x.split ("="); b.push (néant) si b.size == 1;} b => [["SUCCESS", nil], ["mc_gross", "10.00"], ["protection_eligibility", "inadmissible"], ["payer_id", "U7PPJJ4TSJ47E"], ["impôt", "0.00"] , ["payment_date", "09:45:30 10 juillet 2009 PDT"], ["payment_status", "En attente"]] irb (main): 014:0> flattened_array = unescaped_array.flatten => ["SUCCESS", nil, "mc_gross", "10.00", "protection_eligibility", "inadmissible", "payer_id", "U7PPJJ4TSJ47E", "impôts", "0.00", "payment_date", "09:45: 30 10 juillet 2009 PDT "," payment_status "," En attente "] irb (main): 015:0> hash = Hash [* flattened_array] => {"Impôt" => "0.00", "payment_status" => "En attente", "payer_id" => "U7PPJJ4TSJ47E", "mc_gross" => "10.00", "SUCCESS" => nil, "payment_date" = > "09:45:30 10 juillet 2009 PDT", "protection_eligibility" => "Inadmissible"}
BTW, * est appelé opérateur splat en ruby
Une autre façon de créer de hachage à partir «tableau de paires" est d'utiliser l'injection:
hash = [[1,2], [3,4]] injecter ({}). {| résultat, élément | résultat [element.first] = résultat [element.last];} résultat Il ya une façon de plus
Rédiger une boucle, que je vais laisser comme un exercice pour les lecteurs!
Voici un cas d'utilisation sans rapport avec peu de création de hachage à partir des tableaux:
irb (main): 005:0> [1,2,3,4,7,9] group_by {| x | x <5.? : Moindre :: plus} => {: Moins => [1, 2, 3, 4],: une plus grande => [7, 9]}
Vous pouvez faire plus de choses, essentiellement suite du bloc est utilisé comme la clé de cet élément dans la table de hachage qui en résulte.
fix gmail, mutt et msmtp
Si vous utilisez mutt et smtp pour accéder à Gmail. Voici une nouvelles (mauvaise). Refroidir les gars de Google à nouveau changé certificat. Oh, avez-vous demandé - comment il le sait? Mutt Simple commencé à se plaindre mauvais certificat lorsque vous essayez d'utiliser msmpt, tristement célèbre «msmtp: la vérification du certificat TLS a échoué:. Le certificat n'a pas obtenu un émetteur connu" m'a accueilli à l'écran.
Pour traverser le confirmer -
Il suffit de lancer la suite
$ msmtp --serverinfo --host=smtp.gmail.com --tls=on --port=587 --tls-certcheck=off
En lieu et place du serveur Thwate vieux maintenant vous êtes à la suite dans le segment émetteur
Issuer:
Common Name: Google Internet Authority
Organization: Google Inc
Country: US
Heureusement solution est simple, voici ce que vous devez faire sur debian
# apt-get install ca-certificates
# dpkg -s ca-certificates|grep Version
Version: 20090814
Après il suffit de changer cette ligne suivante dans you ~ /. Msmtprc
tls_trust_file /certs/Thawte SSLWeb Server Roots/thawte Premium Server CA/Thawte Premium Server CA.pem
tls_trust_file /certs/Thawte SSLWeb Server Roots/thawte Premium Server CA/Thawte Premium Server CA.pem
à
tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt
Git et Enquête sur Impressionnant
Voici deux liens pour l'enquête par git (système de contrôle de version) et génial (gestionnaire de fenêtres) de la communauté. Si vous utilisez un de ceux-ci, s'il vous plaît prendre quelque temps pour remplir le questionnaire. Pensez-y comme la façon la plus simple de contribuer en retour au logiciel que vous utilisez.
Voici les liens:
Git - http://www.survs.com/survey?id=2PIMZGU0&channel=Q0EKJ3NF54
Awesome - http://www.survs.com/survey?id=8BVEV3FO&channel=BH07CQ040D
Remarque - (Comme l'a constaté sur ces pages, mais au fond
) -
"Si vous avez activé les cookies, vous pouvez toujours soumettre l'enquête partiellement rempli, et retourner à vos réponses à une date ultérieure, en la complétant plus tard."
Hachages Fusion dans les fichiers de conf yaml
YAML est très pratique pour écrire des fichiers de configuration. Principal avantage est que, il se lit comme fichier texte. Cela fonctionne vraiment bien si votre fichier de configuration est plat (pas de hiérarchie) et n'a pas de répétitions.
Si votre fichier de configuration a répétitions alors il est logique de séparer ces éléments et de les réutiliser. Ce que je veux dire est ceci - disons que vous votre fichier de configuration ressemble à ceci:
le développement: input_location: common_input output_location: dev_location mail: smtp_server: votre_serveur login: votre_login Mot de passe: top_secret la production: input_location: common_input output_location: dev_location mail: smtp_server: votre_serveur login: votre_login Mot de passe: top_secret
En supposant que le code ci-dessus dans / tmp / test.yml voici comment vous pouvez lire en python et ruby
$cat readyml.py
#! / Usr / bin / env python à partir pprint importation pprint que p # Dans le fichier debian besoin d'installer python-yaml de la charge d'importation yaml, load_all, d'un dépotoir hachage charge = (open ('/ tmp / test.yml')) pp (hash ['développement'])
$ cat readyml.rb
#! / Usr / bin / ruby require 'pp' hash = YAML :: load (File.open ('/ tmp / test.yml'). lire) hachage pp [«développement»]
est ici un outil pratique un paquebot pour la version rubis
$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]' ou vous pouvez essayer la même chose à la CISR ou de la console python.
Notez que dans l'extrait de code ci-dessus, tout est autre que l'emplacement de sortie est la même dans le développement et une partie de la production. C'est là identificateur de noeud yml vient à la rescousse. L'idée est simple, un ensemble de valeurs par défaut et les remplacer au lieu différent.
Vous pouvez le séparer comme suit:
par défaut: par défaut et input_location: common_input output_location: dev_location mail: sender_name: l'expéditeur smtp_server: votre_serveur login: votre_login Mot de passe: top_secret le développement: <<: * Les valeurs par défaut la production: <<: * Les valeurs par défaut output_location: prod_location
$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]["mail"]["login"]'
"your_login"
$
Grande, il fonctionne (tm)!.
On peut dire que nous avons échangé un peu de clarté pour un peu de magie. Voici une petite explication: &, * et <<: & ce qui est la balise d'ancrage peut être comprise comme identificateur de nœud, * est nœud de référence et <<: synonyme de fusion de hachage.
Pour plus de détails, voir soit spécifications yaml ou wikipedia
Jusqu'ici tout va bien, mais il ya un hic ici, ces fusions de hachage ne sont pas récursives. Qu'est-ce que cela signifie, c'est ceci: disons que vous voulez que le nom d'expéditeur différent pour le courrier dans les deux environnements, vous pouvez être tenté de faire ce qui suit:
par défaut: par défaut et input_location: common_input output_location: dev_location mail: sender_name: l'expéditeur smtp_server: votre_serveur login: votre_login Mot de passe: top_secret le développement: <<: * Les valeurs par défaut mail: sender_name: sender_dev la production: <<: * Les valeurs par défaut output_location: prod_location mail: sender_name: sender_prod
Permet de vérifier
$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]["mail"]["login"]'
nil
$
Oups, quelque chose n'allait pas, le problème tel que mentionné ci-dessus est que la fusion de hachage n'est pas récursive et lors de la fusion a remplacé e-mail de défaut par courrier de la production qui a une seule touche. Solution / travail autour est de dérouler un niveau de plus:
common_settings: & common_settings input_location: common_input output_location: dev_location mail_defaults: & mail_defaults sender_name: l'expéditeur smtp_server: votre_serveur login: votre_login Mot de passe: top_secret par défaut: par défaut et <<: * Les common_settings mail: <<: * Les mail_defaults le développement: <<: * Les valeurs par défaut la production: <<: * Les valeurs par défaut mail: <<: * Les mail_defaults sender_name: sender_prod
Permet de vérifier à nouveau
$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]["mail"]["login"]'
"your_login"
$
Avez-vous dit que vous avez le niveau un plus de nidification, ainsi vous pouvez certainement dérouler un niveau de plus, mais alors il devient un gâchis. Donc, si vous n'êtes pas d'essayer d'écrire une solution à des tours de Hanoï dans un fichier de conf, il est préférable de restucture fichier de conf que de creuser dans yaml ou autre chose. Mais c'est votre appel de toute façon.
Programmeurs Grands trouver des solutions simples aux problèmes complexes
Après un long moment que j'ai pu trouver la source de la citation suivante-
Programmeurs juniors de créer des solutions simples à des problèmes simples. Programmeurs supérieurs de créer des solutions complexes à des problèmes complexes. Programmeurs Grands trouver des solutions simples aux problèmes complexes.
Il est d'un essai intitulé Software Belle par Charles Connell.
Un autre de mes préférés est The Zen of Python -
Belle est meilleur que laid.
Explicite est meilleur qu'implicite.
Simple est meilleur que complexe.
Complexe est meilleur que compliqué.
Flat est meilleur que imbriqués.
Sparse est meilleur que dense.
Compte de lisibilité.
Les cas particuliers ne sont pas suffisamment spécial pour briser les règles.
Bien que pratique bat la pureté.
Les erreurs doivent jamais passer sous silence.
Sauf mention explicite silence.
Dans le cas d'ambiguïté, refuser la tentation de le deviner.
Il devrait y avoir un et de préférence un seul évidente façon de le faire.
Bien que cette façon peut-être pas évident à première vue, sauf si vous êtes néerlandais.
Maintenant c'est mieux que jamais.
Bien qu'il n'ait jamais est souvent meilleur que les * droit * maintenant.
Si la mise en œuvre est difficile à expliquer, c'est une mauvaise idée.
Si la mise en œuvre est facile à expliquer, il peut être une bonne idée.
Espaces de noms sont une idée klaxonnant grande - nous allons faire plus de ceux-là!
-------------------------
et puis il est classique Tao de la programmation
-
crédits que sur le site lié à des
Traduit par Geoffrey James
Transcrit par le duc Hillard
Transmis par Anupam Trivedi, Sajitha Tampi, et Meghshyam Jagannath
Re-html-isée et édité par Kragen Sittler
-
Livre 1 - Le vide silencieux
Ainsi parla le maître programmeur:
«Quand vous avez appris à arracher le code d'erreur à partir du cadre piège, il
sera temps pour vous de partir. "1.1
Quelque chose de mystérieux est formé, né dans le vide silencieux. En attendant seul et
immobile, il est à la fois immobile et encore en mouvement constant. Il est la source
de tous les programmes. Je ne sais pas son nom, alors je vais l'appeler le Tao de la
Programmation.Si le Tao est grand, alors le système d'exploitation est grande. Si le fonctionnement
système est grande, alors le compilateur est grand. Si le compilateur est grande,
alors l'application est grande. L'utilisateur est heureux et il existe
l'harmonie dans le monde.Le Tao de la programmation des flux loin et revient sur le vent du matin.
1.2
Le Tao a donné naissance à la langue de la machine. Le langage machine a donné naissance à l'
assembleur.L'assembleur a donné naissance au compilateur. Maintenant il ya dix mille
langues.Chaque langue a son but, mais humble. Chaque langue exprime la
Yin et le Yang du logiciel. Chaque langue a sa place dans le Tao.Mais ne pas programmer en COBOL, si vous pouvez l'éviter.
1.3
Au commencement était le Tao. Le Tao a donné naissance à l'espace et du temps.
Par conséquent l'espace et le temps sont le Yin et le Yang de la programmation.Les programmeurs qui ne comprennent pas le Tao sont toujours à court de temps
et l'espace pour les programmes. Les programmeurs qui toujours comprendre les Tao
avoir suffisamment de temps et d'espace pour atteindre leurs objectifs.Comment pourrait-il en être autrement?
1.4
Le programmeur sage est dit au sujet de Tao et le suit. La moyenne
programmeur est dit au sujet de Tao et de recherches pour elle. Le programmeur fou
est dit au sujet de Tao et se moque de lui.Si ce n'était pas pour rire, il n'y aurait pas de Tao.
Les plus fortes sons sont les plus difficiles à entendre.
À l'avenir est un moyen de battre en retraite.
Grand talent se révèle en fin de vie.
Même un programme parfait a toujours des bugs.-------------------------
Livre 2 - Les anciens maîtres
Ainsi parla le maître programmeur:
"Après trois jours sans programmation, la vie devient vide de sens."
2.1
Les programmeurs de la vieille étaient mystérieuse et profonde. Nous ne pouvons pas imaginer
leurs pensées, de sorte que tous nous faisons, c'est de décrire leur apparence.Conscient, comme un renard traverser l'eau. Alert, comme un général sur le
champ de bataille. Genre, comme une hôtesse accueillir ses invités. Simple, comme
blocs de bois non sculptés. Opaque, comme les piscines noires dans les grottes sombres.Qui peut dire les secrets de leurs cœurs et les esprits?
La réponse n'existe que dans le Tao.
2.2
Grand Maître de Turing fois rêvé qu'il était une machine. Quand il se réveilla
s'écria:"Je ne sais pas si je suis Turing rêver que je suis une machine, ou d'un
machine à rêver que je suis de Turing! "2.3
Un programmeur d'une société d'informatique très grande allé à un logiciel
conférence et est ensuite retourné faire rapport à son manager, en disant: «Quel genre
de programmeurs travaillent pour des entreprises d'autres? Ils se sont comportés mal et étaient
indifférents aux apparences. Leur cheveux étaient longs et hirsutes et leur
vêtements étaient ridé et vieux. Ils s'est écrasé notre suite hospitalité et ils
fait des bruits grossiers lors de ma présentation. "Le directeur nous a dit: "Je ne vous ai jamais envoyé à la conférence. Ceux
programmeurs vivre au-delà du monde physique. Ils considèrent la vie absurde, un
coïncidence fortuite. Ils vont et viennent sans savoir limites.
Sans soins, ils ne vivent que pour leurs programmes. Pourquoi devraient-ils pris la peine
avec les conventions sociales?"Ils sont vivants dans le Tao."
2.4
Un novice a demandé au Maître: «Voici un programmeur qui ne dessine jamais,
documents ou des tests de ses programmes. Pourtant, tous ceux qui le connaissent le considèrent comme l'un des
les meilleurs programmeurs dans le monde. Pourquoi est-ce? "Le Maître répond: "Ce programmeur a maîtrisé le Tao. Il est allé
au-delà de la nécessité pour la conception, il ne se mettent en colère lorsque le système
accidents, mais accepte l'univers sans se préoccuper. Il est allé au-delà du
besoin de la documentation, il ne se soucie plus si quelqu'un d'autre voit son code.
Il est allé au-delà de la nécessité pour les essais; chacun de ses programmes sont parfaits
en eux-mêmes, sereine et élégante, leur but évident. En vérité,
il est entré dans le mystère du Tao. "-------------------------
3 Livre - Conception
Ainsi parla le maître programmeur:
"Lorsque le programme est mis à l'essai, il est trop tard pour faire de la conception
changements. "3.1
Il était une fois un homme qui est allé à une foire commerciale ordinateur. Chaque jour, comme il
est entré, l'homme dit à la garde à la porte:«Je suis un grand voleur, connu pour mes exploits de vol à l'étalage. Être
prévenu, pour ce salon ne doit pas échapper à unplundered. "Ce discours perturbé grandement la garde, parce qu'il y avait des millions de
de dollars de matériel informatique à l'intérieur, donc il a regardé l'homme avec précaution. Mais
l'homme simplement erré d'une cabine à, en fredonnant doucement à lui-même.Quand l'homme à gauche, la garde le prit à part et fouillé ses vêtements, mais
rien ne devait être trouvée.Le lendemain du salon, l'homme revint et reproché à la garde
disant: "Je me suis échappé avec un butin immense, hier, mais aujourd'hui, le sera encore
mieux. "Alors le garde le regardait sans cesse plus étroite, mais en vain.Le dernier jour du salon, la garde pourrait limiter sa curiosité
pas plus. "Voleur de Sir," at-il dit, «Je suis tellement perplexe, je ne peux pas vivre dans
la paix. S'il vous plaît m'éclairer. Qu'est-ce qui vous volez? "L'homme sourit. "Je vole des idées", at-il dit.
3.2
Il était une fois un maître programmeur qui a écrit des programmes non structurés. Une
programmeur novice, cherchant à l'imiter, a aussi commencé à écrire
des programmes non structurés. Lorsque le novice a demandé au capitaine d'évaluer sa
progrès, le maître lui reproche d'écrire des programmes non structurés,
disant: «Ce qui est approprié pour le maître n'est pas approprié pour le
novice. Vous devez comprendre le Tao avant transcender la structure. "3.3
Il était une fois un programmeur qui a été attaché à la cour du chef de guerre
de Wu. Le chef de guerre a demandé au programmeur: "Quel est plus facile à concevoir: un
logiciel de comptabilité ou d'un système d'exploitation? ""Un système d'exploitation," a répondu le programmeur.
Le seigneur de la guerre poussa une exclamation d'incrédulité. "Sûrement un comptable
paquet est trivial à côté de la complexité d'un système d'exploitation, »at-il
dit."Non," dit le programmeur, «la conception d'un logiciel de comptabilité,
le programmeur fonctionne comme un médiateur entre les personnes ayant différents
idées: comment il doit fonctionner, la façon dont ses rapports doit apparaître, et comment il doit
se conformer aux lois fiscales. En revanche, un système d'exploitation ne se limite pas
par les apparences extérieures. Lors de la conception d'un système d'exploitation, le programmeur
cherche le plus simple d'harmonie entre la machine et des idées. C'est pourquoi une
système d'exploitation est plus facile à concevoir. "Le seigneur de la guerre de Wu hocha la tête et sourit. "C'est tout bon et bien, mais
qui est plus facile à déboguer? "Le programmeur ne répondit pas.
3.4
Un gestionnaire est allé pour le programmeur principal et lui a montré les exigences
document pour une nouvelle application. Le gestionnaire a demandé au capitaine: «Combien de temps
faut-il pour concevoir ce système, si je cède cinq programmeurs t-il? "«Il faudra un an», dit le maître aussitôt.
"Mais nous avons besoin de ce système immédiatement ou même plus tôt! Combien de temps durera l'
prendre si je cède dix programmeurs t-il? "Le maître programmeur fronça les sourcils. "Dans ce cas, il faudra deux ans."
"Et si je cède une centaine de programmeurs t-il?"
Le maître programmeur haussa les épaules. "Ensuite, la conception ne sera jamais
terminé, "at-il dit.-------------------------
Livre 4 - Codage
Ainsi parla le maître programmeur:
"Un programme bien écrit est son propre ciel, un programme mal écrit est
son propre enfer. "4.1
Un programme doit être légère et agile, ses sous-programmes reliés comme un
collier de perles. L'esprit et l'intention du programme devrait être maintenu
tout au long. Il devrait y avoir ni trop peu ou trop, ni
boucles inutiles, ni les variables inutiles, ni le manque de structure, ni
la rigidité écrasante.Un programme devrait suivre la loi du moindre étonnement `'. Quelle est cette loi?
Il est tout simplement que le programme doit toujours répondre à l'utilisateur de la manière
qui lui au moins étonne.Un programme, peu importe la complexité, devrait agir comme une seule unité. Le programme
doivent être adressées par la logique à l'intérieur plutôt que par les apparences.Si le programme échoue dans ces conditions, il sera dans un état de
désordre et la confusion. La seule façon d'y remédier est de réécrire l'
Programme.4.2
Un novice a demandé au capitaine: «J'ai un programme qui s'exécute un certain temps et
abandonne parfois. J'ai suivi les règles de programmation, mais je suis
totalement déconcerté. Quelle est la raison pour cela? "Le maître répondit: "Vous sont confus parce que vous ne comprenez pas le Tao.
Seul un fou attend un comportement rationnel de ses frères humains. Pourquoi pensez-vous
il attendre d'une machine que les humains ont construit? Ordinateurs de simuler
le déterminisme; que Tao est parfait."Les règles de programmation sont transitoires; seule Tao est éternel. Donc
vous devez envisager de Tao avant de recevoir l'illumination. ""Mais comment vais-je savoir si j'ai reçu l'illumination?" A demandé à la
novice."Votre programme sera alors de fonctionner correctement», répondit le maître.
4.3
Un maître expliquait la nature du Tao de l'un de ses novices. "La
Tao est incorporée dans tous les logiciels - quel que soit le insignifiante ", a déclaré
le maître."Est-du Tao dans une calculatrice de poche?" A demandé le novice.
"Il est," fut la réponse.
"Est-du Tao dans un jeu vidéo?" Reprit le novice.
"Il est encore dans un jeu vidéo," dit le maître.
"Et c'est le Tao dans le DOS pour un ordinateur personnel?"
Le maître toussa et décalé sa position légèrement. "La leçon est terminée
pour aujourd'hui, "at-il dit.4.4
Programmeur-Prince Wang a été de codage logiciel. Ses doigts dansaient sur la
clavier. Le programme compilé sans un message d'erreur, et le programme
a couru comme un vent doux."Excellent!" Le prince s'écria: «Votre technique est irréprochable!"
"Technique?", A déclaré le programmeur tournant de son terminal, "Ce que je
suivre le Tao - au-delà de toutes les techniques! Quand j'ai commencé à programmer, je
serait vois devant moi tout le problème en une seule masse. Après trois ans, j'ai pas
voyait plus cette masse. Au lieu de cela, j'ai utilisé des sous-routines. Mais maintenant, je ne vois rien.
Mon être tout entier existe dans un vide sans forme. Mes sens sont au repos. Mon esprit,
libres de travailler sans plan, suit son instinct. En bref, mon programme
écrit elle-même. Certes, il ya parfois des problèmes difficiles. Je les vois
à venir, je ralentis, je regarde en silence. Puis-je changer une seule ligne de code
et les difficultés s'évanouissent comme des bouffées de fumée ralenti. J'ai ensuite compiler le
Programme. Je suis assis et laissez encore la joie de l'œuvre de remplir mon être. Je ferme mon
d'yeux que pour un moment et puis fermez la session. "Du-Prince a dit Wang, "Est-ce que tous mes programmeurs étaient aussi sage!"
-------------------------
Livre 5 - Entretien
Ainsi parla le maître programmeur:
"Bien, mais un programme à trois lignes de long, un jour il devra être
maintenu. "5.1
Une porte bien utilisé ne nécessite pas d'huile sur ses gonds.
Un flux de courant rapide ne pousse pas stagnante.
Ni bruit ni pensées peuvent voyager à travers le vide.
Logiciel pourrit s'il n'est pas utilisé.Ce sont de grands mystères.
5.2
Un gestionnaire a demandé à un programmeur pendant combien de temps il lui faudrait pour terminer la
programme sur lequel il travaillait. «Il sera terminé demain,« la
programmeur rapidement répondu.«Je crois que vous êtes réaliste," dit le directeur, «A vrai dire, la façon dont
de temps cela prendra? "Le programmeur réfléchit un instant. "J'ai quelques caractéristiques que je souhaite
ajouter. Cela prendra au moins deux semaines », dit-il enfin."Même que c'est trop s'attendre à», a insisté le directeur, «Je serai
satisfait tout simplement si vous me dire quand le programme est terminé. "Le programmeur d'accord à ce sujet.
Plusieurs années plus tard, le gestionnaire a pris sa retraite. Sur le chemin de sa retraite
déjeuner, il a découvert le programmeur endormi à son terminal. Il avait été
programmer toute la nuit.5.3
Un programmeur débutant a été une fois affecté à coder un paquet financier simple.
Le novice a travaillé furieusement pendant plusieurs jours, mais quand son maître examiné
son programme, il a découvert qu'il contenait un éditeur d'écran, un ensemble de
généralisée graphiques routines, une interface d'intelligence artificielle, mais
pas la moindre mention de quoi que ce soit financière.Lorsque le maître a demandé à ce sujet, le novice se sont indignés. "Ne soyez pas
si impatient, "at-il dit," je vais mettre dans l'étoffe financière par la suite. "5.4
T-il un bon fermier négliger une culture, il a planté?
Est-ce qu'un bon enseignant donnent même l'étudiant le plus humble?
Est-ce qu'un bon père de famille permet à un enfant unique pour mourir de faim?
Est-ce qu'un bon programmeur refuser de maintenir son code?-------------------------
Livre 6 - Gestion
Ainsi parla le maître programmeur:
«Que les programmeurs être nombreuses et les gestionnaires quelques-uns - tout sera
productive. "6.1
Lorsque les gestionnaires tiennent des réunions interminables, les programmeurs écrivent des jeux. Quand
comptables parler des bénéfices trimestriels, le budget de développement est sur le point
être coupé. Quand les scientifiques parlent supérieurs ciel bleu, les nuages sont sur le point de rouler
poVraiment, ce n'est pas le Tao de la programmation.
Lorsque les gestionnaires à prendre des engagements, programmes de jeux sont ignorés. Quand
comptables font plans à long terme, l'harmonie et l'ordre sont sur le point d'être
restauré. Quand les scientifiques supérieurs de résoudre les problèmes à la main, le
problèmes seront bientôt résolus.Vraiment, c'est le Tao de la programmation.
6.2
Pourquoi sont des programmeurs non-productive?
Parce que leur temps est gaspillé dans des réunions.Pourquoi sont des programmeurs rebelles?
Parce que la gestion interfère trop.Pourquoi les programmeurs démissionner un par un?
Parce qu'ils sont épuisés.Ayant travaillé pour la mauvaise gestion, ils n'ont plus la valeur de leurs emplois.
6.3
Un gestionnaire allait être congédié, mais un programmeur qui a travaillé pour lui
inventé un nouveau programme qui est devenu populaire et s'est bien vendu. En conséquence, le
gestionnaire conservé son emploi.Le directeur a essayé de donner le programmeur d'un bonus, mais le programmeur
il a refusé, en disant: «J'ai écrit le programme parce que je pensais qu'il s'agissait d'un
concept intéressant, et donc je m'attends à aucune récompense. "Le gestionnaire en entendant cette remarque: «Ce programmeur, mais il tient
une position de peu d'estime, comprend bien le devoir d'un bon
employé. Laissez-nous le promouvoir à la position élevée de la gestion
conseiller! "Mais quand on lui dit cela, le programmeur une fois de plus refusé, en disant: «J'existe donc
que je peux programmer. Si je ont été promus, je ne ferais rien, mais les déchets
temps de chacun. Puis-je aller maintenant? J'ai un programme que je travaille. "6.4
Un gestionnaire est allé à ses programmeurs et leur dit: "En ce qui concerne votre travail
heures: vous allez avoir à rentrer à neuf heures du matin et de laisser
à cinq heures l'après-midi. "A ces mots, chacun d'eux se mit en colère et plusieurs
a démissionné sur le champ.Ainsi, le directeur nous a dit: "Très bien, dans ce cas, vous pouvez définir votre propre
les heures de travail, aussi longtemps que vous avez terminé vos projets dans les délais prévus. "Le
programmeurs, maintenant satisfait, a commencé à venir à midi et de travailler à l'wee
heures du matin.-------------------------
Livre 7 - Sagesse d'entreprise
Ainsi parla le maître programmeur:
"Vous pouvez montrer un programme pour un dirigeant d'entreprise, mais vous ne pouvez pas
lui faire des connaissances en informatique. "7.1
Un novice a demandé au capitaine: "A l'est il ya une grande arborescence
que les hommes appellent `Siège social». Il est gonflé hors de forme avec
vice-présidents et des comptables. Il délivre une multitude de notes de service, chaque
disant: Va, donc! ou Va, ici! " et personne ne sait ce que l'on entend. Chaque
année de nouveaux noms sont mis sur les branches, mais en vain. Comment peut-on
une telle entité artificielle est? "Le maître répondit: "Vous voyez cette immense structure et sont
s'inquiète de ce que il n'a pas de but rationnel. Pouvez-vous pas prendre plaisir à partir de
ses girations sans fin? N'avez-vous pas profiter de la facilité sereine de la programmation
sous ses branches abritent? Pourquoi êtes-vous dérangé par son
inutilité? "7.2
Dans l'Est il ya un requin qui est plus grand que tous les autres poissons. Il
se transforme en un oiseau dont les ailes sont comme des nuages peuplant le ciel. Lorsque cette
oiseau se déplace à travers la terre, elle apporte un message de Corporate
Siège. Ce message, il tombe dans le milieu des programmeurs,
comme une mouette fait sa marque sur la plage. Alors l'oiseau monte sur le
le vent et, avec le ciel bleu à l'arrière, retourne à la maison.Les regards programmeur novice dans la stupeur de l'oiseau, car il le comprend
pas. Le programmeur moyen redoute la venue de l'oiseau, car il craint
son message. Le maître programmeur continue de travailler à son terminal, pour
il ne sait pas que l'oiseau est venu et reparti.7.3
Le Magicien de la Tour d'Ivoire a sa dernière invention pour la
maître programmeur d'examiner. Le magicien roues une grande boîte noire dans
le maître du bureau tandis que le maître attendait en silence.«Il s'agit d'une approche intégrée, distribué, à des fins générales poste de travail," a commencé
le magicien, "ergonomique avec une exploitation propriétaire
système, les langues de sixième génération, et l'état multiple de l'utilisateur d'art
les interfaces. Il a pris mes assistants plusieurs centaines d'années l'homme à construire.
N'est-ce pas incroyable? "Le maître haussa les sourcils légèrement. "Il est en effet étonnant," at-il
dit."Siège de la société a commandé", a poursuivi le magicien, "que
tout le monde utilise cette station de travail en tant que plate-forme pour de nouveaux programmes. Avez-vous d'accord
à ce sujet? "«Certainement», répondit le maître, "je l'aurai transportés à l'
centre de données tout de suite! "Et le magicien revint à son tour, bien
heureux.Quelques jours plus tard, un novice erré dans le bureau du maître
programmeur et dit: «Je ne peux pas trouver la liste de mon nouveau programme. Faire
vous savez où il pourrait être? ""Oui," répondit le maître, «les listes sont empilés sur la plate-forme
le centre de données. "7.4
Le programmeur principal se déplace d'un programme à sans crainte. Aucun
changer dans la gestion peut lui nuire. Il ne sera pas tiré, même si le
projet est annulé. Pourquoi est-ce? Il est rempli avec le Tao.-------------------------
Livre 8 - matériel et de logiciels
Ainsi parla le maître programmeur:
"Sans le vent, l'herbe ne bouge pas. Sans logiciel, le matériel est
inutile. "8.1
Un novice a demandé au capitaine: "je vois que une société informatique est beaucoup plus
plus grand que tous les autres. Il domine ses concurrents comme un géant parmi les
nains. Toute une de ses divisions peut comprendre toute l'entreprise. Pourquoi est-
cette façon? "Le maître répondit: "Pourquoi demandez-vous ces questions idiotes? Cette société
est grande parce qu'elle est grande. Si elle ne fait matériel, personne n'achèterait
elle. Si elle ne fait du logiciel, personne ne l'utiliser. Si elle ne se maintient
systèmes, les gens le traitent comme un serviteur. Mais, car il combine tous les
de ces choses, les gens pensent que l'un des dieux! En ne cherchant pas à
efforçons, il conquiert sans effort. "8.2
Un maître programmeur passé un programmeur débutant un jour. Le maître a noté
du novice préoccupation avec un jeu ordinateur de poche. "Excusez-moi,"
dit-il, «puis-je étudier?"Le novice boulonné à l'attention et remis l'appareil au maître. «Je
voir que le dispositif prétend avoir trois niveaux de jeu: facile, moyen, et
Dur », dit le maître. "Pourtant, chaque tel dispositif a un autre niveau de
jouer, où le dispositif ne cherche pas à conquérir l'être humain, ni à conquérir
par l'homme. "«Priez, grand maître», a imploré le novice, "comment peut-on trouver cette
réglage mystérieuse? "Le maître a chuté l'appareil à la terre et l'écrasa sous les pieds. Et
tout d'un coup le novice a été éclairée.8.3
Il était une fois un programmeur qui a travaillé sur des microprocesseurs. "Regardez comment
bien nantis, je suis ici », at-il dit à un programmeur mainframe qui sont venus visiter,
«J'ai mon propre système d'exploitation et un dispositif de stockage de fichiers. Je n'ai pas à
partager mes ressources avec n'importe qui. Le logiciel est auto-cohérent et
facile à utiliser. Pourquoi ne pas quitter votre emploi actuel et de me rejoindre ici? "Le programmeur mainframe, puis a commencé à décrire son système à son ami,
disant: «Le mainframe est assis comme un ancien sage méditant dans le milieu
du centre de données. Ses disques se trouvent de bout-en-bout comme un grand océan de la
machines. Le logiciel est aussi comme un diamant à multiples facettes, et comme alambiqué
comme une jungle primitive. Les programmes, chacun étant unique, se déplacer dans le système
comme un fleuve au courant rapide. C'est pourquoi je suis heureux où je suis. "Le programmeur micro-ordinateur, après avoir entendu cela, se tut. Mais les deux
programmeurs sont restés amis jusqu'à la fin de leurs jours.8.4
Hardware Software a rencontré sur la route de Changtse. Logiciel a dit: «Vous êtes
Yin et je suis Yang. Si nous voyageons ensemble, nous allons devenir célèbre et de gagner
d'énormes sommes d'argent. "Et si l'ensemble de suite ensemble, penser à la conquête de
le monde.À l'heure actuelle ils ont rencontré Firmware, qui était vêtu de haillons et entravé
le long appuyé sur un bâton épineux. Firmware leur dit: "Le Tao est
au-delà de Yin et du Yang. Il est silencieux et immobile comme une flaque d'eau. Il ne
cherche pas la gloire, par conséquent, personne ne sait sa présence. Il ne cherche pas
fortune, car il est complet en lui-même. Il existe au-delà l'espace et
le temps. "Logiciel et Matériel, honte, sont rentrés chez eux.
-------------------------
Livre 9 - Epilogue
Ainsi parla le maître programmeur:
"Il est temps pour vous de quitter."
-------------------------
Si vous avez aimé ceux-ci, vous pouvez aussi lire le pire est mieux
Un peu de redirection du shell
Voici comment nous le faisons normalement redirection du shell
$ ./pgm.sh args >out.txt 2>err.txt
J'ai voulu modifier un peu et se présenter comme suit
$ ./pgm.sh args
avec l'exigence que la production et l'erreur devrait aller à un certain nom de fichier à l'intérieur calculé sur la base de pgm.sh args. Un cas illustratif pourrait être lorsque la date fait partie des arguments. Donc, vous souhaitez stdout pour aller dire / votre / répertoire / pgm_out_YYYYMMDD.txt 1
Le problème avec la façon standard de redirection N>file.txt dire, associant descripteur de fichier N à fichier.txt, c'est qu'il ne fonctionne que pour le nouveau processus fourchue et non pour le processus actuel.
si
$ echo hi 1>out.txt ; echo hii . enverra salut à out.txt mais permet d'imprimer sur la sortie standard hii 2
C'est là que exec vient à notre secours. Si l'on ajoute exec 1>somefile.txt puis la sortie du reste du script aller à somefile.txt
$. / Test.sh redirigera Salut ainsi que hii à out.txt
$ cat test.sh
#!/usr/bin/env bash
exec 1>out.txt
echo hi
echo hii
De même pour rediriger stdout stderr ainsi que nous ferons quelque chose comme ceci
cat test2.sh
exec 1>out.txt
exec 2>err.txt
echo out text
echo 1>&2 err text
somenoneexitent command
ls -ld /tmp
Maintenant revenir au point initial de la redirection vers un fichier à l'intérieur de la coquille, disons programme calcule le nom du fichier dans certains OUTFILE variable, nous aurions pu simplement faire exec 1>$OUTFILE
Cela résout le problème actuel. Mais vous aimerez passer par exemple suivant qui réalise «à accès aléatoire" du fichier en script shell. L'exemple est d' ici
echo 1234567890 > File # Write string to "File".
exec 3<> File # Open "File" and assign fd 3 to it.
read -n 4 <&3 # Read only 4 characters.
echo -n . >&3 # Write a decimal point there.
exec 3>&- # Close fd 3.
cat File # ==> 1234.67890
Avec les commentaires, ce code est explicite.
-
1 Il peut également être effectué par $ ./pgm.sh args >pgm_out`date +%Y%m%d` mais l'idée est de générer ce nom de fichier basé sur une certaine logique dans le programme lui-même.
2 1 1> out.txt est redondant, mais il précise ici que nous redirigeons fd 1
Sony VAIO examen
Un mois en arrière, j'ai acheté un vaio NS25G et ont été l'intention d'écrire ce post depuis lors. Ce poste est principalement notes à l'auto et l'examen de la même chose. Mettons-nous au large de la marque rapidement -
Message comporte deux parties -
I. Examen du matériel
II. Installer Debian et des choses à mettre en place
Depuis que je ne suis pas un gars du marketing VAIO, je vais commencer dans l'autre sens -
Pourquoi vous n'aimez pas à acheter ce portable:
- Pas de bluetooth: croyez-moi, en 2009 sony vend ordinateur portable sans bluetooth. Bien sûr, vous pouvez utiliser des choses usb mais ...
- Taille de l'écran est de 15,4 pouces: si vous voyagez beaucoup alors ce portable peut ne pas être très pratique et aussi portable 2,9 kg n'est pas exactement le plus léger autour.
- Pas de sortie HDMI.
- Pas de carte graphique séparée et les goûts. (Et pas de mémoire vidéo dédiée
Maintenant, pourquoi vous pouvez, comme pour l'acheter:
- Cet ordinateur portable est un ordinateur de bureau damn good. Qu'est-ce que je veux dire est-ce si votre exigence est comme moi - la plupart du temps l'écriture de programmes et d'essayer de l'utiliser 25 des 24 heures, puis avec un grand écran, clavier extrêmement confortable avec repose-poignets spacieux et bonne puissance de calcul, il fait un très bon Combinaison.
- Il cache L2 de 2 Mo et un processeur est / bus système 800 MHz de mémoire sont. Je ne joue pas aux jeux ne peut donc pas dire à ce sujet, mais pour autre chose que d'un processeur Core 2 Duo 2GHz avec freq est bonne, ce qui est plus que suffisant.
- De mon usage, je vois la plupart du temps processeur à 1,2 GHz horloges, et utilisation de la mémoire 500 Mo ~ de. Cela renforce simplement le point précédent.
- Sauvegarde de la batterie est bonne, ~ 2 heures est ce que je reçois.
Juste une dernière chose ici - étant Sony, il vous en coûtera un peu que les ordinateurs portables avec d'autres configuration similaire, mais qui est un appel u ont à faire.
II. Configuration linux (pour exécuter hors de la boîte!):
Il est venu pré-installé avec Vista (je pense que la maison prime ou un nom de fantaisie comme ça). Dungara démarré une fois et créé une partition de 150 Go. Debian testing est ce que j'ai toujours installer, puis le haut (bas?) De grade à "unstable" sid.
Les choses qui ont travaillé sans aucun problème:
- X - sans surprise serveur X n'avait pas de problème avec le démarrage ou la résolution. Après l'une des mises à jour X a refusé de démarrer si, mais «X-configure" a généré un fichier de conf qui fonctionnait assez bien.
- Audio - Sortie audio et externes bien le travail du micro. la version du noyau 2.6.29-1-686 # 1 SMP et la version 1.0.17 alsa. C'est ce que vous obtenez à partir de
$ lspci -v |grep Audio 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Con1.0.17troller (rev 03) - Vidéo cam - fonctionne de la même
- Hibernate sur le disque et le dos - pas de problème
- Sans fil - en bref - des œuvres justes.
$ lspci |grep -i wireless
03:13:55 04:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01) .
Je pense que le noyau 2.6 .. 27 partir avec lesquels elle travaille la source du noyau de stock. Vous n'avez pas à installer ndiswrapper ou des choses comme t
chapeau. Comme une note, s'il vous plaît dire adieu acheter gnome-network-manager et wicd accueillir, c'est juste une couche d'interface graphique, mais derrière la scène, ils ont fixé beaucoup de choses comme config wpasupplient et plus.
Ce qui ne fonctionne -
- D'une certaine manière interne micro refuse de travailler
Micro externe fonctionne très bien si. Derniers sources alsa ne compile pas proprement sur debian, donc pour le moment j'ai acheté micro externe interne, va essayer de creuser dans l'avenir dans le courant de bien.
Plus de quelques conseils pour deiban misc:
- Forfait pour devnagri font-ttf-indic-fonts
- Forfait pour flash player - flashplugin-nonfree
- Entrée dans sources.list pour mplayer et aime - deb http://www.debian-multimedia.org sid main
- Entrée dans sources.list pour e17 - deb http://debian.alphagemini.org/~~V principale instable
- Entrée dans sources.list pour skype - http://download.skype.com/linux/repos/debian/ stable non-free
oneliner pour augmenter et diminuer la luminosité -
[root]prashant@vaio09:12 PM$ cat bin/incbrightness.sh
#!/usr/bin/env bash
echo $[1+`cat /sys/class/backlight/acpi_video0/brightness `] >/sys/class/backlight/acpi_video0/brightness
vous aurez à mettre cela en sudo si.
et de diminuer le changement + à - et ... vous avez l'idée, à droite!
Un peu plus, si vous utilisez l'illumination (e17), voici quelques conseils plus -
[Lumières bindidings clés]
Vous pouvez utiliser suivant code de touche et de cartographie
muet:
KEY="Keycode-160" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master toggle"
hibernent:
KEY="Keycode-165" ACTION="exec" PARAMS="sudo /usr/sbin/hibernate-disk"
diminution du volume:
KEY="Keycode-174" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master 2-"
augmentation du volume:
KEY="Keycode-176" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master 2+"
augmenter la luminosité:
KEY="Keycode-212" ACTION="exec" PARAMS="sudo /root/bin/incbrightness.sh"
diminuer la luminosité
KEY="Keycode-101" ACTION="exec" PARAMS="sudo /root/bin/decbrightness.sh"



































