Profile cover photo
Profile photo
Michal Illich
1,965 followers
1,965 followers
About
Posts

Post has attachment
Na co se těším na letošní http://devel.cz/konference ?

Na Jakuba Nešetřila: Jakuba jsme přemlouvali k vystoupení posledních 5 let, ale pokaždé byl mimo ČR. Nyní nám šéf Apiary ve formě moderovaného Q&A poví o tom, jaké je to budovat globální firmu se sídlem v Kalifornii a vývojem v Praze.

Na Tomáše Plcha: Osobně jej neznám, ale hra Kingdom Come vypadá úžasně ve všech směrech: grafikou, námětem i realistickým, otevřeným světem s mnoha postavami. Tomáš bude přednášet o umělé inteligenci v téhle hře.

Na Jamese Halla: Ředitel firmy Paralax přiletí z Británie a představí "nekonečně škálovatelné" řešení pomocí Amazon Lambdy.

Na Ondřeje Žáru (je poměrně jedno, o čem přednáší, vždycky má rekordní hodnocení od účastníků za zábavnost přednášky).

Na Kateřinu Veselovskou: Kateřinu jsme pozvali poté, co jsme viděli na Twitteru nadšené reakce na její přednášku na jiné konferenci :) Tak jsem zvědavý, jaké to bude naživo. Její ignite talk se jmenuje "Automatický sentiment aneb Kam spěje svět"

Na co se těšíte vy?
https://devel.cz/konference
Add a comment...

Post has shared content
Amazon estimates that a 1 second page load delay would cost them $1.6 billion in a year. Keep customers happy with these 6 tips to increase site speed! 
Add a comment...

Post has shared content
Meet our awesome new product owner and the newest member of Team Testomato, Monika! 
Add a comment...

Přiznání: Nemám rád bitcoiny.

Ok, muselo to ven, i když vím, že tenhle názor není mezi ajťáky populární :)
Co se mi na nich nelíbí:

1. Lehce se ztratí. Buď je člověk má v nějaké cloudové službě a riskuje, že mu peníze někdo ztratí (viz http://en.wikipedia.org/wiki/Mt._Gox - kdysi dělali 70% bitcoinových exchangí, dnes jsou v bankrotu a $450M kdesi pryč).
Nebo si peněženku provozuje sám a riskuje, že si je ztratí sám (selže mu disk a zálohy nebo zapomene heslo).

2. Transakce jsou veřejné. Do mých bankovních transakcí vidí málokdo (pouze banka a v případě soudního příkazu stát), zatímco do bitcoinových transakcí vidí každý. Tedy ten, kdo ví, že nějaká konkrétní transakce je vaše, tak může odvodit, které další transakce asi patří k vám. Více k tématu http://www.forbes.com/sites/timothylee/2011/07/14/how-private-are-bitcoin-transactions/ a navazující https://activerhetoric.wordpress.com/2011/07/14/bitcoin-more-covert-than-it-looks/ který popisuje, jak transakce částečně utajit (ale zdaleka ne na stejnou úroveň jakou mají banky).

3. Transakce jsou poměrně pomalé. Původní návrh počítal s 10 minutami na transakci, aktuální průměr je 7,5 minuty. To je oproti pár sekundám u platební karty příliš. A ano, vím, že karetní společnosti ty peníze pošlou až za pár dnů. Ale jako zákazníkovi je mi to jedno, protože ty společnosti tu transakci potvrdí rovnou. Jinak ale věřím, že zrovna tahle nevýhoda je dobře odstranitelná. Jedna z možností je třeba http://www.ultimatestunts.nl/bitcoin/fast_transactions.html

4. Transakce jsou nevratné. Chyby se stávají a je docela fajn, že třeba platební karty poskytují nějaké mechanismy pro reklamace nebo kompenzaci při ukradení karty. Ale u bitcoinů se nedá transakce nijak vrátit.

5. Žere spoustu elektřiny.
Odhady se podstatně liší - článek na Forbesu z roku 2013 říkal $15M za den: http://www.forbes.com/sites/timworstall/2013/12/03/fascinating-number-bitcoin-mining-uses-15-millions-worth-of-electricity-every-day/
Tenhle článek říká, že míň: https://medium.com/@interdome/how-much-electricity-does-bitcoin-use-c350bd84c64e
Stejně mi to přijde hodně a na to, jak relativně málo reálných transakcí probíhá, je cena za provoz bitcoinového ekosystému o několik řádů vyšší než jakou by měl tradičnější systém elektronické peněženky.

Neříkám, že si bitcoiny nikdy nekoupím. Na spekulaci a na vyzkoušení nejspíš ano, dokonce myslím, že se na nich stále dá slušně vydělat. Ale za budoucnost placení bitcoiny nepovažuju. To jest musel by se ten koncept významně změnit, abych je začal jako platidlo uznávat.
Add a comment...

Post has attachment
Pořádáme další http://devel.cz/konference - prvních 100 lístků se prodalo za 3 hodiny, nyní jich zbývá 164.
Add a comment...

Post has shared content
You can now duplicate & delete multiple tests!

Hold SHIFT and click to select test boxes in your dashboard: http://testomato.com
Photo
Add a comment...

Post has attachment
Jak hledat podobné tweety moderně

+Josef Šlerka (mimochodem skvělý chlapík a Osobnost českého internetu) vydal před pár dny slajdy (http://www.slideshare.net/josefslerka/fingerprinting-42124415), jak fingerprintuje posty (zřejmě tweety a fb), aby našel ty "hodně podobné".
Já jsem se nechal na Twitteru slyšet (https://twitter.com/michalillich/status/538304531290157057), že tenhle způsob je zastaralý a lépe je to dělat pomocí slovních vektorů. A jelikož to vyvolalo dost vyhrocenou diskuzi, tak sepíšu rešení podrobně.

Problémem simhashe je zaměření na písmenka.

Co myslíte, je pro problém hledání podobných postů důležité, jak staří Římané seřadili písmenka v abecedě (a jak jsou v ASCII tabulce)? Podle simhashe je písmenko 'a' (01100001) mnohem podobnější 'c' (01100011) než třeba 'z' (01111010). Viz http://www.neurophys.wisc.edu/comp/docs/ascii/ascii-printable.html
A tahle pseudonáhodná písmenková podobnost se pak ještě znásobí na úrovni slov. Vznikne tak stav, že simhash některá slova považuje za podobná některým jiným stylem, který člověk vnímá jako náhodný.

Pokud vás právě napadlo, že "náhodnost je přece podstatou hashů!", tak máte pravdu. Obvykle hashujeme právě proto, abychom data rozprostřeli náhodně a například se tak vyhnuli kolizím. Ale pamatujete, že Josef chtěl najít posty, které jsou si "hodně podobné"? Dost zvláštní, že si jako první krok vybral metodu, která vytváří náhodnost.

Co ve skutečnosti potřebujeme

V prvém kroku potřebujeme pravý opak hashování! Chceme, aby se nám podobná slova dostala k sobě. A podobná myslím zejména na základě významu (a teprv sekundárně podle syntaxe či dokonce vnější podoby).
Naštěstí k tomu existují snadné metody. Tomáš Mikolov s kolegy představil před pár lety word2vec (http://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf), což je naprosto geniální věc.

Takže nejdřív si každé slovo převedete na jeho slovní vektor. Ty máte předpočítané, takže je to superrychlé. Slovní vektor je sada (obvykle stovek) čísel, která vyjadřují význam a syntaxi toho slova. Přičemž podobná slova mají podobné vektory.

Takže nejpodobnější ke slovu "cat" bude slovo "cats".
A ke slovu "pen" budou nejbližší postupně "pens", "pencil", "quill".
Pohrát si s vektory můžete zde:
http://radimrehurek.com/2014/02/word2vec-tutorial/

Mimochodem, potud jsme to ve Wikidi implementovali (pro tweety) a skutečně metody používající word2vec vyhrávaly v přesnosti (subjektivně i objektivně měřené) nad ostatními metodami (zaměřenými na vnější podobu jako u simhashe nebo používající třeba LDA).

Teď chceme navíc, aby to bylo rychlé. A možností máme hodně, uvedu dvě nejvýznamnější:

Rychlé hledání přes K-means clustering a index

Slova si předem podle slovních vektorů naclusterujeme do K clusterů (třeba 65536). Takže pak při hledání nepoužijeme jako reprezentaci slova jeho slovní vektor, ale jen krátký index, který má třeba 16 bitů.
Pak pro N-slovný tweet jen koukneme do N seznamů a spočítáme si, který post jsme v nich potkali nejvíckrát. Pokud máme v databázi M postů, tak je složitost O(N*(M*N/K)).
(a pomocí bloom filterů se to dá ještě zrychlit.)

Rychlé hledání pomocí bitového pole a ANN

Druhá možnost je převést si vektory na bity. Vytvoříme si vektor celého postu. Ideálně místo word2vec použijeme doc2vec (http://radimrehurek.com/gensim/models/doc2vec.html) nebo jestli chceme být punk, tak prostě zprůměrujeme vektory jednotlivých slov. To zní naprosto šíleně, ale z nějakého záhadného důvodu to funguje v praxi dost slušně.

Jak máme vektor postu, tak si jej můžeme kvůli snížení nákladů na uložení na disk zmenšit na bitové pole. Osobně bych asi dal dva bity na každou hodnotu (10 horní tercil, 00 prostřední tercil, 01 dolní tercil), ale jeden bit (nadprůměr/podprůměr) by mohl fungovat taky.

Pak použijeme approximate nearest neighbour search (například knihovnu https://github.com/spotify/annoy od Spotify), která bude pro tyhle data hledat odhadem stokrát rychleji než naivní lineární průchod.

Závěr

Všimněte si, že jsem nakonec hashování, indexování a podobné metody (které jsou součástí ANN) taky použil. Ale vtip je v tom, že je nepoužiju v první fázi (kde škodí), ale až v druhé fázi (kde pomáhají).
V prvé fázi naopak potřebuju prostředek, který mi podobná slova dostane k sobě a ne je hashováním rozstřelí pryč.

Výsledkem je postup, který je jednoduchý na implementaci (na vše výše zmíněné jsou kvalitní opensource knihovny), rychlý a usporný ve vyhledávání a věřím, že i mnohem přesnější.

Mimochodem, pokud jste to dočetli až sem, pojďte k nám pracovat:
http://www.jobs.cz/rpd/915013264/
Add a comment...

Post has attachment
Sbohem a díky, Palme. Konec jedné éry.
Zleva doprava:
- Handspring Treo 180 (2002)
- PalmOne Treo 600 (2004)
- Palm Treo 680 (2006)
- Palm Pixi Plus (2010)
- Palm Pre (2009)
- HP Pre 3 (2011)
Photo
Add a comment...

Kterak jsem dnes doma o všechna data na disku přišel a ani to nevadilo.

Dnes ráno zapnu počítač a než stihnu něco udělat, zamrzne prohlížeč a pár sekund poté celý systém. Restartuju a BIOS hlásí, že nenašel žádné bootovatelné zařízení. Ani po třech dalších restartech. Beru mrtvý disk (Vertex 4) do práce a ani tam ho nejsme schopni oživit :(

Tak jsem si objednal nový disk (Samsung 850 Pro), večer ho Alza (s několikahodinovým zpožděním) dovezla. Instalace (Kubuntu 14.10 B2) během půl hodiny hotová, další hodinu mi zabralo přizpůsobení prostředí (připojení na server, cryptsetup, doinstalování pár balíčků, úprava zkratek, atd.).

Proč to ale píšu: je poměrně kuriózní, že mi po kompletní ztrátě jediného disku v mém domácím počítači nic nechybí. Považte:

1. Všechnu aktuální práci (dokumenty, maily, obrázky, faktury, atd.) mám na šifrované klíčence. Aktuálně 63 GB, které mám tímhle způsobem okamžitě k dispozici doma i v práci.
2. Fotky, videa, zálohy, atd. na domácím serveru. Ze zálohy jsem obnovil akorát adresář ~/.mozilla.
3. Pár věcí mám v cloudu - vlastně pouze Firefox Sync (hesla, šifrovaně samozřejmě), Pocket (read it later) a pár Google dokumentů.
4. Zdrojáky ve firemním gitu.

Takže sečteno a podtrženo, o co jsem přišel? Pouze o hry :) Ale vzhledem k tomu, že jsem za poslední půl rok hrál jen dvě, tak žádná velká škoda. Navíc informace o tom, že je mám zaplacené a jaký mám založený profil, jsou opět kdesi v mracích (Steam a Battle.net).

Tedy počítač je už teď "tenký klient", kde toho moc není. Ale nevypadá to tak, jak nám před lety velké firmy říkaly: že tenký klient bude levný a výpočty budou na serveru. Naopak: naše počítače jsou výkonnější než kdy dřív, a pouze data jsou kdovíkde (v mém případě na domácím serveru, klíčence, firemních serverech a jen pár promile v cloudu).
Add a comment...

Post has shared content
#NewFeature: Drag & Drop sorting for test boxes on project dashboards!

Test it out now and let us know what you think: http://testomato.com/

#testingtools  
Animated Photo
Add a comment...
Wait while more posts are being loaded