As I mentioned before, I've kinda always wanted to blog, so I wrote a few posts from time to time. I found my very old blog, when I created the first version of QB, called QetriX back then.
All posts were written in my native Czech, so I translated them to English for you to enjoy. During that I also replaced "QetriX" with "QB" to be more clear what I'm writing about.
20.08.2009 17:36
Vždy jsem chtěl mít vlastní encyklopedii, kde by byly informace pěkně utříděné a snadno zpracovatelné. Postupem času začala mít má představa jasnější obrysy. Nejprve to byla textová vícejazyčná wiki encyklopedie, u které bylo textové heslo doplněno tzv. rozšířenou databázovou strukturou (RDBS), což byly databázové tabulky nad rámec datové struktury pro samotnou encyklopedii a každá z těchto tabulek obhospodařovala nějaký typ dat (město, stát, firma, osoba...).
Po enc.qex.cz (kde RDBS zůstala jen u teorie) přišla Kilopedie, ve které byla délka textového hesla maximálně 1024 znaků (proto Kilo...) a všechny údaje byly již v RDBS. Projekt měl dokonce vlastní doménu a utěšeně se rozrůstal. Nicméně myšlenka ryze datového systému ve mně stále hlodala a tak jsem sebral své dosavadní zkušenosti a začal vymýšlet nový systém. Zvolil jsem v základu třítabulkový systém pro modul-atribut-vazbu (coby analogii k ER diagramům).
25.08.2009 9:07
Vytvořeno logo QPDB dle původního návrhu (díky kterému má projekt název :) Barvy byly zvoleny kvůli "standardnímu" rozložení (Microsoft Windows a Office, Google a další) a jejich přiřazení pro jednotlivá písmenka vyšla z "výběrového řízení", kdy byly vystřídány nejrůznější kombinace a vítězem se stala nejlíbivější kombinace.
27.08.2009 18:05
Dal jsem život systému modul-atribut-vazba a testuji to na univerzální encyklopedii.... zatím jsem spíše mile překvapen. Vzhled jsem optimalizoval na šířku 240px, aby se v plné velikosti dobře zobrazoval i na displejích kapesních zařízení či v postranních lištách prohlížečů. Kvůli druhému důvodu jsou všechny odkazy dodatečně mapovány na JavaScript, protože jinak není možné data v postranních lištách obměňovat (všechny odkazy se otevírají do hlavního okna prohlížeče).
Pro potřeby mobilního zpracování dat nejsou současné systémy dostatečně optimalizované.
Otevřená encyklopedie Wikipedie sice obsahuje všechny tyto údaje, ale je problém s jejich dodatečným zpracováním či údržbou. Uvádíme problémy a způsob, jakými je QPDB řeší:
Velmi schopný systém, ke kterému se můžeme pouze krůčky přibližovat, zatímco on mílovými skoky utíká.
Velmi obsáhlý systém, jehož primárním zdrojem je anglická Wikipedie. Je postavený na JSON, ve kterém také prezentuje data v API. V létě 2010 jej koupil Google.
16.9.2009 13:26', 'Výrazný pokrok',
'Modul, atribut i vazba mají definován vlastní číselník typů. Implementována mapa světa, na které se zobrazuje, kde se zhruba dané místo nachází.
19.11.2009 23:12', 'První betaverze',
'Celý systém byl překopán. Protože jsem zjistil, že i vazby by měly mít možnost obsahovat atributy, zrušil jsem modul i vazbu a teď už jsou to všechno jenom atributy :) Z 18 tabulek jsem udělal cca 6 :)) A kromě přepinani jazyku funguje i prepinani jednotek, takze v cestine mam km/h, metry a Koruny a v anglictine mam mph, stopy a Dolary. Zatim to neni online, ale db uz obsahuje naimportovane vsechny kraje, okresy a obce v CR.',
'Data se do systému vkládají hromadně pomocí importního mechanismu, který pracuje s formátem TSV (data oddělená tabulátory) a umí si poradit s duplicitními hodnotami, vazbami a parametrizovatelnými atributy. Číselné hodnoty se udávají v ustálených jednotkách vycházejících především ze soustavy SI, ale bez předpon (místo kg uvádíme g).
28.11.2009 23:46
'Přibyly dvě podstatné charakteristiky pro vykreslování atributů. Tím prvním je nastavení, které typy atributů se ve kterých typech entit mohou vyskytovat, což značně usnadňuje výběr toho správného typu.',
'Tím druhým je sledování maximálního počtu výskytů daného typu v entity a po překročení tohoto limitu se daný typ v nabídce již nenabízí. To je obzvláště praktické u typů, které mohou být pouze jednou
18.12.2010 11:38', '',
'Aby bylo možné lépe zjistit, jaký potenciál data mají, bylo vytvořeno několik specializovaných stránek. Takže sloupcové a koláčové grafy zobrazovaly počet obyvatel v jednotlivých okresech vybraného kraje, budovy vyplněné texturou se řadily dle velikosti, města v okolí se stejně jako stanice vybrané linky MHD zakreslovala do interaktivní mapy z Google Maps a další.
14.1.2010 21:33
Zajímá vás, v čem QetriX vzniká? Pro psaní skriptů (PHP, JS, CSS) a manipulace s daty pro import využívám bezplatný český editor PSPad, na správu databází open source nástroj HeidiSQL. Veškerá grafika byla vytvořena v bezplatném editoru Paint.NET. Ladění webu probíhá, díky množství kvalitních rozšíření, v prohlížeči Mozilla Firefox. Vývojové prostředí je realizováno softwarovou triádou WampServer (Apache, MySQL, PHP). Data zpracováváme v programu Calc, který je součástí bezplatného kancelářského balíku OpenOffice.org.
'<span class="icons"><a '.nw().'href="http://www.pspad.com/"><img src="'.CFD.'blog/pspad.png" alt="" /></a> <a '.nw().'href="http://www.heidisql.com/"><img src="'.CFD.'blog/heidisql.png" alt="" /></a> <a '.nw().'href="http://www.getpaint.net/"><img src="'.CFD.'blog/paintnet.png" alt="" /></a> <a '.nw().'href="http://www.mozilla-europe.org/cs/firefox/"><img src="'.CFD.'blog/firefox.png" alt="" /></a> <a '.nw().'href="http://www.wampserver.com/"><img src="'.CFD.'blog/wampserver.png" alt="" /></a> <a '.nw().'href="http://www.openoffice.cz/"><img src="'.CFD.'blog/openofficeorg.png" alt="" /></a></span>
18.2.2010 14:38
Úspěšně jsme dokončili testovací importy a začali do databáze vkládat desetitisíce entit - první sada jich přinesla téměř 45 tisíc! Nutno podotknout, že se nejednalo o strojově sebraná data a že po vytvoření datového slovníku prošel jeho obsah ještě ruční verifikací. Zdrojové soubory ve formátu TSV mají téměř 2 MB.
'Data pokrývají státy světa (u některých včetně správního členění), některá města, letiště, ulice a MHD v Praze, pár osob, firem, budov, seriálů a jejich epizod, filmů, skladeb, letadel a počítačových her.
21.2.2010 11:38
'Přidána možnost měnit barevné šablony - výchozí modrou je možné změnit na zelenou, žlutou, červenou, černou a bílou.
25.2.2010 00:14', 'Rozšíření vyhledávání',
'Ode dneška neslouží hlavní pole pouze k vyhledávání, ale pomocí speciálních klíčových slov lze s daty dále pracovat. Počet možností se neustále rozrůstá.',
'Příkaz DT zobrazí informace o datumu a času, GF pro Google Fight, TO pro konverzi (vzdálenost, jednotky, překlad), WHOIS pro informace o doméně, BC zobrazí čárový kód, DIVIDE porovná dvě hodnoty, SUN zobrazí informace o slunci atd.
26.2.2010 11:38
'V databázi je: SVĚT: státy, některá města, letiště, některá správní území. ČR: obce. Praha: čtvrtě, ulice, MHD. Dále některé osobnosti, firmy, seriály a filmy. Celkem aktuálně 50 073 entit a 135 670 atributů.',
'V případě zájmu doporučuji přečíst "Věděli jste, že.." na úvodní stránce, kde je napsáno, co všechno to umí :)
3.3.2010 10:34
Systém ukazuje své možnosti pomocí “Did you know” a napovídá možné entity pomocí “Did you mean”. Druhý jmenovaný využívá Levenshteinovu vzdálenost, která je aplikována na všechny atributy, jejichž délka je ±1 znak.
16.4.2010 8:52
S plánováním vydání pro širokou veřejnost je také nutné ošetřit, aby byla data ve zpracovatelném formátu. Proto bylo do editačního procesu přidána validační funkce a každému typu atributu bylo definováno, jakých “druhů” dat může nabývat.
1.4.2010 16:12
Statická textová nápověda byla doplněna o kontextovou nápovědu
21.4.2010 16:43
'Po značné optimalizaci importního systému .
3.5.2010 21:49
Kromě klasické editace entity atribut po atributu jsme připravili nové rozhraní, které zobrazí atributy (od každého jeden) entity v editovatelné tabulce. Pokud se tento způsob editace osvědčí, bude nasazen jako výchozí způsob.
11.5.2010 11:32
QetriX je na sociálních sítích <a '.nw().'href="http://www.facebook.com/pages/QetriX/188170430973"><img src="'.CFD.'blog/facebook-text.png" alt="Facebook" /></a> a <a '.nw().'href="http://twitter.com/qetrix"><img src="'.CFD.'blog/twitter-text.png" alt="Twitter" /></a>!
12.5.2010 11:32
'Web USA.QeX.cz začal využívat plugin přebírající data z QetriX Encyklopedie.
14.5.2010 7:05
'Zařazeno do Google Analytics.
22.5.2010 9:40
24.5.2010 12:38
'Přidali jsme globální odkaz na RSS a upravili vyhledávání pro implementaci OpenSearch pluginu pro vyhledávače.',
17.6.2010 9:40
25.7.2010 12:45
'Provedeno zefektivnění zakládání nových entit, nyní je to daleko rychlejší. Přesto
26.7.2010 7:45
'Je poněkud neobvyklé, aby byl blog založen až téměř rok po prvním příspěvku, ale díky evidenci komunikace a verzování zdrojových kódů bylo poměrně snadné blog zpětně doplnit.
3.8.2010 8:10
'Vkládání stále trvalo dost dlouho, což bylo celkem podivné - zase tolik výpočetně náročných operací se neprovádí. Zjistil jsem problém v SQL dotazu na generování cache nových entit a nyní již vkládání běhá svižně. Ještě svižněji lze entity zakládat také díky výběru typu entity pomocí roletové nabídky ve vyhledávacím poli.',
'Protože jsem si zase začal pohrávat s myšlenkou nějakého tenkého klienta pro PC/PPC, rozchodil jsem šablonu pro TSV.
8.8.2010 23:50
'Pro data, sbíraná po několik uplynulých týdnů, byl konečně napsán parser pro jejich vložení do databáze. Bylo vloženo 63 980 entit a v nich pak 29 703 atributů a 46 266 vazeb. Nově tedy spravujeme již přes čtvrt milionu entit s celkovým počtem 550 600 záznamů!
11.8.2010 8:09
'Nově většinu operací řídí AJAX. Při vypnutém JavaScriptu ovšem aplikace funguje běžným způsobem. Byly opraveny některé nedostatky, např. neskrývání našeptávače při nenalezení žádných relevantních entit nebo nemožnost otevřít odkazy do nového tabu pomocí Ctrl+klik.
15.8.2010 16:39
'<a '.nw().'href="http://maps.google.cz/"><img src="'.CFD.'blog/google-maps.png" style="float:right;margin-left:10px;" alt="Mapy Google" /></a>Pracoval jsem na <a '.nw().'href="'.D.'map.php?a=271">implementaci</a> Google Maps. Zobrazení na celou stránku mi zavařilo při pokusu o vložení horní lišty, protože tlačítka na přepínání mapových podkladů (Mapa, Satelitní, ...) byla pod ní. Po několika hodinách zkoušení, kdy došlo až na JavaScriptové hledání DOM elementu přepínačů uvnitř map kvůli nastavení z-indexu (podařilo se, ale nebylo to nic platné), jsem rezignoval a přepínače umístil dolů.',
'Kromě zobrazení pozice na mapě lze v EDIT režimu marker přesouvat a tím editovat souřadnice. Google navíc umožňuje zjistit nadmořskou výšku. Dále je možné zobrazit entity v určitém okruhu, což vedlo k implementaci první vyhledávací mapy.
17.8.2010 21:35
'Poslední dobou věnuji úpravám opravdu hodně úsilí a přijde mi, že se pomalu začíná vyplácet.
17.10.2010 20:19
'Ne, že by se tu nic nedělo, spíš jsem přes záplavu úprav nestíhal psát :) Hlavně jsem začal ze skříně vyndávat kostlivce. Tím prvním byl FEEDBACK systém. Ano, mohl jsem použít některý stávající, ovšem žádný mi zdarma nenabízí to, co bych od toho očekával.
12.1.2011 14:30
'<a '.nw().'href="http://www.wikidi.com/"><img src="'.CFD.'blog/wikidi.png" style="float:right;margin-left:10px;" alt="Wikidi.com" /></a>Na tuzemských serverech vzniká pod vedením Michala Illicha (zakladatel vyhledávače Jyxo) projekt české strukturované databáze s úvodními importy dat z FreeBase, které před nedávnou dobou koupil Google.
20.1.2011 21:06
'V amerických zábavních parcích Six Flags si přednostní vstup na atrakce můžete zaplatit, v Disneyho parcích si na konkrétní atrakci může přednostní vstup zařídit každý. U nás
26.2.2011 23:09
'S blížícím se releasem první veřejně propagované bety se stále více zaměřuji na uživatelský komfrot. Stále v něm jsou značné rezervy a stále si myslím, že obyčejný smrtelník se v tom prostě musí ztratit :)
25.5.2011 16:24
'<a '.nw().'href="http://forum.lupa.cz/"><img src="'.CFD.'blog/forum-lupa-cz.png" style="float:right;margin-left:10px;" alt="Fórum Lupa.cz" /></a>Protože jsem potřeboval "kopanec" pro další vývoj, rozhodl jsem se nahodit <a '.nw().'href="http://forum.lupa.cz/index.php?topic=1081.0">příspěvek</a> na fórum "serveru o českém internetu" - Lupa.cz. Kritika se pochopitelně snesla na data v databázi, i na nepřehlednost uživatelského rozhraní. Jeden z diskutujících mi pak poslal obsáhlejší e-mail, který jsem si mnohokrát pročítal a na jeho základě se rozhodl pro radikální změnu.
2.6.2011 16:24
'Bing, Google a Yahoo představili schema.org, obsahující doporučené sématické označení dat určitého typu na HTML stránkách tak, aby při indexování byly pro vyhledávače snadněji pochopitelná. Na základě těchto doporučení jsem provedl drobnou úpravu atributů příslušných entit a
16.7.2011 18:18
'Po téměř dvou měsících práce byly konečně dodělány všechny klíčové funkcionality nové verze. Největším problémem byl přechod na upravené databázové schéma, které vyžadovalo zásah do všech využívaných skriptů.',
'Největším cílem byla minimalizace počtu akcí nutných pro provedení určité aktivity, při zachování malého počtu ovládacích prvků a maximální srozumitelnosti.
24.7.2011
23.7.2011