Hlavní navigace

Softwarová sklizeň (9. 7. 2003)

9. 7. 2003
Doba čtení: 5 minut

Sdílet

Oblíbená sonda do světa (převážně) otevřeného softwaru. Dnes tu máme zajímavého emailového klienta pro konzoli, kompletní implementaci SSH protokolu v Javě, jednoduchou pomůcku pro všechny, kdo čtou poštu v konzoli na vzdáleném serveru, a mnoho dalšího.

Obsah

Rodina konzolových emailových klientů se rozrostla o projekt Cone(COnsole Newsreader And Emailer), který je úzce spjatý s emailovým serverem Courier (i když na jeho nasazení samozřejmě není vázán). Autoři programu se snaží, aby byl snadno zvládnutelný pro začátečníky, ale zároveň poskytoval dostatečné pohodlí a funkčnost i zkušeným uživatelům. Cone disponuje vlastním editorem s vestavěnou kontrolou pravopisu přes Aspell nebo Pspell, dokáže zobrazovat přímo HTML emaily a přes externí aplikace i různé přílohy. Nechybí mu ani adresář, který může být uložen do IMAP složky, což je poměrně zajímavá funkce. Podobně je Cone schopen ukládat i svou konfiguraci a používat ji tak na různých místech. Pokud jde o podporované protokoly, poradí si program s POP3, IMAP, NNTP a pochopitelně i lokálními složkami, a to ve formátu mailbox nebo maildir. Pro odesílání pošty lze použít buď lokálně program sendmail a nebo přímo SMTP server. Všechny síťové protokoly pak podporují SSL/TLS a SASL (metody CRAM-MD5, CRAM-SHA1 a LOGIN). Tím možnosti Cone zdaleka nekončí, ale zmíním už jenom to, že slouží také jako vývojová platforma pro experimentální protokol SMAP, který si klade za cíl řešit to, co POP3 a IMAP nedokáží.

Snad v každém programu vyvstane dříve nebo později nutnost zpracovat nějaký specifický vstup – například od uživatele na příkazové řádce, z konfiguračního souboru, datových souborů, síťové komunikace a podobně. Někdy jde o záležitost tak triviální, že patřičný kód zabere sotva pár řádků, ale častěji se z parseru stává poměrně složitá a nesnadno udržovatelná záležitost. Proto programátory od počátku věků provázejí nástroje, které tento úkol výrazně zjednodušují. Mezi ně patří i Ragel State Machine Compiler. Jeho úkol je jediný: zpracuje popis vytvořený ve speciálním regulárním jazyce a vygeneruje podle něj patřičný parser v jazyce C nebo C++. Výsledkem je poměrně čistý a robustní kód, který by dal jinak programátorovi zřejmě docela zabrat. Základy práce s Ragelem můžete snadno okoukat z přiložených příkladů, mezi nimiž nechybí například parser jednoduchého jazyka podobného C, parser unixových mailboxů nebo jednoduchá emulace programu awk.

Mezi vývojáři otevřeného softwaru se podle všeho zřejmě těší vzrůstající oblibě operační systém MacOS X. A je dokonce možné, že počet těch, kteří pro něj vyvíjejí aplikace, ještě vzroste díky projektu PyObjC. Jedná se totiž o obousměrné rozhraní mezi jazyky Python a Objective-C, které vzniklo zejména s cílem umožnit vývoj aplikací pro objektové rozhraní MacOSu X Cocoa pouze v čistém Pythonu. Není to nicméně jediné možné využití PyObjC – pokud se najdou dobrovolníci (a bylo by škoda, kdyby ne), bude s jeho pomocí možné psát stejně snadno také aplikace pro GNUstep, což by jistě bylo velmi zajímavé.

SSHTools je projekt snažící se o vytvoření knihoven, které by usnadnili vývojářům integrovat do javových aplikací podporu protokolu SSH. Stěžejním podprojektem je objektově orientovaná implementace SSH verze 2, která obsahuje jak třidy vyšší úrovně reprezentující kompletní SSH server i klienta, tak i komponenty pracující na nižší úrovni, které umožňují vývojářům vytvářet i velmi komplexní klient/server frameworky na bázi SSH. SSHTools podporují mimo jiné také klientskou část SFTP, transportní protokoly, různé způsoby autentizace (heslo, veřejný klíč, …), generování klíčů (RSA, DSA) či přesměrovávání portů. Systém je rozšiřitelný o zásuvné moduly, které umožňují například používat další autentizační metody, jiné formáty klíčů nebo nové transportní protokoly. Dalšími součástmi projektu SSHTools jsou SSHTerm (pokročilý SSH klient), J2SSH Extensions (balíček extenzí obsahující v současné době implementace šifer AES, CAST a Twofish), grafický SFTP klient SHiFT, VNC klient integrovaný se SSH SSHVnc a v neposlední řadě také Open3SP, multiplatformní řešení pro bezpečnou administraci, autorizaci a autentizaci v rozsáhlých distribuovaných sítích.

Příznivce digitální fotografie by možná mohla zajímat šikovná utilita dcraw, která dokáže dekódovat RAW formáty z 66 různých fotoaparátů. Naštěstí se specifikace u jednoho výrobce obvykle příliš nemění, takže mezi podporovanými přístroji jsou i relativně nové modely, jako například profesionální Kodak DCS Pro 14n a Canon EOS 1DS, nejnovější zrcadlovka od Canonu EOS 10D, vlajková loď Olympusu mezi kompaktními fotoaparáty C5050Z nebo podobně cílená G5 opět od firmy Canon. Za zmínku stojí také podpora zrcadlovky Sigma SD9, která pracuje se snímačem Foveon a jiný formát než RAW vůbec nepodporuje (není asi třeba připomínat, že originální software je k dispozici pouze pro Windows a MacOS).

Pokud by vám to čirou náhodou uniklo (jako mně :), tak Film Gimp se nyní jmenuje CinePaint. Ostatní věci zůstaly nezměněné – pořád jde o bitmapový editor, který plně podporuje 16 bitů na kanál a práci s posloupnostmi číslovaných obrázků, což jej činí ideálním nástrojem pro úpravy filmových sekvencí. To ostatně bylo primární motivací k vzniku tohoto projektu, a pokud by vám to čirou náhodou uniklo (o čemž pochybuji), ještě jako Film Gimp byl úspěšně používán například při práci na filmech Harry Potter, Scooby-Doo, Myšák Stuart Little a dalších.

Pokud čtete poštu v nějakém textovém klientovi na serveru přes SSH, pravděpodobně jste se už zamysleli nad tím, jak si zpohodlnit práci s přílohami, které si žádají použití grafického prohlížeče. Většina lidí si asi takové přílohy ručně přes scp kopíruje na lokální počítač, ale o pohodlí v takovém případě asi nejde mluvit. Poměrně elegantním řešením, které o něco zvýší uživatelský komfort, se jeví být skript PIne Web View Attachment neboli piwva. Jde vlastně o jednoduchý wrapper určený primárně pro Pine, který se přes mailcap sváže se všemi typy příloh. Když jej potom Pine automaticky při pokusu prohlédnout si přílohu spustí, skript ji uloží do předem vybraného adresáře. Pokud je tento adresář dostupný přes web, piwva pak při správné konfiguraci ukáže URL, na němž je možné přílohu stáhnout. Skript automaticky ochrání adresář jednorázovým heslem (pomocí souboru .htaccess) a po potvrzení soubor opět smaže. Je to celkem jednoduché, bezpečné a praktické (soubory se nikde nehromadí). Pro případ, že není možné využít HTTP, zobrazuje piwva také příkaz pro stažení souboru přes scp. Za zmínku stojí i to, že s externím dekodérem si piwva poradí i s nenáviděnými přílohami typu TNEF (winmail.dat).

CS24_early

Blbinka týdne

Chcete si pokecat a nikdo na vás nemá čas? Ozvěte se Catty, ta vás ve štychu nenechá. Catty je totiž chatovací robot, který shromažďuje moudrost celého Internetu pomocí Google a snaží se na vaší nevázanou konverzaci plynule navázat :) Díky tomuto principu nesejde na jazyku, kterým hovoříte – Catty se vám pokusí vyjít vstříct stejnou řečí. Pravda, naše debata s poněkud překvapivým vyvrcholením se odehrávala chvílemi v polštině a diakritika také není zrovna Cattyinou silnou stránkou, ale co – nikdo není dokonalý. Jak vidno, intelektuálních hovorů si asi neužijete, ale pro chvíle nudy je Catty náhodou docela dobrá společnice :)

A to je pro dnešek vše…

Byl pro vás článek přínosný?

Autor článku