anketa, ping, pubsub, pubsubhub, pubsubhubbub

6. rujna 2009 by prashant · Komentari
Varalica pod: tehnologija

U slučaju da ste skeptični, postoji metoda u ludilu gore, u naslovu posta. U tech krugova malo je vjerojatno da niste čuli za pubsubhubbub. U brzim nekoliko mjeseci, to je bio jedan od prva tri je govorio o stvari. Ostala dva su homomorphic šifriranje i Google val [ 1. ]. Povratak na trenutnu post - odredbe u naslovu navesti kako ste se sadržaj od drugih ljudi. Nakon podaci postaju sve jasno, ako li zamisliti stvari događa s obzirom na blogovima, iako pojmovno nisu ograničeni na blogovima.

Prozivanje se odnosi na scenarij u kojem klijenti stalno postavljaju poslužitelj ako nešto novo je došao gore. Koliko često pitati za promjenama uvijek će biti problem s glasovanja previše često ili previše rijetko, ali kao jedan čitatelj istaknuo je ovdje da je jedna velika, stvar s glasovanja je da poslužitelj ne moraju održavati stanje.

Ping se odnosi na slučaju kada objaviti članak, vi (ili vaš softver) i aktualizira neke popularne (središnja) ažuriranje usluge. Neki pozadina ovdje .

Sljedeća je pubsub koja se zalaže za objavljivanje / pretplatite, jedan od najranijih terenu jer je napravio ovdje je Evan Henshaw-Plath i Kellan Elliott-McCrea (72 slajdovi ali vrijedi prolaze). Uvjerljiv primjer dali su protiv je to - na određeni datum, Friendfeed indeksirao Flickr 2,9 milijuna puta da biste dobili najnovije fotografije 45,754 korisnika, od čega 6.721 obišla Flickr u tih 24 sati, a mogao 'potencijalno' učitao fotografije. Imajte na umu da ono što predlaže nije nova tehnologija, kao što ističu revolucionarnom novu tehnologiju 20 godina '. Ako ste to učiniti za blogove, tada jedan od glavnih problema s XMPP - Prisustvo podataka iznad glave, koja može biti kao visok kao 60-70% može smanjiti puno.

pubsubhub zalaže za Jeziki čvorišta i pubsubhubbub je protokol, jezgra koja je ideja pubsubhub. Unutar kojih izdavači (recimo blogere) ažurirati hub koji (može biti više od jednog koncentratore, koji razgovaraju jedni s drugima) živi "negdje u oblaku", kao i po protokolu to može gurnuti ili povući po protokolu, ali pored vode u lanac, čvorište za klijenta (recimo čitatelje) uvijek je gurati model. Ova stranica je dobra polazna točka za pubsubhubbub, pregled slajdovi su dobri. Još rječiti Anil crtica opisuje ga ovdje kao tastera webu.
Dvije druge srodne navodi se webhooks koja je u osnovi http ponovnih poziva. Github koristi ga, tako da paypal za asinkrone obavijesti plaćanja u ZNG . A mnogi drugi. Povezano koncept rsscloud što je opet pubsub središte. Slijedite ovaj link za detalje.

Možda se pitate koja je svrha pisanja svih tih mjesta, postoje dva jedan. Ove stvari su vrijedno znati, barem minimalno i 2. Ovaj blog je pubsubhubbub omogućeno sad preko appspot razvodnika koristeći ovu WordPress plugin i hrane za životinje je također pubsubhubbub omogućena putem FeedBurner, linka ovdje
-
[ 1 ]. - Dobro pročitajte uvodni za potpuno šifriranje homomorphic je ovaj članak Bruce Schneier i ovaj razgovor je više ili manje jedini izvor za Google Wave.

-UPDATE - Ovaj nakon objašnjava kako zahtjev javnom poslužitelju za povratni poziv može biti izrađen za oko stolnih računala pomoću XMPP Gateway (za pubsubhubbub).

Malo skupštine

29. kolovoz 2009 by prashant · Komentari
Varalica pod: tehnologija

Nakon čitanje ovaj članak o zaključavanje bez odbojnika i vidim korištenje CAS-a (usporedi i swap), osjećao sam se kao postavljanje sklopa kod da učine isto. Koristite slučaj tamo je pisati izvorni način i poziv iz Java (natrag u 1.5, kada istodobnih strukture podataka u Javi su manje ili više ne postoji). Bez dodatnih teškoća, ja ću osloboditi kod na vas :) . Prvo je za CAS i drugi je za računanje fact koristeći algoritam Euclid '(ovo se može naći u mnogim mjestima i tutoriali, kao i).

Izraditi upute i pokrenuti gcc file_name.c ; ./a.out

Usporedite Swap

   # Include 
  # Include 
 / / Razmjena - newvalue, comperand je stara / očekivana vrijednost
 / *
  * Funkcija zapravo radi sljedeće stvari - ako je vrijednost u * DEST jednaka oldvalue zatim ga zamijeniti newvalue drugi ostaviti ista: učiniti sve ove atomically
  *
  * Postoje dvije mogućnosti za povratak vrijednosti
  * 1.is početna vrijednost * DEST i ostaviti teret poziva fxn ga usporediti s oldval
  * 2.  to učiniti ovdje i vratite se 0 ili 1, to bi trebao biti učinkovitiji
  ** /

 / * Kasnije ga promijeniti u makro * /
 CAS int (int * odred, int oldvalue, int newvalue) {
	 printf ("(% d,% d,% d)", * odred, oldvalue, newvalue);
	 / * Int cas (int odred, int oldvalue, int newvalue) {* /
	 / * Int cas (int odred, int newvalue, int oldvalue) {* /
	 int rezultat = 1 ;/ * 1 pokazuje da cas je uspio i 0 pokazuje da nije uspio * /
	 / * Btw potrebno za postavljanje CC za zastavu clobbering!  * /
	 __asm__ __ volatile__ (
			 "Movl% 2,%% eax \ n \ t"
			 "Movl% 3,%% ebx \ n \ t"
			 "Movl% 0,%% ecx \ n \ t"
			 "LOCK \ n \ t"
			 "CMPXCHG ebx%%, (%% ecx) \ n \ t" / * treba LOCK biti na istom retku * /
			 "JZ Sastavljeno \ n \ t"
			 "Movl $ 0,% 1 \ n \ t"
			 "Gotovo: \ n \ t"
			 : "= M" (odred), "= g" (rezultat)
			 : "G" (oldvalue), "g" (newvalue), "m" (odred)
			 : "% Eax", "% ebx", "ecx", "cc"
			 );
	 printf ("(% d,% d,% d)", * odred, oldvalue, newvalue);
	 vratiti rezultat;
 }

 / * TODO
  * Pisati drugi ASM fxn koji stavlja iznad fxn u while petlji i držati težak, osim ako uspije * /

 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));
	 printf ("% d \ n", cas (c, b, b));
	 * C = 6;
	 / * C = 5; * /
	 printf ("mijenja vrijednost * c% d \ n", * c);
	 printf ("% d \ n", cas (c, b, b));
	 printf ("% d \ n", cas (c, b, a));
	 printf ("% d \ n", cas (c, a));
	 printf ("% d \ n", cas (c, b));
	 printf ("% d \ n", cas (c, b, a));
	 return 0;
 }

Oblikovanje bilješke - izgleda kao WP isticanje sintakse je dodavanje na kraju, zanemariti činjenicu da.

Fact

 # Include 
 fact int (int a, int b) {
     int rezultat;
     / * Izračunaj najveći zajednički djelitelj pomoću Euclid 's Algoritmu * /
     __asm__ __ volatile__ ("movl% 1,%% eax;"
                           "Movl% 2,%% ebx;"
                           "CONTD: cmpl $ 0,%% ebx;"
                           "Je DONE";
                           "Xorl%% EDX,%% EDX;"
                           "Idivl%% ebx;"
                           "Movl%% ebx,%% eax;"
                           "Movl%% EDX,%% ebx;"
                           "JMP CONTD;"
                           "Gotovo: movl%% eax,% 0;": "= g" (rezultat): "g" (), "g" (b)
     );

     vratiti rezultat;
 }

 int main () {
     int prvi, drugi;
     printf ("Unesite dva cijela broja:");
     scanf ("% d% d", i prvi, i drugi);

     printf ("fact of posto D &% d je% d \ n", prvi, drugi, fact (prvi, drugi));

     return 0;
 }

Cricketing Svijet čeka novi svjetski poredak

25. kolovoz 2009 by prashant · Komentari
Varalica pod: misc

Nakon niza razgranalog pet ispitivanja i dva mjeseca, Engleska otkrije pepela.

Pričajmo o pobjednički tim prvi - njihov srednji kako je 'prosjek' ako ne želite kritična. Greame Swann doprinos sa šišmiš će brojati ne manje od doprinosa s loptom. Stuart Široko - najbolje sve specijalista bio ne starter za 5. test. Andrew Strauss je bio jedini dosljedan batsman i Jimmy Anderson je bio jedini dosljedan polucilindar.

Točka ovdje je da ne izgrditi postignuća u pobjedničkom timu, ali da se stavi u perspektivu činjenicu da unatoč svim tim, Australija izgubljene. morat ćete misliti na par sekundi, ako je zatraženo da imenuje svoje najbolje polucilindar. Dobro, to je bio BW Hilfenhaus. Hauritz nadmašio je očekivanja everbody, ali još uvijek nije dovoljno dobar da bude izabran za dva od pet testova. Južna Afrika nikada nije postao svjetski gonič bez Spinner svjetske klase, Australija se ne može nadati da će ostati bez jedne nikoga dovoljno dobrog jednom barem. Mađioničar napustio pozornicu i to ne izgleda kao umjetnost više, zaboravite čari. Ponting stoji visok manje među smrtnicima i Michael Clarke ističe se vrlo često, ali to ih čini momčad s nekoliko vrlo dobrih igrača, a ne vrlo dobra momčad.
Ashes 2009 će biti zapamćena za Andrewa Flintoff u posljednjih Ashes, Stuart Široko dolaska kao sve specijalista (ako on dodaje neke više pepeo folklor svom obećavajućem početku), a jedan od najviše govori prvog stoljeća svih vremena od strane Trott, ali to će također biti zapamćen kao mjesta gdje IFS i buts o australskoj nadmoć napokon su stavili na odmor, to je gotova. Nemojte me krivo shvatiti, oni još uvijek mogu razotkriti Mike Hussey ili Stuart Clark, ali ako se osjećate doprinos svih vremena velikana kad nestanu. Ponekad dolaze da vas podsjeti na sebe u IPL, ali još uvijek se ne mogu zamijeniti. Idemo osjećam blagoslovljen što je vidio Warne, McGrath i Gilchrist igrati zajedno i podržavaju Waughs, Ponting, Hyden, Martin i Langer.

Ide naprijed, Južna Afrika će uvijek ostati vrlo dobra momčad, ali im je potrebno za pobjedu u polufinalu i biti u skladu širom svijeta, Pakistan će ostati enigmatično sjajna, mladi Indijanac oružje vjerojatno će ga pronaći teško popuniti cipele izvanrednih prethodnika. Šri Lanka treba nastaviti prikazivati ​​brza umjetnosti u obrtu. No, možda ćemo morati čekati neko vrijeme prije nego što je sve van dominantan tim ili prije kapetan žali na nedostatak konkurencije, kao Steve Waugh je jednom.

Na srodne napomenu - neka pozdravljaju dolazak leđa Asif, on je dovraga puno potencijala, neka se nadaju da bi nešto od toga i također dobrodošli Andy cvijet u novom awatar, zar ne možete zadržati dobre ljude dolje za dugo.

rubin jedan linijski brodovi za stvaranje hash

20. kolovoz 2009 by prashant · Komentari
Varalica pod: tehnologija

Jučer dok prolazi kroz jedan od mojih starih programa, otkrio sam to napisao po meni negdje vratiti:

#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

Ubiti neke od neizvjesnosti neka mi otkriti da raw_text izgleda

 

, Zar to je izrezana iz PayPal plaćanja priznanja.

Iznad linije ako slomljene čita bolje:

  unescaped_array = CGI.unescape (raw_text). Split ('&')
   unescaped_array unescaped_array.collect = {| x | = b x.split ("="); b.push (nula) ako b.size == 1, b}
   flattened_array = unescaped_array.flatten
   hash = Hash [* flattened_array] 

Učinimo pojedinačne korake u IRB:

  IRB (glavni). 009:0> unescaped_array = CGI.unescape (raw_text) Split ('&')    

 => ["USPJEH", "mc_gross = 10,00", "protection_eligibility = nepodobnim", "payer_id = U7PPJJ4TSJ47E", "pristojba = 0,00", "payment_date = 9:45:30 10. srpnja 2009 PDT", "payment_status = čekanju "]                                                                         

 IRB (glavni): 013:0> unescaped_array unescaped_array.map = {| x | = b x.split ("="); b.push (nula) ako b.size == 1, b}  

 => [["USPJEH", nula], ["mc_gross", "10,00"], ["protection_eligibility", "nepodobnim"], ["payer_id", "U7PPJJ4TSJ47E"], ["porez", "0.00"] , ["payment_date", "9:45:30 10. srpnja 2009 PDT"], ["payment_status", "na čekanju"]]                               

 IRB (glavni): 014:0> flattened_array = unescaped_array.flatten     

 => ["USPJEH" nula ", mc_gross", "10,00", "protection_eligibility", "nepodobnim", "payer_id", "U7PPJJ4TSJ47E", "porez", "0,00", "payment_date", "09:45: 30 10. srpnja 2009 PDT "," payment_status "," na čekanju "]
 IRB (glavni): 015:0>
 hash = Hash [* flattened_array]
 => {"Porez" => "0,00", "payment_status" => "na čekanju", "payer_id" => "U7PPJJ4TSJ47E", "mc_gross" => "10,00", "USPJEH" => nula ", payment_date" = > "9:45:30 10. srpnja 2009 PDT", "protection_eligibility" => "nepodobnim"} 

BTW, * zove se oznaka operator u rubin

Drugi način za stvaranje mljeveno meso iz 'niz parova' je koristiti uvelo:

  hash = [[1,2], [3,4]] ubrizgati ({}). {| rezultat, element | rezultat [element.first] = rezultat [element.last];} rezultat 

Postoji još jedan način :) Napišite petlju, da ću otići kao vježba za čitatelja!

Ovdje je malo nevezano za korištenje slučaj stvaranja mljeveno meso iz polja:

  IRB (glavni): 005:0> [1,2,3,4,7,9] group_by {| x | x <5.?  : Manje :: veća}

 => {: Manje => [1, 2, 3, 4]: noviji => [7, 9]} 

To možete učiniti više stvari, u osnovi rezultat je blok se koristi kao ključ za taj element u rezultat mljeveno meso.

Gmail, džukela i msmtp fix

17. kolovoz 2009 by prashant · Komentari
Varalica pod: tehnologija

Ako koristite džukela i SMTP pristup gmail. Ovdje je (loše) vijesti. Cool Dečki na Google opet promijenio certifikat. Oh, jeste li pitati - kako to znati? Jednostavno džukela započeo gunđanje o lošem certifikata kada se pokušava koristiti msmpt i zloglasne msmtp: TLS certifikat nije uspjela provjera. Potvrdu nije dobio poznatu izdavatelja ' Pozdravila me na zaslonu.

Prijeći potvrdu -
Dovoljno je pokrenuti nakon

$ msmtp --serverinfo --host=smtp.gmail.com --tls=on --port=587 --tls-certcheck=off

Na mjestu starog Thwate Server sada ste se nakon izdavatelja u segmentu
Issuer:
Common Name: Google Internet Authority
Organization: Google Inc
Country: US

Srećom popravak je jednostavan, ovdje je ono što trebate učiniti na Debian

# apt-get install ca-certificates
# dpkg -s ca-certificates|grep Version
Version: 20090814

Nakon toga samo promijenite sljedeću liniju u koju ~ e /. 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

na

tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt

Git i Awesome Anketa

15. kolovoz 2009 by prashant · Komentari
Varalica pod: misc

Ovdje su dvije poveznice za istraživanje Git (verzija sustav kontrole) i strašan (upravitelj prozora) zajednice. Ako koristite bilo koji od ovih, molimo Vas da uzmu malo vremena da ispunite upitnik. Razmislite o tome što je najjednostavniji način da pridonese natrag na softver koji koristite.
Ovdje se nalaze linkovi:

Git - http://www.survs.com/survey?id=2PIMZGU0&channel=Q0EKJ3NF54

Awesome - http://www.survs.com/survey?id=8BVEV3FO&channel=BH07CQ040D

Napomena - (Kako naći na tim stranicama, ali na dnu :) ) -
"Ako imate omogućene kolačiće, uvijek možete podnijeti djelomično ispunjen upitnik, i vratiti se u svojim odgovorima na kasnije vrijeme, to završetka kasnije."

Spajanje hashes u yaml boys = dječaci datoteka

31. srpanj 2009 by prashant · Komentari
Varalica pod: tehnologija

YAML je vrlo zgodan za pisanje konfiguracijske datoteke. Osnovna prednost je da se čita kao tekstualnu datoteku. To radi jako dobro ako je vaša config file je flat (nema hijerarhije) i nema ponavljanja.
Ako je Vaš konfiguracije datoteka ima ponavljanja onda ima smisla izdvojiti one elemente te ih ponovno. Što mislim je to - recimo da vaša config file izgleda ovako:

  razvoj:
   input_location: common_input
   output_location: dev_location
   mail:
     smtp_server: your_server
     login: your_login
     lozinka: top_secret
 Proizvodnja:
   input_location: common_input
   output_location: dev_location
   mail:
     smtp_server: your_server
     login: your_login
     lozinka: top_secret 

Uz pretpostavku iznad koda u / tmp / test.yml ovdje je kako možete pročitati u Pythonu i Ruby
$cat readyml.py

 #! / Usr / bin / env python
 pprint iz uvoza pprint kao pp
 # U Debian morati instalirati python-yaml
 yaml iz uvoza tereta, load_all, izvatkom
 hash = load (open ("/ tmp / test.yml '))
 pp (hash ['razvoj']) 


$ cat readyml.rb

  #! / Usr / bin / env rubin
 zahtijevaju možeš PP kontakta
 hash = YAML :: load (File.open ("/ tmp / test.yml '). pročitati)
 pp hash ['razvoj'] 

ovdje je pri ruci jedan brod za rubin verziji
$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]' ili možete isprobati isti u IRB ili python konzola.

Imajte na umu da u gore isječak koda, sve je osim izlaza lokacija je ista u razvoju i proizvodnji dio. Ovo je mjesto gdje yml čvora identifikator dolazi spasiti. Ideja je jednostavna imati set zadanih vrijednosti te ih nadjačati, na drugom mjestu.
Možete ga razvlači kako slijedi:

  zadane: & defaultno
   input_location: common_input
   output_location: dev_location
   mail:
     SENDER_NAME: pošiljatelj
     smtp_server: your_server
     login: your_login
     lozinka: top_secret
 razvoj:
   <<: * Defaultno
 Proizvodnja:
   <<: * Defaultno
   output_location: prod_location 


$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]["mail"]["login"]'
"your_login"
$

Super, to radi (tm)!.
Uvjerljivo smo trgovali neke jasnoću za malo magije. Ovdje je malo objašnjenje: i, * i <<: i što je sidro tag se može shvatiti kao čvora identifikator, * je čvor referentni i <<: kratica za hash spajanja.

Za više pojedinosti vidi bilo yaml naočale ili Wikipedia
Do sada je tako dobro, ali postoji kvaka ovdje, ove hash stapa nisu rekurzivni. Što to znači da je ovo: recimo da želite imati drugačiji naziv pošiljatelja pošte u dva okruženja, vi svibanj biti u iskušenju da učinite sljedeće:

  zadane: & defaultno
   input_location: common_input
   output_location: dev_location
   mail:
     SENDER_NAME: pošiljatelj
     smtp_server: your_server
     login: your_login
     lozinka: top_secret
 razvoj:
   <<: * Defaultno
   mail:
     SENDER_NAME: sender_dev
 Proizvodnja:
   <<: * Defaultno
   output_location: prod_location
   mail:
     SENDER_NAME: sender_prod 

Omogućava provjeriti

$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]["mail"]["login"]'
nil
$

Ups, nešto je pošlo po zlu, problem kao što je spomenuto da je hash spajanje nije rekurzivna i dok spajanjem ga zamijeniti pošte u zadanom putem pošte proizvodnje koji ima samo jednu tipku. Rješenje / zaobišli je odvijati još jednu razinu:

  common_settings: & common_settings
 input_location: common_input
 output_location: dev_location
 mail_defaults: & mail_defaults
  SENDER_NAME: pošiljatelj
   smtp_server: your_server
   login: your_login
   lozinka: top_secret

 zadane: & defaultno
   <<: * Common_settings
   mail:
     <<: * Mail_defaults
 razvoj:
   <<: * Defaultno
 Proizvodnja:
   <<: * Defaultno
   mail:
     <<: * Mail_defaults
     SENDER_NAME: sender_prod

Omogućuje ponovno provjeriti

$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]["mail"]["login"]'
"your_login"
$

Jeste li reći da imate jedan više razine gniježđenja, i definitivno možete odmotati još jednu razinu, ali onda to postaje nered. Dakle, ako ne pokušavaju napisati rješenje kule Hanoi u conf datoteke, bolje je da restucture conf datoteke od kopanja u yaml ili nešto drugo. No, to je vaš poziv anyway.

Veliki programeri naći jednostavna rješenja za kompleksne probleme

30. lipnja 2009 by prashant · Komentari
Varalica pod: misc

Nakon dugo vremena sam mogao pronaći izvor za slijedeći citat-

Junior programeri stvorili jednostavnih rješenja do jednostavnog problema. Viši programeri stvaranje složenih rješenja za složene probleme. Veliki programeri pronašli jednostavnih rješenja do složenih problema.

To je iz eseja pod nazivom Beautiful Software Charles Connell.

Drugi favorit je jedan od mina je zen od Python -

Lijepa je bolje nego ružna.
Eksplicitno je bolje nego implicitno.
Jednostavno je bolje od kompleksa.
Kompleks je bolje nego komplicirano.
Stan je bolje nego smješteno.
Rijetka je bolji od gusta.
Očitanja računa.
Posebni slučajevi nisu dovoljno razbiti posebna pravila.
Iako praktično kuca čistoću.
Greške ne smije proći u tišini.
Osim ako izričito ušutkati.
U lice dvosmislenosti, odbiti u napast da pogodi.
Ima bi trebao biti jedan i po mogućnosti samo jedna očigledan način da to učinite.
Iako na taj način ne može biti očigledan na prvi osim ako ste Nizozemski.
Sada je bolje nego nikad.
Iako nikada je često bolji od * pravo * sada.
Ako provedba je teško objasniti, to je loša ideja.
Ako provedba je lako objasniti, on svibanj biti dobra ideja.
Imenskom prostoru jedna sirena odlična ideja - Učinimo više onih!
-------------------------
i onda je klasična Tao Programiranja

-

krediti su na stranice povezane-

Preveo Geoffrey James

Prepisao Duke Hillard

Prenosi Anupam Trivedi i Sajitha Tampi, i Meghshyam Jagannath

Re-html-ispunjene i uredio Kragen Sittler

-

Knjiga 1 - Silent Void

Tako je govorio programer master:

"Kada ste naučili da zauzme kod pogreške iz zamka okvira, to
će biti vrijeme za vas da odu. "

1,1

Nešto tajanstveno je formirana, rođen u mirnom praznini. Čeka sam i
nepokretna, ona je istodobno i dalje, a ipak u stalnom pokretu. To je izvor
svih programa. Ne znam ime, pa ću ga nazvati Tao
Programiranje.

Ako Tao je velik, zatim operativni sustav je super. Ako je operativni
sustav je velik, zatim prevodilac je super. Ako prevodilac je super,
zatim primjena je super. Korisnik je zadovoljan i postoji
sklad u svijetu.

Tao Programiranja teče u beskraj i vraća se na jutarnjim vjetrom.

1,2

Tao je rodila strojni jezik. Strojni jezik rodila
asembler.

Monter rodila prevodilac. Sada ima 10.000
jezika.

Svaki jezik ima svoju svrhu, ma kako skroman. Svaki jezik izražava
Yin i Yang softvera. Svaki jezik ima svoje mjesto unutar Tao.

Ali ne programirati u COBOL, ako možete izbjeći.

1,3

U početku bijaše Tao. Tao je rodila prostora i vremena.
Stoga prostor i vrijeme su Yin i Yang programiranja.

Programeri koji ne shvatiti Tao uvijek istječu vremena
i prostor za njihove programe. Programeri koji shvatiti Tao uvijek
imati dovoljno vremena i prostora da ostvari svoje ciljeve.

Kako bi moglo biti drukčije?

1,4

Mudar programer je rekao o Tao i slijedi ga. Prosječna
programer je rekao o Tao i traži za njega. Lud programer
je govorio o Tao i smije mu se.

Ako nije bilo smijeha, ne bi bilo Tao.

Najviše zvukovi su najteže čuti.
Ići naprijed način da se povuče.
Veliki talent pokazuje i sama kasnije u životu.
Čak savršen Program još uvijek ima bugova.

-------------------------

Knjiga 2 - starih majstora

Tako je govorio programer master:

"Nakon tri dana bez programiranja, život postaje besmislen."

2,1

Programeri iz davnina bila tajanstvena i duboka. Mi ne možemo shvatiti
njihove misli, tako da sve što činimo je opisati njihov izgled.

Svjesna, poput lisice prijelaza vode. Obavijesti, kao općenito na
bojno polje. Ljubazan, kao domaćica pozdravljanje svoje goste. Jednostavno, kao što su
uncarved blokovi drva. Opaque, kao što su crne bazenima u tamnim spiljama.

Tko zna tajne njihovih srca i misli?

Odgovor postoji samo u Tao.

2,2

Grand Master Turing je jednom sanjao da je stroj. Kad se probudio
uzviknuo je:

"Ne znam da li sam Turingov sanjala da sam ja za kavu, ili
stroj sanjala da sam Turingov! "

2,3

Programer iz velike računarske kuće otišao u softveru
konferencija i zatim se vratio prijaviti njegov menadžer, kaže: "Kakav
od programeri rade za druge tvrtke? Ponašali su se i bili su jako
ravnodušan s nastupa. Dlaka im je bila duga i zapušten i njihovih
odjeća bila naborana i stara. Oni se srušio u našem gostoprimstvu paket i oni
je primitivan zvukove tijekom moje prezentacije. "

Upravitelj je rekao: "Ja nikada ne treba vam poslana na konferenciji za novinare. Oni
programeri žive izvan fizičkog svijeta. Smatraju život apsurdno,
slučajno slučajno. Oni dolaze i odlaze bez znanja ograničenja.
Bez brige, žive samo za njihove programe. Zašto bi se bavili
sa socijalnim konvencijama?

"Oni su živi unutar Taa."

2,4

Početnik upita Učitelja: "Ovdje je programer koji nikada ne dizajnira,
dokumenti ili testira svoje programe. Unatoč tome, tko ga zna, smatra jedan od
najboljih programera na svijetu. Zašto je to? "

Učitelj odgovori: "To je programer svladao Tao. On je otišao
izvan potrebu za dizajnom, on ne postane ljut kad je sustav
pad, ali prihvaća svemir bez brige. On je otišao izvan
potrebno za dokumentaciju, on više nije briga ako netko drugi vidi njegov kod.
On je otišao izvan potrebe za testiranje, svaki od njegovih programa su savršeni
u sebi, skladna i elegantna, a njena namjena očigledna. Zaista,
je ušao u otajstvo Tao. "

-------------------------

Knjiga 3 - Dizajn

Tako je govorio programer master:

"Kada je program koji se ispituje, to je prekasno da bi dizajn
promjene. "

3,1

Bio jednom jedan čovjek koji je otišao na predstavu računala trgovine. Svaki dan kao on
stupio je, čovjek je rekao stražar na vratima:

"Ja sam veliki lopov, poznat po svojim podvizima shoplifting. Biti
Upozoravam Vas, ovaj sajam neće pobjeći unplundered. "

Taj govor poremećen straže u velikoj mjeri, jer su milijuni
dolara računalne opreme iznutra, tako da je gledao čovjeka pažljivo. Ali
čovjek samo lutao od štanda na štand, zuji tiho u sebi.

Kad je čovjek odlazio, stražar ga je odveo na stranu i tražiti svoju odjeću, ali
ništa je ne može naći.

Na sljedeći dan sajma, covjek se vratio, kritizirao straže
govoreći: "Ja sam pobjegao s obilnim plijenom jučer, a danas će biti još
bolje. "Dakle, stražar ga je promatrala sve bliže, ali bez uspjeha.

Zadnjeg dana sajma, stražar mogao obuzdati svoju znatiželju
više. "Gospodine Lopov", rekao je: "Ja sam tako zbunjen, ja ne mogu živjeti u
mir. Molimo vas da me prosvijetli. Što je to što ste krađu? "

Čovjek se nasmiješi. "Ja sam krađu ideje", rekao je on.

3,2

Tu je nekada bio glavni programer koji je napisao nestrukturiranih programe.
Početnik, tražeći da ga nasljedujemo, također je počeo pisati
nestrukturiranih programi. Kad Početnik upita učitelja procijeniti njegov
napredak, majstor ga je kritizirao za pisanje nestrukturirane programe,
govoreći: "Ono što je prikladno za majstora nije prikladna za
novak. Morate razumjeti prije Tao nadilazi strukturu. "

3,3

Bio jednom programer koji je priključen na dvoru cara
od Wu. Vojvoda upitani programer: "Koji je lakše dizajn: jedan
računovodstvo paket ili operativni sustav? "

"Operativni sustav", odgovorio je programer.

Vojvoda izrekao je uzvik u nevjerici. "Sigurno računovodstvo
Paket je trivijalan pored složenosti operativnog sustava ", kazao je
, rekao je.

"Nije tako", rekao je programer, "kada za knjigovodstvo,
programer djeluje kao posrednik između ljudi koji imaju različite
ideja: kako mora raditi, kako moraju izgledati, te kako će se
u skladu s poreznim zakonima. Za razliku od toga, operativni sustav nije ograničen
vanjski nastupa. Kod projektiranja operacijskog sustava, programer
traži najjednostavniji sklad između stroja i ideja. To je razlog zašto
operativni sustav je lakše oblikovati. "

Vojvoda od Wu je kimnuo i nasmiješio se. "To je sve lijepo i dobro, ali
što je lakše za ispravljanje? "

Programer ne odgovori.

3,4

Upravitelj je otišao na master programer i pokazao mu zahtjeve
dokument za nove primjene. Upita ga: "Koliko dugo
će ga odvesti na ovom sustavu, ako dodijelite pet programera? "

"To će potrajati godinu dana," rekao je glavni odmah.

"No, sustav nam treba odmah ili čak prije! Koliko dugo će
poduzeti ako mi dodijeliti deset programera? "

Master programer namršti. "U tom slučaju, to će potrajati dvije godine."

"A što ako zaposlim stotinu programera?"

Master programer slegnuo ramenima. "Tada dizajn nikada neće biti
završio ", rekao je on.

-------------------------

Knjiga 4 - Kodiranje

Tako je govorio programer master:

"Dobro napisan program je vlastiti raj, loše napisan program
vlastiti pakao. "

4,1

Program bi trebao biti lagan i okretan, njegovi potprograme povezane su kao
niz bisera. Duh i namjera programa treba zadržati
tijekom. Ima bi trebao biti ni premalo ili previše, ni
nepotrebnih petlji, niti beskorisne varijabli, niti manjka strukture, niti
Velika krutost.

Program treba slijediti dati `Zakon najmanjih čuđenje". Što je taj zakon?
To je jednostavno da je program uvijek trebali odgovoriti korisniku u načinu
koji ga zapanjuje najmanje.

Program, bez obzira kako složena, treba djelovati kao jedna cjelina. Program
treba biti usmjerena logikom, a ne u vanjskom izgledu.

Ako program ne uspije u ovim uvjetima, to će biti u stanju
nered i zbunjenost. Jedini način da ispravi to prepisati
program.

4,2

Početnik upita učitelja: "Imam program koji negdje radi, a
ponekad ne. Ja sam slijedio pravila programiranja, ali sam
potpuno zbunjen. Što je razlog za to? "

Učitelj odgovori: "Ti su zbunjeni jer ne razumiješ Tao.
Samo budala očekuje racionalno ponašanje od svojih bližnjima. Zašto ste
ga očekivati ​​od stroja da su ljudi izgrađene? Računala simulirati
determinizam, samo Tao nije savršen.

"Pravila programiranja su prolazne, samo Tao je vječan. Stoga
morate razmišljati Tao prije nego što dobijete prosvjetljenje. "

"Ali kako ću znati kada sam dobio prosvjetljenje?", Upitao je
novak.

"Vaš program onda će raditi ispravno", odgovorio je majstor.

4,3

Majstor je objašnjavajući prirodu Tao jednom od svojih novaka. "
Tao je utjelovljen u svim softvera - bez obzira koliko beznačajan ", rekao je
gospodar.

"Je li Tao u ručni kalkulator", upitao je početnik.

"To je" došao odgovor.

"Je li Tao u video igri?" Nastavi učenik.

"To je čak iu video igri", rekao je gospodar.

"A je Tao u DOS-u za osobno računalo?"

Glavni zakašljao i pomaknuo svoju poziciju po tom pitanju. "Pouka je tijekom
za danas ", rekao je on.

4,4

Prince Wang programer je kodiranje softver. Njegovi prsti su plesale na
tipkovnica. Program sastavljen bez poruke o pogrešci, a program
ran kao blagi vjetar.

"Izvrsno!" Princ uzviknuo je: "Tvoja je tehnika besprijekorno!"

"Tehnika", rekao je programer okreću iz svog terminala: "Što sam
slijediti je Tao - iznad svih tehnika! Kada sam prvi put počeo sam programirati
će vidjeti pred sobom cijeli problem u jednom mase. Nakon tri godine sam bez
nije vidio ovu masu. Umjesto toga, vidio sam potprograme. Ali sada vidim ništa.
Cijelo moje biće postoji u bezoblične praznini. Moja osjetila su u stanju mirovanja. Moj duh,
slobodno raditi bez plana, slijedi vlastiti instinkt. Ukratko, moj program
se piše. Istina, ponekad postoje teški problemi. Vidim ih
dolazi, ja usporim, i tiho ih promatram. Tada sam promjenim jednu liniju koda
i teškoće nestaju poput oblaka rijetkog dima. Zatim sam sastaviti
program. Još uvijek sjedim i neka radost rad ispuniti moje biće. Mogu zatvoriti moj
oči na trenutak i zatim se odjaviti. "

Princ Wang je rekao: "Bi li to sve moje programera bili mudar!"

-------------------------

Knjiga 5 - Održavanje

Tako je govorio programer master:

"Iako je program biti samo tri linije dugo, jednog dana će biti
održava. "

5,1

I korištena vrata ne treba podmazivati.
Brza-potok ne raste stagnira.
Ni zvuk ni misli mogu putovati kroz vakuum.
Softver trune ako se ne koristi.

To su velike tajne.

5,2

Voditelj upita programera koliko dugo će ga odvesti do kraja
Program na kojem je radio. "To će biti završena sutra"
programer odvrati.

"Mislim da su se nerealna", rekao je direktor "Doista, koliko
dugo će to trajati? "

Programer misli na trenutak. "Imam neke značajke koje želim
dodati. To će trajati najmanje dva tjedna ", rekao je napokon.

"Čak i da je previše za očekivati," inzistirao menadžer, "Ja ću biti
zadovoljni ako jednostavno mi reći kada program završi. "

Programer dogovoreno na to.

Nekoliko godina kasnije, menadžer u mirovini. Na putu do njegova odlaska u mirovinu
Ručak, otkrio programer spava na njegovu terminala. On je bio
programiranje cijelu noć.

5,3

Početnik jednom je dodijeljen kodirati jednostavni knjigovodstveni paket.

Novak radio je bijesno za nekoliko dana, ali kada je njegov gospodar pregledao
njegov program, otkrio je da u njoj screen editor, skup
grafičkih rutina, sučelje s umjetnom inteligencijom, ali
nije najmanji spomen bilo financijski.

Kad učitelj upita o ovome, učenik postade ljut. "Nemojte se
tako nestrpljivi ", rekao je," Ja ću staviti u financijskom stvari na kraju. "

5,4

Je li dobar poljoprivrednik zanemariti usjeva je zasadio?
Je li dobar učitelj previdjeti ni većina ponizno student?
Je li dobar otac dopustiti jedan dijete umire od gladi?
Je li dobar programer odbijaju održavati svoj kod?

-------------------------

Knjiga 6 - Upravljanje

Tako je govorio programer master:

"Neka programeri biti mnogo, a malo menadžeri - onda će sve biti
produktivni. "

6,1

Kad menadžeri drže beskrajne sastanke, programeri pisati igre. Kada
računovođe razgovaraju tromjesečnih profita, razvoj proračun je oko
se smanjiti. Kad glavni znanstvenici govore plavo nebo, oblaci su oko roll
u.

Doista, to nije Tao Programiranja.

Kad menadžeri čine obveze, igre programi se ignoriraju. Kada
računovođe bi long-range plan, sklad i red je da se o
obnovljena. Kad glavni znanstvenici rješavanja problema pri ruci,
problemi će uskoro biti riješeno.

Doista, to je Tao Programiranja.

6,2

Zašto programeri ne-produktivni?
Zbog svoje vrijeme gubi na sastancima.

Zašto su programeri buntovni?
Budući da je upravljanje ometa previše.

Zašto programeri ostavku jedan po jedan?
Budući da su izmoreni.

Nakon što je radio za loše upravljanje, oni više ne vrijednost svoja radna mjesta.

6,3

Voditelj je o dobiti otkaz, ali programer koji je radio za njega
izmislio novi program koji je postao popularan i dobro prodati. Kao rezultat toga,
Voditelj zadržao svoj posao.

Voditelj pokušao dati programera bonus, ali je programer
to odbio, rekavši: "Ja sam pisao program jer sam mislio da je
zanimljiv koncept, a time i očekujem nikakvu plaću. "

Voditelj čuvši to primijetio, "Ovaj programer, iako radi
položaj malog poštovanje, dobro razumije dužnost
zaposlenika. Neka nam ga promovirati na visoko mjesto upravljanja
konzultant! "

No, kada je rekao to, programer još jednom odbio, rekavši: "Ja postoje tako
da mogu programirati. Kad bih bio unaprijeđen, ja bih tratio
svačija vrijeme. Mogu li ići sada? Imam program koji sam radi na. "

6,4

Upravitelj je otišao svojim programera i rekao im: "Što se tiče za svoj rad
vrijeme: ti si idući u morati doći u devet ujutro i ostaviti
u pet popodne. "U ovom, sve od njih postali ljuti i nekoliko
podnio je ostavku na licu mjesta.

Dakle, menadžer je rekao: "U redu, u tom slučaju možete postaviti svoj vlastiti
radnog vremena, kao čeznuti kao te završiti svoje projekte na rasporedu. "
Programeri, sada zadovoljni, počeše dolaziti u podne i raditi na tome wee
sati ujutro.

-------------------------

Knjiga 7 - Mudrost poduzeća

Tako je govorio programer master:

"Možete pokazati program za korporativne izvršne vlasti, ali ne možete
bi mu računalo pismen. "

7,1

Početnik upita učitelja: "Na dalekom istoku postoji velika stabla struktura
da ljudi zovu `Sjedište tvrtke '. Ona se proširio izvan forme s
potpredsjednika i računovođa. Objavljuje mnoštvo dopisa, svaki
govoreći: 'Idi, dakle! ili: 'Idi, ovamo! " i nitko ne zna što se misli. Svaki
godine, nova imena su stavili na granama, ali sve bez uspjeha. Kako
kao neprirodna entiteta biti? "

Učitelj odgovori: "Ti vidim ovu ogromnu strukturu i
poremećen da nema racionalnog svrhu. Može li se ne zabavljaju
njene neprestane promjene? Zar ne nesmetano uživati ​​u lakoći programiranja
ispod njegovih grana skrivao? Zašto smeta svojih
beskorisnost? "

7,2

Na istoku je morski pas koji je veći od svih ostalih riba. To
mijenja u pticu, čija krila su kao oblaci ispunjavaju nebo. Kada se to
ptica se seli preko zemlje, donosi poruku od Corporate
Sjedište. Ova poruka padne u usred programera,
poput galeba, čineći svoj žig na plaži. Zatim ptica na nosače
vjetar i, uz plavo nebo na svojim leđima, vraća se kući.

Početnik gleda u čudu na pticu, jer on to razumije
ne. Prosječna programer dreads dolazak ptica, jer se boji
njegova poruka. Glavni programer i dalje raditi na svom terminalu za
on ne zna da je ptica je došao i otišao.

7,3

Mađioničar od Ivory Tower donio njegov najnoviji izum za
master programer ispitati. Mađioničar na kotačima veliki crni okvir u
u kapetanija, a majstor je čekao u tišini.

"Ovo je integrirana, distribuirana, opće namjene radna stanica", počeo
čarobnjak ", ergonomski dizajniran s vlasničkim poslovanja
sustav, šestu generaciju jezika, i više state of the art korisnika
sučelja. To je moje pomoćnike nekoliko stotina godina čovjek za izgradnju.
Nije li to amazing? "

Majstor podigao obrve malo. "To je uistinu nevjerojatna", rekao je
, rekao je.

"Sjedište tvrtke je zapovjedio", nastavio je čarobnjak, "da
svatko koristiti ovu radnu stanicu kao platformu za nove programe. Slažete li se
na to? "

"Svakako," odgovorio je majstor, "Ja će se transportira u
podatkovni centar odmah! "I mađioničar vratio se tornja, i
drago.

Nekoliko dana kasnije, novak zalutao u uredu zapovjednika
programer i rekao: "Ja ne mogu naći popis za svoj novi program. Raditi
znate gdje bi to moglo biti? "

"Da", odgovorio je majstor ", oglasi se slažu na platformi u
podatkovni centar ".

7,4

Master programer kreće se od programa do programa bez straha. Ne
Smjena u poslovodstvu može mu naškoditi. On neće dobiti otkaz, čak i ako
Projekt je otkazan. Zašto je to? On je ispunjen Tao.

-------------------------

Knjiga 8 - Hardware i Software

Tako je govorio programer master:

"Bez vjetra, trava se ne miče. Bez softver, hardver
beskoristan. "

8,1

Početnik upita učitelja: "Vidim da je jedan računalna tvrtka je mnogo
veći od svih ostalih. To kule iznad konkurencije poput diva među
patuljci. Svaki od njegovih odjela mogao obuhvatiti cijeli posao. Zašto je
to tako? "

Učitelj odgovori: "Zašto pitaš tako glupa pitanja? Ta tvrtka
je velika, jer je velik. Ako se samo da je hardver, nitko ne bi kupiti
to. Ako se samo da je softver, nitko ne bi ga koristiti. Ako se samo održava
sustavi, ljudi bi ga tretiraju kao sluge. No, budući da kombinira sve
od tih stvari, ljudi misle da je jedan od bogova! Po ne želi
težiti, to pobjeđuje bez napora. "

8,2

Master programer donijela novak programer jedan dan. Majstor primijetio
novaka zaokupljenost ručni računalne igre. "Oprostite,"
rekao je, "mogu ja to ispitati?"

Početnik se trgne i predao uređaj za gospodara. "Ja sam
vidi da je uređaj tvrdi da ima tri razine igranja: Easy, Medium i
Teško ", rekao je gospodar. "Ipak, svaki takav uređaj ima još jednu razinu
igra, gdje se uređaj ne nastoji pokoriti čovjeka, niti se osvajaju
od čovjeka. "

"Molim Vas, veliki majstor," upita početnik ", kako se jednom pronaći ovo
tajanstvena postavke? "

Glavni pao uređaj na tlo i slomiti pod nogama. I
iznenada novak je prosvijetlio.

8,3

Bio jednom programer koji je radio na mikroprocesora. "Pogledajte kako
mi je dobro ovdje ", rekao je na glavnom programer koji je došao u posjet,
"Ja imam svoj vlastiti operativni sustav i datoteke uređaj za pohranu. Ne moraju
podijeliti svoje resurse s kim. Softver je self-konzistentan i
jednostavan za korištenje. Zašto ne zatvoriti svoje sadašnje posao i mi se pridružiti ovdje? "

Mainframe programer onda je počeo da opišu svoj sustav svom prijatelju,
govoreći: "mainframe sjedi poput kadulje drevne meditacije usred
u podatkovnom centru. Njegovi diskovi leže end-to-end poput velikog oceana
strojevima. Softver je kao višeslojan kao dijamant, kao i savijen
kao izvorne prašume. Programi, svaka jedinstvena, kretanje kroz sustav
kao brza-teče rijeka. Zato sam sretan gdje sam ja. "

Programer mikroprocesora, čuvši to, utihnula. No, dva
programeri ostali prijatelji do kraja svojih dana.

8,4

Hardware Software susreo na putu prema Changtse. Softver je rekao: "Vi ste
Yin i Yang sam. Ako putujemo zajedno, postat ćemo poznati i zaraditi
ogromne svote novca. "I tako nastavi zajedno, s namjerom da osvoje
svijet.

Danas su se susreli Firmware, koji je odjeven u prnje i hobbled
zajedno poduprt trnovitim stick. Firmware im reče: "Tao se nalazi
izvan Yina i Yanga. To je tiho i još uvijek kao bazen vode. To čini
ne traži slave, pa nitko ne zna njegovu prisutnost. Ona ne traži
bogatstvo, za njega je završena u sebi. On postoji izvan prostora i
vrijeme. "

Softver i hardver, sram, vratio se u svoje domove.

-------------------------

Knjiga 9 - Epilog

Tako je govorio programer master:

"To je vrijeme za vas da odu."

-------------------------

Ako vam se svidio to, vi svibanj također željeli čitati gore je bolje

Malo ljuske preusmjeravanja

10. svibanj 2009 by prashant · Komentari
Varalica pod: tehnologija

Evo kako smo obično ljuske napraviti preusmjeravanje
$ ./pgm.sh args >out.txt 2>err.txt
Htjela sam ga malo modificirati i pokrenuti kako slijedi
$ ./pgm.sh args
uz uvjet da izlaz i greška trebao ići na neki filename unutar izračunanoga pgm.sh na temelju args. Jedan ilustrativan slučaj mogao biti datum kad je dio args. Tako da bih stdout ići reći / vaše / direktorij / pgm_out_YYYYMMDD.txt 1

Problem sa standardnim načinom preusmjeravanje N>file.txt tj. udruživanje N file deskriptora za file.txt, je da se radi samo za novo rašljastom procesa, a ne za tekući proces.
tako
$ echo hi 1>out.txt ; echo hii . poslat će pozdraviti out.txt, ali će se ispisati hii na stdout 2

Ovo je mjesto gdje exec dolazi na naše spašavanja. Dodamo exec 1>somefile.txt onda izlaz iz ostatka skriptu će ići na somefile.txt

$ cat test.sh
#!/usr/bin/env bash
exec 1>out.txt
echo hi
echo hii
$. / Test.sh će preusmjeravati hi hii kao i da out.txt

Slično preusmjeravati stdout kao stderr ćemo učiniti nešto ovako
cat test2.sh
exec 1>out.txt
exec 2>err.txt
echo out text
echo 1>&2 err text
somenoneexitent command
ls -ld /tmp

Sad se vraćaju na izvornu točke preusmjeriti na neke datoteke iz unutrašnjosti ljuske, recimo program za kompjutorska naziv datoteke u nekom promjenjivom OUTFILE, mogli bismo samo napravili exec 1>$OUTFILE

To rješava trenutni problem. Ali vi svibanj želite proći kroz sljedeći primjer koji postiže možeš random access "datoteke u shell skripta. Primjer je iz ovdje
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

S komentarima, ovaj kod je samo sebi.
-
1 Također se može učiniti $ ./pgm.sh args >pgm_out`date +%Y%m%d` no ideja je da se ovaj naziv datoteke generiraju na temelju neke logike u programu samog.
2 1 u 1> out.txt je suvišan, ali ovdje pojašnjava da smo preusmjeravanjem FD 1

Sony VAIO pregled

29. travanj 2009 by prashant · Komentari
Varalica pod: recenzije

Mjesec dana sam kupio natrag Vaio NS25G te su planira napisati ovaj post od tada. Ovaj post je prvenstveno bilješke uz sebe i pregled iste. Hajdemo sići trag brzo -

Post ima dva dijela -

I. Pregled hardvera
II. Instaliranje Debian i stvari postaviti

I. Pregled hardvera

Budući da ja nisam tip VAIO marketing, ja ću početi drugi krug način -

Zašto ne bi volio kupiti ovaj laptop:

  1. Ne Bluetooth: vjeruj mi, u 2009 Sony prodaje laptopa bez Bluetooth. Naravno možete koristiti usb stvari, ali ...
  2. Veličina zaslona je 15,4 inča: ako se putuje puno onda ovaj laptop svibanj ne biti vrlo zgodan i 2.9kg laptop nije baš najlakši okolo.
  3. Nema HDMI izlaz.
  4. Ne zasebna grafička kartica i voli. (I nije posvećen video memorije

Sada, zašto ste svibanj želite kupiti:

  1. Ovaj laptop je osuditi dobar desktop. Ono što mislim, ako je to vaš zahtjev poput mene - uglavnom pisanje programa i pokušava ga koristiti 25 od ukupno 24 sati, a zatim sa velikom ekranu, izuzetno udoban tipkovnice s prostranim dlan i dobru računalnu snagu, čini se vrlo dobar kombinacija.
  2. To je 2MB L2 cache i procesor / memorija Sabirnica sustava je 800MHz. Ne igram igrice tako da ne mogu reći o tome, ali za bilo što drugo, ali Core 2 Duo procesor s 2GHz freq je dobro, to je više nego dovoljno.
  3. Iz mog korištenja, vidim procesor uglavnom satove na 1.2GHz, a memorija običaj ~ e 500 MB. To samo pojačava prethodne točke.
  4. Pričuvna baterija je dobra, ~ 2 sati je ono što mogu dobiti.

Samo još jedna stvar ovdje - da Sony, to će vas koštati malo od drugih prijenosnih računala sa sličnom konfiguracijom, ali to je poziv u imati napraviti.

II. Konfiguriranje Linux (za pokretanje iz kutije!):
On je došao unaprijed instaliran Vista (mislim Home Premium ili neke fantazija ime kao što je to). Dungara jednom digli i stvorili još jednu particiju od 150 GB. Debian testiranje je ono što sam uvijek instalirati i zatim prema gore (dolje?) Ocjenu 'nestabilna' sid.

Stvari koje su radile bez problema:

  1. X - čudi X server nije imao problema sa starta ili rezolucija. Nakon jednog od X nadogradnje za početak ipak odbio, ali 'X-konfigurirati' generira conf datoteku koji je radio prilično dobro.
  2. Audio - Audio izlaz i vanjski mic raditi. kernel verzija 2.6.29-1-686 # 1 SMP i dodaci verzija 1.0.17. To je ono što ste dobili od
    $ lspci -v |grep Audio 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Con1.0.17troller (rev 03)
  3. Video cam - samo radi
  4. Spavati zimski san na disk i natrag - nema problema
  5. Wireless - ukratko - radi.
    $ lspci |grep -i wireless
    03:13:55 04:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01) .

    Mislim da kernel 2.6 Čvrsta 27 nadalje sve radi s izvorom dionica kernela. Vi ne morate instalirati Ndiswrapper ili stvari kao što su t
    šešir. Kao napomenu, molimo Vas da kažem dobar posao GNOME-mreže-manager i dobrodošli wicd, to je samo GUI sloj, ali iza scene su fiksne puno config stvari poput wpasupplient i više.

Ono što ne radi -

  1. Nekako unutarnje mic odbija raditi : ( Vanjski mikrofon radi dobro ipak. Najnoviji dodaci izvori nisu sastaviti čisto na debian, tako da za sada sam kupio vanjski mikrofon internog, pokušat će se kopaju u nju negdje u budućnosti ipak.

Malo više misc savjeti za deiban:

  • Paket za devnagri font-TTF-indijski-a fontova
  • Paket za flash player - flashplugin-nonfree
  • Ulazak u sources.list za mplayer i voli - deb http://www.debian-multimedia.org sid glavni
  • Ulazak u sources.list za e17 - deb http://debian.alphagemini.org/~~V nestabilna glavni
  • Ulazak u sources.list za Skype - http://download.skype.com/linux/repos/debian/ stabilan non-free

oneliner za povećanje ili smanjenje svjetline -

[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

ćete morati staviti u ovu sudo ipak.
i smanjiti + za promjenu - i ... da dobijete ideju, zar ne!

Malo više, ako koristite prosvjetljenje (e17) evo još nekoliko savjeta -

[Prosvjetiteljski ključni bindidings]

Možete koristiti sljedeće tipke kod i mapiranje

mute:
KEY="Keycode-160" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master toggle"
hibernacije:
KEY="Keycode-165" ACTION="exec" PARAMS="sudo /usr/sbin/hibernate-disk"
smanjenje volumena:
KEY="Keycode-174" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master 2-"
povećanje volumena:
KEY="Keycode-176" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master 2+"
povećanje svjetline:
KEY="Keycode-212" ACTION="exec" PARAMS="sudo /root/bin/incbrightness.sh"
smanjenje svjetline
KEY="Keycode-101" ACTION="exec" PARAMS="sudo /root/bin/decbrightness.sh"

Sljedeća stranica »