Tux 500

Blíží se termín legendárního okruhového závodu 500 mil Indianapolis, jehož se účastnil i český automobilový závodník Tomáš Enge. Závod, který je právem řazen mezi 3 vrcholy automobilových okruhových závodů, mezi něž se počítají i Velká cena Monaka Formule 1 a 24 hodin Le Mans.

Tento závod je velikou příležitostí propagovat Linux, kvůli čemuž vznikl projekt Tux 500, jehož iniciátoři si dali za úkol posbírat od příznivců Linuxu sponzorský příspěvek, který umožní umístění reklamy na monopost Stephana Gregoireho z teamu Chastain Motorsports. Podle toho, kolik příznivci Linuxu a motorsportu investují peněz, bude zakoupena patřičná reklamní plocha, tj. od minireklamy na zpětných zrcátkách až po bočnice monopostu (a v tom případě by team startoval jako „Team Linux“. I na ta nejmenší loga chybí ještě nemálo peněz, takže se chopme příležitosti a zapropagujme Linux.

Odkazy:

Flattr this!

Něco k zakousnutí?

Přijdou manželé do čínské restaurace a objednávají si u servírky jídlo.
On: „Mohla byste nám něco doporučit?“
Servírka: „Mame tadý kočičí tlapičký, psi jatylká, opičí ocaský, potkaná na česneků…“
Ona: chytne se rukou za čelo a vykřikne „Ježkovy voči..!“
Servírka: „Felmi doplá volbá, felmi doplá volbá…“

Flattr this!

Rachota – time tracker v Javě

Pokud pracujete na více projektech současně,ačkoliv víte, že to není nejoptimálnější pro efektivitu, které jsou menší a nedovolíte si předem odhadnout celkový čas na dokončení projektu, od kterého by se odvíjela cena, je zapotřebí nějak měřit čas strávený prací na projektu. Tedy potřebné, můžete odhadovat, ale je vhodnější mít čas exaktně změřený.

Rachota 1Pro takováto měření existují nativní programy snad pro všechny myslitelné systémy, v nedávné době jsem používal GnoTime v systémech, ve kterých pracuji nejčastěji, tj. v Linuxu a BSD. Pro MS Windows jsem našel podobný nástroj (AllNetic Working Time Tracker), ale nedařilo se mi úspěšně synchronizovat data mezi oběma programy. Proto jsem hledal program, který by fungoval ve všech operačních systémech, tj. bylo potřebné aby byl psaný v Pythonu/Perlu (či jiném scriptovacím jazyce), nebo fungoval na Java platformě a už jsem byl nakloněn tomu, že si takovýto program napíši sám. Program Rachota jsem našel v podstatě náhodou, když jsem psal svůj pravidelný ranní příděl zpráviček pro portál Linuxsoft.cz, když jsem si přečetl recenzi na portále Linux.com.

Program potřebuje k běhu prostředí java minimálně ve verzi 1.4, má dostupnou lokalizaci pro řadu jazyků a, což potěší našince, je české provenience. Jediné mínus bych viděl, že jsem při zevrubné prohlídce webu nenašel způsob, jak autora programu alespoň trochu odměnit a ocenit. GUI je navržené velmi intuitivně a pro zákazníky můžete vyexportovat velmi podrobné reporty. Pak je vše již jen o vlastní kázni v přepínání jednotlivých projektů, na nichž pracujete. Díky jeho malé velikosti jej mám, pohodlně, na flash klíčence.

V prostředí MS Windows funguje spouštění programu naprosto intuitivně a průhledně. V Linuxa (a FreeBSD) jsem si musel napsat jednoduchý bashový scriptík, protože nemám nastavené české locales v systému, kterým program Rachota spouštím. Zatím jsem to neřešil do důsledku, ale napřed musím přejít do adresáře, kde jej mám nainstalovaný a teprve posléze jej mohu scriptíkem spustit. Scriptík pro spouštění je velmi jednoduchý:

#! /usr/bin/env bash
java -Duser.language=cs -Duser.country=CS -jar rachota_21.jar

 

S programem jsem nadmíru spokojen a reporty, které pomocí něj získávám jsou přehledné pro všechny zákazníky. Pokud bude více času a najdu něco, co o tomto programu napsat více, tak recenze se objeví na portále Linuxsoft.cz.

Rachota Report

Flattr this!

Orlík – Bílá liga

Nic ve zlim proti turistům
když se sem chtěj podívat
jenže není možný tady žít a taky pracovat
co to bylo za ránu,
kdo nám to sem z palmy spad
černý oči, černý tělo to není můj kamarád.

Bílá liga, bílá síla
bílá liga, bílá síla
bílá liga je bílá bílá
vyčisti si boty, přijde tvoje síla
bílá síla mě zaslepila, černou duši mi
vybělila.

Morálku maj jinou
vychování taky
jak my nikdy nebudou
nevěř na zázraky
a za křivý slovo to tě nožem pobodaj
tak proč nám sem zabijáky posílaj.

Bílá liga, bílá síla
bílá liga, bílá síla
bílá liga je bílá bílá
vyčisti si boty, přijde tvoje síla
bílá síla mě zaslepila, černou duši mi
vybělila.

Morálku maj jinou
vychování taky
jak my nikdy nebudou
nevěř na zázraky
a za křivý slovo to tě nožem pobodaj
tak proč nám sem zabijáky posílaj.

Bílá liga, bílá síla
bílá liga, bílá síla
bílá liga je bílá bílá
vyčisti si boty, přijde tvoje síla
bílá síla mě zaslepila, černou duši mi vybělila.

Mno tak zase nějako moc poslouchám Orlíky. A líbí se mi, s některými texty nezbývá, než i po letech souhlasit . Možná vypadám, jako rasista, ale hmm, ne vždy je to pravda.
Omlouvám se za neautorizované přetištění textu je ze stránek www.diskografie.cz.

Flattr this!

SQLite

SQLite je nesporně velmi zajímavým kusem software. Jde o velmi jednoduché a přesto dokonale efektivní řešení databáze. Pro některé uživatele/programátory se nejedná o plnohodné řešení databáze, nicméně, pokud si najdete (třeba na wikipedii) definici databáze, tak zjistíte, že ji SQLite bezezbytku splňuje.

SQLite je databáze, která je primárně beztypová, tj. můžete databázi nadefinovat jak chcete a potřebujete a data můžete uložit naprosto bez ladu a skladu :-D, což ale není zcela rozumný nápad. Tabulky můžete definovat buď jen beztypovým vyjmenováním sloupců, nebo jim udáte i typy. Udáním typů pro jednotlivé sloupce jen udáte prioritu, jak si je má databáze uložit, pokud se jí to nepodaří, bude hodnota uložena jako text. Všiml jsem si, že třeba Borlandí prostředí, pokud se nenatypují sloupce nemá moc příjemné vybírání dat z jednotlivých buněk.

SQLite je, aktuálně, v řadě 3 a jestli nemáte důvody používat starší řadu, například díky tomu, že je zaembedována do PHP5 (od verze 5.1 už není, ale je jako externí modul), použijte ji. Jednako tato aktuální řada pracuje podstatně lépe s Unicode/UTF-8 a je optimalizovanější v nárocích na diskový prostor.

Protože mě plně vyhovuje práce z příkazového zdroje, neprozradím vám mnoho z použití gui nástrojů, nicméně v prostředí MS Windows mě velmi zaujal …. Databázi vytvoříte jednoduše použitím příkazu:

sqlite3 ~/sqlite/prvni.sq3
# pokud potrebujete pouzivat SQLite rady 2
sqlite ~/sqlite/prvni.sq2

Sqlite3, eventuálně sqlite pro verzi 2.x, je cli administrační nástroj. Předchozím příkazem vytvoříte v podadresáři sqlite/ soubor prvni.sq3, do nějž postupně nadefinujete tabulky a kde budou uložená data. Na koncovce nezáleží, ale pokud používáte některý gui nástrojů pro správu, je rozumné používat stejnou koncovku, kterou si naasociujete na oblíbený administrační program. Pokud již databáze existuje, tak výše uvedeným příkazem databázi pouze otevřete, stejně je tomu, například, v PHP5.

Pokud máte databázi otevřenu, můžete vytvořit tabulky, triggery, pohledy, triggery a uložené dotazy. Můžete manipulovat s daty.

Překvapivě je SQLite velmi rychlá databáze, pokud zkusíte porovnání s MySQL, FirebirdSQL, či PostgreSQL, budete velmi příjemně překvapeni. Já sám tuto databázi nasazuji do míst, kde je téměř jisté, že nebudu moci mít spuštěný plnohodnotný databázový server. V současné době jím nahrazuji poměrně nepříjemné, nestabilní a pomalé řešení, kdy můj předchůdce ve vývoji jednoho software ukládal data z Borlandích paměťových tabulek do XML souborů. Znamená to sice poměrně rozsáhlé přepisování aplikace, nicméně výsledky jsou velmi pozitivní.

Pokud hledáte vhodnou databázi, nejen pro malé projekty, doporučuji zaměřit pozornost na SQLite. Jediným limitem v množství uložených dat je omezení souborového systému, kde databáze běží. Pochopitelně se jedná o multiversion databázi a je třeba občas ji vyčistit od neplatných záznamů.

Flattr this!

Alea iacta est

Neboli „kostky jsou vrženy“ řekl Ceasar, když překročil Rubikon. Řeku, která oddělovala Itálii od předalpské Gálie a jíž nesměla překročit noha vojáka. Dodnes je tato věta synonymem, pro nezvratné rozhodnutí.

Já jsem do tohoto bodu dospěl také. Ano, mohl jsem sedět na zadnici a vzdychat, že se mi něco, životně velmi důležitého, nepodařilo. Jenže. Někdo mi připoměl, že to nejsem já, zeptal se, kde je člověk, který si ctil více drzého čela a schopností, před klidem. Kam zmizel ten, který dokázal tisíckrát vstát a bojovat za to na čem mu záleží a co považuje za důležité? Má pravdu, já jsem jen stál, jako špatně vyřezaný tele, a čučel jsem, jak ztrácím to důležitý.

Rozhodl jsem se.

  • Urychleně začít napravovat, co jsem poškodil a zničil.
  • Zase jít za tím důležitým, za tím co mě drží na nohou a nebýt laxní v přístupu.
  • Vyřešit problémy, které jsem ze strachu, pohodlnosti a přehnané slušnosti neřešil.

Možná to někde bude bolet, ale MaReK je zpět a stojí na svých nohou tak, jak nestál už několik měsíců, či let. Bude to dřina, ale dokážu to. Musím, nemám cesty zpět, nechci ji mít, protože bych se zase mohl stát váhajícím špatně vyřezaným teletem.

Flattr this!

Hledání ideální databáze

Přestože ještě před několika lety (asi tak 8-10) jsem se do práce s databázemi nikterak nehnal, jsou dneska mou hlavní obživou, ať již jako programátora aplikací, které využívají databázový backend, nebo jako člověka, který se snaží jednu velmi zajímavou pokud možno co nejlépe prozkoumat a předat dalším vědomosti o ní. Jsa člověk, který preferuje oss řešení, pouzastavím se v tomto blogspotu u několika rozšířenějších databázových projektů.

MySQL

Pro řadu vývojářu se jedná o první SQL databázi, se kterou se seznámí. Často tomu není pro její kvality a funkce, které jsou v posledních verzích na dobré úrovni, ale pro její snadnost v používání a rozšířenost v učebnicích. Většina učebnic, jednoho z nejrozšířenějších programovacích jazyků, ale i kurzů PHP se opírá právě o tento databázový backend.

Především z řad webových vývojářů je MySQL vnímáno jako rychlé úložiště textů, ještě v dobách nedávných diskvalifikované téměž nemožností používat kódování UTF-8. Do verze 4.1 jsem měl z této databáze podobný pocit. Verze 4.1 vyřešila problém s ukládáním různých kódových stránek a verze 5.0 přidala funkčnost, která server sice mírně zpomalila, ale zato ji přiblížila k těm velikým databázím. Tou funkčností je míněna podpora transakcí, ano, ty staré verze uměly, ale ne na svých nativních souborech, stored procedur a triggerů.

Dnes je MySQL vyspělou datábází, kterou lze bez výrazných problémů nasadit téměř na libovolný systém, jen s mírně komplikovanou licencí. Nový engine Falcon, který píše Jim Starkey, dřívější vývojář Interbase/FirebirdSQL, slibuje výrazný pokrok ve všech směrech.

FirebirdSQL

FbSQL je velmi zajímavým kusem software. Pro spoustu lidí se jedná o databázi, která skvěle funguje pod MS Windows, nicméně, mám ji, k plné spokojenosti, otestovánu i na Linuxu. Bohužel pokud budete chtít tento server kompilovat pro jinou platformu, než je x86, budete mít trochu problémy. Silnou zbraní tohoto serveru je existence embedded verze, kdy nepotřebujete mít instalovaný celý server, ale pouze postačuje knihovna v místě, kde o ní Váš program bude vědět. Databáze je velmi rychlá a stabilní, ale velká slabina je v dostupnosti a kvalitě dokumentace.

PostgreSQL

O této databázi nemám tady moc co napsat. Rychlá, sice při malém zatížení pomalejší než FbSQL, nebo MySQL, stabilní s kvalitní licencí a velmi přesně splňující ANSI SQL. Mezi začátečníky není příliž oblíbená, protože první kroky v ní vyžadují větší použití mozku, než v případě MySQL. Obrovská možnostmi a podporou. Ano přiznávám, že v současnosti bych pro ní, v oss světě, stěží hledal konkurenta. Je to také ta databáze, do které se snažím co nejvíce proniknout a to co vím předat dále.

SQLite

SQLite není úplně opravdovou databází. Nejde o server, ale o malou knihovnu, která plní funkčnost velkých databází. Jedná se o embedded databázi v pravém slova smyslu, umí uložit data, updatovat, vymazat a vybrat, zvládá triggery a pohledy. A to je v podstatě vše :-). Především je malá, rychlá a kvalitní podporou v nejrůznějších programovacích jazycích. Já sám tímto řešením nahrazuji v udržovaných programech, psaných v Borland Delphi, starou a velmi obtížně vyhovující, manipulaci s několika dbf soubory.

SQLite3 má mnoho vylepšení, oproti SQLite2, zejména v lepší práci s Unicode, bohužel třeba PHP5 umí, bez doplnění o PDO, pracovat pouze se starší SQLite2. Všechny data i definice jsou uloženy v jediném souboru, který je pohodlně přenositelný kamkoliv a to dokonce bez ohledu na procesory, které fungují jako big endian, nebo little endian.

Další databáze

Tak a dalšími se tu zabývat nebudu, byť by to bylo zajímavé téma. Chtěl jsem postihnout jen několik apsektů v těch, které se využívají pro běžný vývoj. Tedy BerkleyDB je prý nejrozšířenější databází na světě, ale neznám moc programátorů. kteří by ji používali v zákaznických řešeních.

Poznámka

Tento článek vyšel v delší, upravené, podobě na portále LinuxSoft.cz.

Flattr this!

Proč nemám rád objektové PHP

Mnozí programátoři a „programátoři“ se staví k OOP (objektově orientované programování ne „Organizace pro Osvobození Palestiny“) jako k všeléku na všechny jejich problémy při vývoji. Mnozí, i přestože používají plně objektový jazyk, píší neobjektový kód, kdy vše co potřebují napíší do jediného objektu a vytvoří pouze strukturovaný kód.

Pokračování textu Proč nemám rád objektové PHP

Flattr this!

Vyhoření

Každý z nás občas může chybovat, každému může dojít vůle a energie, takříkajíc padnout hubou do bláta, ale musí pak umět vstát, jít dál a třeba za cenu nového začátku. Problém je, když už těch padnutí na hubu je mnoho,když už člověk vstal tolikrát, že nemá sílu vstát po další.

Několik posledních let jsem zažíval vzestup, alespoň v očích mého okolí. Snažil jsem se, aby nikdo neviděl, že se jedná o vzestup z dost šílených sraček, do kterých jsem před pár lety zapadl. Snažil jsem se nedávat najevo, že nejsem v takové pohodě, jak si spousta lidí myslí. Bohužel se to nedávání najevo stále více otáčí proti mě. Zní to divně, ale ztrácím lidi kolem sebe, utíkají, protože s nimi nekomunikuji, protože se snažím nepřenést na ně moje starosti, ale být zticha, zatnout zuby a makat, abych co nejrychleji unikl z toho špatného.

Není to nikterak dávno, co jsem si podobné starosti ani zdaleka nepřipouštěl, ale asi jsem zestárnul, možná víc, než si připouštím, a nedokážu nad tím mávnout rukou. Každý člověk, který odejde z okolí, každý, na kom mi záleží a uteče, protože jsem uzavřený, mě mrzí, dál se uzavřu a odejdou další. Možná, že při tom rozsahu práce a činností, které dělám se zdá, že jsem v centru dění, ale vše je překvapivě velmi jinak. Žiju ve světě, který je neskutečně uzavřený, ve světě, kam přestává být přístup a ve kterém mám dojem, že nemají city, vztahy a přátelství co dělat.

Dal bych nevím co, kdybch mohl vše restartovat. Tedy ne úplně. Moci napravit to, co považuji za důležité a jakýmkoliv způsobem to pokazil. Udělal jsem příliž mnoho chyb a mám na výběr. Brečet nad roz(b)litým mlékem nejspíše není správně, ale mohu se oklepat a zkusit jít dál s tím, že hodím za hlavu to, co jsem pokazil. Nebo mohu zkusit alespoň část chyb napravit, protože jsem často ublížil těm, na kterých mi velmi záleží. Ta druhá varianta je zajímavá, protože bych byl velmi rád, aby tu jednou po mě zůstalo alespoň něco dobrého a užitečného, nejen zlost a trápení mého okolí, které se stále ztenčuje.

Mrzí mě, že v době, kdy se mi dařilo, bylo kolem mé osoby mnoho dalších lidí, kteří využívali co jsem jim poskytoval. Drtivá většina z nich se tvářila, že pokud budu potřebovat, pomohou zase oni mě. Když se dařit přestalo, utekli. Kdyby utekli jen Ti běžní, ale utekli i ti, které jsem miloval. Nikdo nestojí o to mít v okolí neúspěšného člověka, člověka, který má trable, a zvolí jednodušší variantu. Utéct.

Teď přemýšlíte, proč se tento blogspot jmenuje vyhoření, když je spíše o dopresích neúspěšného člověka? Protože přeci jen ve mně, událostmi posledních dní, něco vyhořelo. Něco, co bylo donedávna to nejdůležitější v životě, ale co jsem si, ve své hlouposti a slepotě nepřipouštěl.

Flattr this!

Proč jsem v ODS

Řada lidí se mně ptá, proč jsem v ODS, která, podle nich, může za bezpráví v republice, která způsobila rozvrstvení společnosti na chudé a bohaté. Odpověď je jednodušší, než si myslíte.

  • Jsem pravicově orientován. Věřím, že hlavní odpovědnost za svou životní úroveň má jednotlivec, ne že někdo zezhora rozhodne, že musí pracovat přesně zde, plat dostane podle takovéto tabulky (podle níž si někde odseděl 20 let a bez ohledu na skutečné znalosti a schopnosti má větší příjem, než mladší, ale schopnější a znalejší kolega na stejném místě) a odváží-li se přejmout odpovědnost na sebe tím, že začne podnikat, je mu to zezhora znepříjemněno neskutečným množstvím papírů, nařízení a omezení.
  • Levice v boji o voliče z chudých vrstev vydává neskutečné peníze na sociální výdaje, které nakonec nenutí chodit do práce. Těmito dávkami vzrostlo zadlužení, za posledních 8 let vlády levice, o zhruba 800 000 000 000,- KČ. Cílem levice je, abychom se měli všichni stejně, bohužel vzhledem k množství prostředků, které jsme schopni vyprodukovat to znamená, že všichni stejně špatně.
  • O zvýšení státního dluhu jsem již napsal. V době, kdy rostou příjmy státní pokladny roste zadlužení ČR. Pokud by se levicová vláda chovala jako racionální člověk, použije zvýšený příjem napřed ke splacení předchozích dluhů (když se Vám zvedne mzda, půjčíte si další peníze?) a teprve posléze bude přispívat na zvýšení úrovně nemakačenků.
  • Fandím rovné dani. Není zde jen příklad Slovenska, kde ještě nějakou dobu budou trvat porodní bolesti, které snížily životní úroveň nejchudších a vyhýbajících se práci, ale je zde třeba Estonsko, které je i díky tomuto nástroji jednou z nejrychleji rostoucích ekonomik v Evropské Unii.
  • Poznal jsem v této straně řadu lidí, kteří mně přesvědčili o své inteligenci, jsou realističtí a vědí, jaká je rozumná orientace směrování státu. Ano i oni dělají chyby a některé kroky se mi nelíbí, ale vcelku je to rozumné směrování.
  • Levicové vedení státu podpořilo montážní závody. Ano zaměstnali v nich lidi s průměrným platem kolem 10 000,- KČ, ale proč stejnou podporu nemohli dostat technologické firmy, které vytvoří třeba pětinu pracovních míst, ale pro odborníky a s několikanásobným platem? Pak jsou slyšet stížnosti, že inteligence odchází do zahraničí. Máme snad ambice se stát montážní halou EU? Podle mého názoru by neměl být zvýhodněn ten kdo zaměstná pouze masu dělníků, ale všichni, samozřejmě se zohledněním podle počtu zaměstnaných lidí a celkové investice partnera.
  • Pan Paroubek je v mých očích hulvát a demagog. Pan Zeman byl sice hulvát, ale realista a dostatečně inteligentní (prostě řekl věci nepříjemně, ale pravdivě), pan Paroubek je, podle mně, pouze hulvát, který křičí a uráží každého, kdo s ním nesouhlasí.

Nejsem spokojený s celkovým stavem politické scény u nás. Bohužel po volbách nás poškodila osobní antipatie pánů Jiřího Paroubka a Mirka Topolánka, která znemožnila rychlé vytvoření vlády. Vládu potřebujeme, byť je často slyšet názor, že i bez vlády tu vše fungovalo. Ano fungovalo, chybí vyhlášky a prováděcí předpisy k zákonům, které platí od 1. ledna 2007, protože neexistovala vláda, která by je mohla protlačit, těch 7 měsíců nebyly téměř vedená jednání se zahraničními investory, což sice není vidět dnes, investice se připravují i 10 let dopředu.

Flattr this!