Linux a TabletPC

Jsem dlouholetý uživatel linuxu a loni se mi naskytla koupě tabletu Lenovo Thinkpad X61 Tablet. Chtěl bych zde popsat své zkušenosti s tímto počítačem pod Linuxem.

Na počítači provozuji 64 bitovou variantu Ubuntu Gutsy a musím říci, že ve výchozí instalaci podporuje téměř veškerý hardware (včetně pera). Je nutné jen doinstalovat podporu čtečky otisků prstů a podporu akcelerometru. Musel jsem také nainstalovat skript, který správně otáčí obrazovku.

V Linuxu používám tyto programy:

  • Xournal – kreslící aplikace, která podporuje pero (mazání, sílu tlaku) a umožňuje snadné přepínání mezi více obrázky. Navíc umožňuje psaní poznámek do PDF.
  • Gromit – jednoduchá aplikace, která umožňuje kreslit na obrazovku. Používám ji, když chci něco zvýraznit na projektoru.
  • CellWriter – virtuální klávesnice a rozpoznávání písma.
  • ZIM – osobní wiki. Tato aplikace nesouvisí s tabletem, ale velmi jsem si ji oblíbil pro zápis poznámek.

User Interface Design for Programmers

Obal knihyJoela Spolskeho myslím nemá cenu představovat. Zápisky z jeho blogu Joel on Software zná nejeden softwarový vývojář. Joel je však znám nejen díky svým příspěvkům v blogu, ale též svou prací v Microsoftu, znám je též jako zakladatel společnosti Fog Creek Software a mimo jiné je i autorem několika knih. Dostala se mi do rukou jeho kniha User Interface Design for Programmers, která je již staršího data (rok 2001) a zabývá se tvorbou uživatelského rozhraní.

Asi se mnou budete souhlasit, že návrh uživatelského rozhraní je věc nelehká. Jak Joel hned v úvodu knihy uvádí, základní problém spočívá v tom, že program pracuje v tzv. programovém modelu, uživatel pro změnu v tom uživatelském. Měřítkem dobrého návrhu uživatelského rozhraní je pak míra shody těchto dvou modelů. Cílem je totiž udělat uživatele šťastného tím, že se program bude chovat dle jeho očekávání. Problémem však je, že vývojář má často zkreslené názory o tom, jak uživatel funguje a co vlastně chce.
Pokračování textu User Interface Design for Programmers

Audit změn v databázi – Oracle

Možná jste někdy narazili na nutnost zaznamenávat změny, které jsou provedeny v databázi. Existuje několik možností – od logování změn na úrovni aplikace (např. jako listener pro Hibernate) až po použití funkce audit trail v Oracle.

My jsem se pro náš dřívejší projekt rozhodli použít trigger, který úpravy zaznamenává.
Pokračování textu Audit změn v databázi – Oracle

AFS

Snad každá firma potřebuje nějaký ten sdílený síťový disk. Samozřejmě i my – používali jsme je pro sdílení instalaček, dokumentů, obrazů systémů pro VMWare a nebo zálohování. Proto jsme do nedávna používali kombinaci NFS pro Linuxové klienty a Samby pro ty s–Windows. Bohužel nám tato kombinace přinášela problémy.

Proto jsme se rozhodli najít jiné řešení a vybrali jsme AFS (resp. OpenAFS).
Pokračování textu AFS

Základní otestování webového formuláře

Prakticky každý vývojář se alespoň jednou sektal s nutností vytvořit nějaký ten webový formulář. Taková úloha se většinou skládá ze zobrazení formuláře, po jeho odeslání validací odeslaných dat na straně serveru a jejich dalším zpracování. Často je též navíc dostupná validace na straně klienta (nejčastěji formou JavaScriptu), čímž se zajistí rychlejší a příjemnější zobrazování chybových zpráv uživateli.

Abychom se při testování tzv. neuklikali, můžeme použít nástroje jako například Selenium IDE, které nám pomohou nudnou práci zautomatizovat. Pokud však tvoříme webový formulář, je dobré se nad jeho funkčností zamyslet už při vývoji a nespoléhat jen na to, že za nás všechny chyby odhalí automatizované testy. Scénářů a možných chyb je totiž tolik, že v to ani doufat nemůžeme. Pro jednoduché otestování webového formuláře se mi osvědčilo několik základních testů:
Pokračování textu Základní otestování webového formuláře

HTML – kontrola vstupu

Při psaní webových aplikací člověk narazí na nutnost umožnit uživateli zadat text pomocí WYSIWYG HTML editorů (jako jen napřílkad FCKEditor). V tu chvíli se každý rozumný programátor začne obávat nejen o bezpečnost, ale i o vizuální podobu stránky (uživatel použije zelené písmo na žlutém pozadí či zkopírování textu přes schránku z wordu). Nevyhneme se tak nutnosti kontroly uživatelem zadaného HTML a odstranění nepovolených HTML značek, atributů a entit a inline kaskádových stylů.

Na stejný problém jsme samozřejmě narazili i my při psaní nového modulu komunit do portálu EDU.cz.

Chtěl bych se s vámi podělit o způsob, jakým jsme tento problém vyřešili my.
Pokračování textu HTML – kontrola vstupu

Rozcestník

Na tomto blogu najdete již řádku textů. Některé z nich ztrácejí platnost velmi brzy a některé z nich budou platit ještě za pár let. Abych vám usnadnil orientaci, vytvořil jsem malý rozcestník, který seskupuje články, které doporučuji k přečtení

Navštivte Rozcestník > >

XEN – Virtualizační řešení

Přestože jsme celkem malá firma, naše serverovna už obsahuje hezkou řádku serverů (4 naše vlastní a další pro zákazníky). A navíc s každým projektem přicházely požadavky na další a další (Ubuntu + PostgreSQL, Ubuntu + Oracle, RHEL + WebSphere portál, a další).

Mít tolik serverů stojí nejen hardware (který navíc není ani zcela využit), ale také údržbu, elektřinu a místo v serverovně. Když se pak objevily problémy, našemu správci z toho vstávaly vlasy na hlavě.

Proto jsme se rozhodli s tím něco udělat.
Pokračování textu XEN – Virtualizační řešení