Intel investuje do vmWare

Virtualizace hýbe světem a výrobci počítačových procesorů chtějí utrhnout svůj díl koláče na tomto zajímavém trhu. Procesory obou hlavních výrobců AMD/ATI i Intelu údajně virtualizaci podporují. S nástupem vícejádrových procesorů je virtualizace podstatně lépe využitelná, než v případě jednojádrových procesorů. Pokud má uživatel v počítači dostatek paměti, nemá nejmenší důvod, proč používat dual‐boot místo nasazení méně používaného OS do virtuálního stroje, jedinou výjimkou budou hráči her, kterým provoz MS Windows ve virtuálním stroji nepřinese kýžený efekt.

Vedení společnosti Intel se rozhodlo investovat do virtualizace a kupuje akcie vmWare, které připravuje IPO, v hodnotě 218.5 mil. US$. Někteří uživatelé si oddychli, že Intel bude mít vliv na divizi B, která není tak významná. VMware je plně komerční, byť s volnými variantami, uzavřené řešení virtualizace.

Podle mého názoru nebude znamenat vliv Intelu nebezpečí pro uživatele. Intel jse společnost, která je velmi otevřena a nakloněna svobodnému software, stačí se podívat jen na ovladače pro jejich grafické chipy (mají otevřené zdrojové kódy). A i kdyby si někteří „nemohli“ dovolit řešení vmWare, je vícero zajímavých a vyzkoušených produktů pro virtualizaci, třeba VirtualBox, nebo Xen.

Podobně, jako v případě investice AMD/ATI do společnosti Transmeta, o níž jsem psal 9. července 2007, vnímám tuto investici velmi pozitivně. Těžit z ní budou především koncoví uživatelé i když nejspíše ne ti domácí.

AMD investuje do Transmety

AMD/ATI investovalo do společnosti Transmeta 7,5 mil. dolarů

Kolik z nás si vzpomene na společnost Transmeta, která přišla s konceptem velmi úsporných procesorů. Jejich procesory byly tak úsporné, že mobilní verze čipů od AMD a Intelu jsou vedle nich velmi nenažraní otesánci a jediná firma, která se jim příblížila je VIA. Bohužel tyto procesory trpěli nedostatkem výkonu, byť v laptopech byly na běžnou práci dostačující, a nezájmem odběratelů (Kolik jste viděli laptopů s procesory Transmeta Crusoe?). Zajímavostí je, že jistou dobu byl v této firmě zaměstnán i Linus Torvalds (home), otec Linuxového jádra.

Transmeta neuspěla a poslední roky se táhnou ve znaku ztrát. Firma přestala s vlastní výrobou procesorů, místo čehož se věnuje vývoji a následnému prodeji ip svých technologií.

Naproti tomu AMD je obří společností, která také vykazuje ztráty, jenž nedávno koupila firmu ATI (producent grafických chipů a chipsetů pro PC). Ztráty jsou ale spíše průvodním přechodným jevem díky slučování dvou společností. Současný stav je takový, že AMD spíše nestíhá výrobu procesorů v dostatečném množstí, čehož využívá Intel, který tím získává větší převahu na trhu. Pro mě, coby laického uživatele, nehrajícího hry, jsou obě platformy srovnatelné.

AMD/ATI investuje do Transmety 7,5 mil. US$, na oplátku získá přístup k technologiím Transmety a spolupráci při vývoji nových procesorů, které budou při vysokém výkonu úspornější. Některé z těchto technologií by měly již v procesorech AMD a Intel být, u AMD například sběrnice Hypertransport, Intel prý používá řadu technologií Transmety nelegálně a soudí se o ně.

Investice do Transmety je jen kapkou v moři peněz, které AMD/ATI protékají, ale pro Transmetu se jedná o nemalý kapitál, který může firmě významně pomoci. Jestli se objeví některé z technologií v nových procesorech AMD, bude to jen dobře pro zákazníky a pro naše životní prostředí, nehledě k peněženkám uživatelů počítačů.

Od XFce/Gnome ke KDE a časem možná jinam (zpět)?

Přešel jsem (alespoň zkušebně) z XFce a Gnome na KDE, které se mi zatím docela líbí. Důvody pro jsem měl. Jestli u KDE zůstanu uvidím časem, ale zatím se mi docela líbí.

Po dobu cca 10 let jsem uživatelem operačního systému GNU/Linux, mé nadšení pro svobodné systémy jsem sepsal i na jedné informační stránce (ne blogspotu) tohoto deníku. Začínal jsem na Slackware, dodnes vzpomínám na stahování téměř 30 instalačních disket přes modem s rychlostí 14.4 kbit/s, ale při špatném přístupu k internetu v roce 1997 a z toho plynoucímu nedostatku informací to byla velmi obtížná volba. V roce 1998 vyšel ve vydavatelství Computer Press Red Hat Linux 5.1 a s upgrady jsem na RH zůstal až do roku 2001, tj. do verze 7.0. V roce 2001 se mi povedlo získat Mandrake Linux 8.0, na němž jsem setrval až do verze Mandriva Linux 2005 (což byla v podstatě testovací verze). Distribuci jsem měnil, protože jsem byl z této verze značně roztrpčen a přešel jsem na Ubuntu, na Mandriva Linux jsem však zcela nezanevřel a pravidelně se s ním setkávám, když jej recenzuji pro můj domovský portál LinuxSoft.cz a nově pro Živě.cz, poslední verze jsou opravdu velmi povedené.

Co se týče desktopu, nejsem konzervativně vázán na jediný desktop. Zpočátku jsem používal KDE, ale ve verzi 2.0 se stalo příliš náročné na možnosti mého počítače, takže jsem jej vyměnil za, vskutku minimalistický Window Maker. Později jsem objevil XFce, v té době ve verzi 3.x, které se mi velmi zalíbilo. To bylo ještě na Mandrake Linuxu. S přechodem na Ubuntu (předtím byla posílena RAM počítače) jsem používal na desktopu Gnome, ale na slabém laptopu, kterým jsem v té době disponoval, jsem setrval u XFce. Poslední dobou si nemohu stěžovat na slabý hardware, hry nehraji, tudíž 1.4GHz Celeron v laptopu je dostatečný, jsem se vrátil na jistou dobu ke Gnome.

Jak už to ale bývá. Pro svůj portál píšu seriál o softwarových novinkách a to mimo jiné obnáší častou instalaci software ze zdrojových kódů, čímž se po několika měsících stane systém špatně použitelný a nestabilní, nehledě k tomu, že mi přestávaly fungovat i velmi důležité servery pro vývoj (PostgreSQL). Rozhodl jsem se pro přeinstalování systému a protože jsem líný na ruční instalaci i nastavování všeho, jako bonus vcelku znám Ubuntu, logickou volbou byla některá z distribucí rodiny Ubuntu.

Tou volbou je Kubuntu 7.04 „Feisty Fawn“, které nabízí jednu z posledních verzí KDE 3.5.6. Proč jsem nezůstal u Gnome/XFce? Protože chci poznat i něco jiného. Poslední měsíce čtu dost chvály na pokroky a odladěnost KDE, které je podstatně méně náročné, než v počátečních verzích 3. řady, nehledě k vynikající funkčnosti.

Musím uznat, že KDE je v současnosti opravdu povedeným desktopem. Na začátku jsem si užil menší martýrium vypínání všech zbytečných efektů (zvolil bych výchozí nastavení obráceně, vše zbytečné povypínat a kdo chce ať si ty nesmysle zapne) a nastavení všech mnou používaných programů, což obnášelo obnovení kanálů v RSS čtečce, nastavení mua (jenž jsem vyměnil z Claws-Mailu na KMail) a nakonec ještě nastavení vývojového prostředí pro web.

Zatím jsem docela spokojen, byť KDE nemám zvládnuté jako XFce a Gnome. Má spousty nastavení, která jsou podle mě vcelku zbytečná a začínajícím uživatelům mohou pořádně zamotat hlavu, ale jeví se mi velmi rychlé a méně náročné na systém, než je současná verze Gnome. Pár týdnů budu používat Ubuntu s KDE a pak se rozhodnu, jestli u něj zůstanu, nebo se vrátím ke Gnome.

Prokletí jménem FirebirdSQL a .NET

Již delší dobou se potýkám s databází FirebirdSQL ve spojení s platformou .NET (někteří programátoři se ošklíbnou, ale konkrétně VisualBasic.NET). Ani jedna z jmenovaných komponent není špatná, ale jako celek to občas velmi hodně bolí.

FirebirdSQL je vynikající nástroj, de-fakto nástupce Interbase od Borlandu, a jak jsem četl v učebnici Pavla Císaře, je to nejlépe ukrytý poklad Borlandu. Rychlá a malá databáze s obrovskými možnostmi, která v pohodě běží na MS Woknouz, *BSD i GNU/Linuxu(teda pod Linuxem bylo na jakémkoliv jiném hardware než i386/x86-64 zprovoznění naprosto netriviální operací). Líbí se mi existence klasického serveru (ve dvou architekturách classic server a superserver) a malé vestavné, avšak naprosto plně funkční, vestavné verze.

Doplnění (25. 9. 2007): Zapomeňte, že program se embeded verzí dáte na síťový disk. Embedded FbSQL knihovna se pokusí připojit na plný server, přemýšlí za Vás a pokud tam ten server nainstalovaný není, máte smůlu. Jsem si vědom možnosti poškození dat, ale pro testování bych problém neviděl, připojoval by se jediný člověk, jen mi vadí, že FirebirdSQL přemýšlí za mě.

No FirebirdSQL se mi líbí, je fantasticky rychlý (ve srovnání s mým oblíbeným PostgreSQL) a na rozdíl od jakoby databáze MySQL jde o plnohodnostný nástroj, který umí transakce, stored procedury triggery (vím, že MySQL to umí také, ale jak :-(). Jsem z těch, co PostgreSQL popisují slovy „open source Oracle“, ale pro vlastnosti a schopnosti FirebirdSQL rozumné přirovnání nemám.

Nejsem zastánce Microsoftu, ale jejich koncept .NETu považuji za dost povedený, až na to, že z proklamované multiplatformnosti je multiplatformnost pouze mezi několika verzemi MS Windows, autoři projektu Mono se sice snaží, ale, bohužel, MS jim tu práci docela znesnadňuje. Bytecode, který získáte po překladu programů nad .NETem je mnohem čistší, než ten, který vznikne po překladu pro JVM. Mimochodem, VisualStudio.NET je excelentní nástroj, ale i na něm jsem našel mouchy. Na straně druhé je ještě stále vidět relativní mládí této platformy, což je vidět na zatím relativní chudobě informací na fórech.

Přiznávám, že Java mi přijde mnohem vyzrálejší a profesionálněji pojatá, než-li je tomu u .NET (mládí platformy je mimo jiné vidět i na rychlém vydávání nových verzí, které přidávají další a další vlastnosti). Java ve spojení s databázovým serverem PostgreSQL by byla excelentní kombinace. MŇAM!

Proč to celé píšu? U firmy C.A.C spol. s r. o., pro níž pracuji (přiznávám že velmi rád), dělám na platformě .NET ve spojení s FirebirdSQL. Oba nástroje jsou fajn, ale…

  • Pro FirebirdSQL existuje jedna špičková učebnice, ale tím jaksi informační zdroje končí. Navíc je tato učebnice psána v době FirebirdSQL 1.0 a nepokrývá dnešní možnosti, hlavně v oblasti stored procedur.
  • FirebirdSQL nefunguje v Embedded verzi na sdíleném síťovém disku. Ale opravdu to nefunguje.
  • Přinutit VisualStudio.NET korektně spolupracovat se Subversionem (nástroj pro správu verzí software) není moc pěkný úkol. No zrovna v tomto případě zlaté Delphi, protože ty s klientem TortoiseSVN spolupracují nádherně.
  • Zatím jsem nenašel příjemná rozšíření, jako JediVCL (pro Borlandí produkty), jenž by mi tak citelně vylepšili práci. Podobná rozšíření znám i pro své oblíbené prostředí NetBeans, ale připadá mi, že to pro VisualStudio.NET je v ilegalitě.

Když vezmu pro a proti, ano dělám se zajímavou architekturou a dokážu dotáhnout software do konce, co mě štve je tápání po střípcích informací, které neuvěřitelně zdržuje. Připadám si jako pitomec, jenž pořád dělá miniprojektíky a maže je, protože potřebuje přijít na to, jak co funguje. Jeden příklad za všechny: combobox, ve kterém mám programově předdefinované hodnoty a zároveň má další hodnoty navázány z databáze.

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:

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

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ů.

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.

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.

Zobrazit celý článek