2008-05-11

Voice over IP Overview

I recently tried to google for "VoIP basics" and a few similar terms. The results were, uhm, unsatisfactory. The pages in the result set all seem to waste too much of the "real estate" with advertisement, the actual content is short and only touches the surface of individual topics.

So perhaps it might help if I write my own Voice over IP Overview. So far, I've covered the digitization of voice, audio codecs, latency and bandwidth optimization, and the Real time protocol. In the next piece, I would like to touch jitter, and then go straight to describing the main VoIP protocols, SIP, and H.323. After that, I would like to discuss for example the topic of VoIP vs. firewalls, and the additional protocols like H.248, IAX2, and SCCP.

What do you think? Will this be useful?

2008-04-25

Jak reagovat na kritiku on-line

Co uděláte, když někdo o vaší práci prohlásí, že za moc nestojí, ten dotyčný to udělá veřejně a existuje záznam, na který se může kdokoli podívat on-line?

V blogu Scotta Berkuna jsem si všiml odkazu na to, jak reagovat správně. Žádná argumentace ad hominem, ale pěkně k věci a soustředit se na sporné body. Argumentující dvojici tvořili Bryan Cantrill (kritizující) a Scott Rosenberg (autor, jehož práce byla kritizována). Za přečtení stojí jak Rosenbergova úvodní reakce, tak následná diskuze pod ní.

Mimochodem, před časem jsem odkazoval na Rosenbergovu přednášku v Google - byla právě o kritizované knize Dreaming in Code. A asi měsíc poté jsem zmiňoval také přehled klamavé logiky a "neférové" argumentace, což s tématem také trochu souvisí.

2008-04-11

Co dělá programátor na dovolené?

Co dělá programátor na dovolené? Pokud je tu nějaký vtipálek, který by rád odpověděl, "Programuje," pak má, bohužel, pravdu. Alespoň v případě, o kterém píše Steve Yegge na svém blogu. Steve svůj dlouhatánský příspěvek napsal během týdenní dovolené, kterou si vzal, aby mohl pospravovat svoji on-line hru. Krom toho, že právě potřebovala nějaké opravy, jejím hlavním a přetrvávajícím problémem je velikost zdrojového kódu - 500 tisíc řádek v Javě.

Pokud pracujete na větších či rovnou velkých projektech, doporučuji si Stevův text přečíst - najdete v něm spoustu důvodů, proč je třeba dávat na velikost zrojového kódu pozor a proč právě programy v Javě mají tendenci hodně růst.

Stevovo řešení? Je jím přechod na dynamicky typovaný programovací jazyk. Steve potřebuje zůstat u Java Virtual Machine, takže si vybral Rhino a chce se dostat z nynějších 500 000 řádků někam ke 150 000. Myslím si, že to je hodně ambiciózní cíl a dovolím si tipovat, že skončí spíš někde u 300 tisíc rádek kódu.

Rozhodně bude zajímavé se k tématu tak za rok až dva :) vrátit a podívat se, jak to dopadlo.

2008-04-09

McCain podpoří Československo

Podle tohoto krátkého příspěvku se kandidát na amerického prezidenta McCain vyjádřil v jednom rozhlasovém rozhovoru, že podpoří Československo. Kolik let že uplynulo od rozdělení?

Ale moment, ono vlastně nejde o Československo, ani o Čechy a Slovensko, nýbrž o radar. Jde hlavně o základnu. To, jak se zrovna jmenuje místo, kde by měla stát, už není tak důležité, aby si to člověk potřeboval pamatovat...

2008-03-29

Helvetica - 50 let

Když něco existuje padesát let a stále to vypadá moderně, už to svědčí o nesporné nadčasovosti a kvalitě. Tím jubilantem byla loni Hevetica, písmo, které vzniklo ve Švýcarsku v roce 1957.

O Helvetice vznikl loni dokonce film (jak píšou New York Times v recenzi, máte garantováno, že několik dní po jeho sledování strávíte hledáním Helvetiky všude kolem sebe) a Muzeum moderního umění v New Yorku pořádalo o Helvetice výstavu.

Jako vše úspěšné, má i Helvetica řadu kopií. "Nejprofláknutější" je asi Arial. Více si můžete přečíst tady, ale ve stručnosti: Autorem Arialu je Monotype, který vzhledem ke své reputaci nechtěl Helveticu okopírovat přímo. Vzali tedy jiný svůj řez, Grotesque, a překreslili ho ho, aby se proporčně podobal Helvetice. Pak přišli Borgové Pak přišel Microsoft a Arial si zalicencoval, asi proto, že byl levnější... Chcete-li se podívat blíž na rozdíly mezi Helveticou a Arialem, poslužte si tady.

2008-03-17

Přednáška Joela Spolského na Yale

Jméno Joel Spolsky se tady vyskytlo už minimálně jednou (zmiňoval jsem jeho The Guerrilla Guide to Interviewing). Dnes bych chtěl uvést linky hned tři - jde o odkazy na tři části přednášky, kterou měl na Yale: část 1, část 2, část 3.

Připravte se, že to bude trochu delší (Joel rád píše dlouze), ale je to zábavné čtení a stojí za trochu toho času. Cílem přednášky je vysvětlit, co z toho, co mu univerzita dala, se nakonec ukázalo v praxi jako užitečné... Joel se ale "cestou" zastaví u řady zajímavých témat, třeba
  • rozdíl ve vnímání kvality u geeků a kravaťáků (moje praktická poznámka pro geeky: pozor, ne každý, kdo nosí kravatu, je kravaťák). Jako vždy, pravda je někde uprostřed.
  • Pozastavení se nad "osudem" programátorů, kteří píšou software pro interní použití a kultura v některých opravdu velkých firmách.
  • Přístup k výuce computer science a software engineering v závislosti na kategoriích amerických škol.
Zbytek si už přečtěte sami :)

2008-03-06

Prakticky nemožné versus principiálně nemožné

V podcastu Scotta Hanselmana jsem si poslechl rozhovor s fyzikem a popularizátorem vědy Michiem Kaku, kterému 11. března vychází kniha nazvaná Physics of the Impossible.

Hlavním tématem rozhovoru bylo, že řada technologií, které považujeme za nemožné, jsou nemožné pouze prakticky, nikoliv principiálně. Příkladem budiž třeba cestování v čase nebo teleportace. Je jen nutné mít schopnost nahromadit obrovská množství hmoty nebo disponovat gigantickými zdroji energie, řekněme o výkonu jednoho nebo několika Sluncí :). Ukázky si lze přečíst on-line v magazínu Wired.

Zmiňme třeba fungování Thornových desek:
  • Obstarejte si čtyři velké vodivé desky, každou o průměru alespoň několika kilometrů. Umístěte je paralelně, velmi blízko sebe. Díky tzv. Casimirovu efektu se mezi deskami vytvoří plátky identického časoprostoru.
  • Rozdělte desky na dva páry. Mezi oběma páry vznikne červí díra časoprostorem. Naložte jeden pár desek do rakety a vyšlete ji rychlostí blízkou rychlosti světla. Tento pár desek bude vůči deskám na zemi stárnout pomaleji, bude se tedy vůči nim posouvat do minulosti.
  • Vložte něco mezi desky na Zemi. Daný předmět bude okamžitě transportován napříč časem a prostorem mezi druhý pár desek.
Kromě ohromné spotřeby energie je tu ještě jeden praktický problém: Mezera mezi deskami musí být velmi malá, menší než velikost atomu. Takže v praxi by se tím daly přenášet jen subatomární částice (a tudíž informace) :-).