<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-254288990468143809</id><updated>2012-02-28T06:24:05.618+02:00</updated><category term='mtune'/><category term='www'/><category term='GCC'/><category term='march'/><category term='opencv'/><category term='Eagle'/><category term='N channel MOSFET'/><category term='sünnipäeva probleem'/><category term='TFT'/><category term='MySQL'/><category term='optimeerimine'/><category term='H-Bridge'/><category term='andmebaas'/><category term='FreeRouting'/><category term='IT'/><category term='PSP'/><category term='H-Sild'/><category term='veeb'/><category term='renesas'/><category term='3D vision'/><category term='LCD'/><category term='birthday problem'/><category term='birthday paradox'/><title type='text'>Tõnu Samuel</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-4396126018713649396</id><published>2012-01-06T06:21:00.004+02:00</published><updated>2012-01-06T06:22:36.477+02:00</updated><title type='text'>Üleskutse eesti muusika promomiseks</title><content type='html'>Vika Yermolyeva on koloriitne elukutseline klaverimängija, kes mängib Youtubes ka tellimuslugusid rokkmuusikast klaveril.&amp;nbsp;&lt;a href="http://www.vkgoeswild.com/?section=video&amp;amp;PHPSESSID=c332d021b49a29e90422cf081158cd41" target="_blank"&gt;Siin&lt;/a&gt;&amp;nbsp;näeb tema seniseid tegemisi.&lt;br /&gt;&lt;br /&gt;Eesti muusikas on tekkinud huvitav komplekt Valter Ojakäär, Leelo Tungal, Heli Lääts ning Metsatöll, kelle loodud on vähemalt kaks varianti loost "Oma laulu ei leia ma üles".&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://3.gvt0.com/vi/jze1HJLUp7c/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jze1HJLUp7c&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/jze1HJLUp7c&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;Originaalis aastal 1967 esitatuna Heli Läätse poolt ning nüüd siis Metsatölli esituses:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/Xbg9iDpQp00/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Xbg9iDpQp00&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/Xbg9iDpQp00&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;Kuna tegemist on siiski meie sooviga võiksime teha korjanduse. Parim võimalus selleks on annetada Viktorijale otse kasutades PayPali. PayPalis saab maksta iga krediitkaardiga. Link maksmiseks on lehel&amp;nbsp;&lt;a href="http://www.vkgoeswild.com/?section=requests"&gt;http://www.vkgoeswild.com/?section=requests&lt;/a&gt;&amp;nbsp;ning ma paluks teha makseid viis eurot või enam kuna PayPal võtab teenustasusid ning annetades üliväikeseid summasid võivad teenustasud ületada saadud summa.&lt;br /&gt;Üldjuhul Vika palub annetada 90 eurot loo kohta aga ma arvan, et me võiksime igaüks anda midagi ning mitte sorida tema rahakotis teada saamaks lõplikku summat.&lt;br /&gt;Vikaga on esmane nõusolek olemas vältimaks varianti, kus ta ei saa või ei soovi antud lugu teha. Ja ärme pahanda kui ta leiab, et mõni teine lugu on palju parem tema esituses ning ta otsustab mõne teise kasuks.&lt;br /&gt;Et palun levitada oma tutvusringkonnas ning leida natuke raha toetamaks head üritust Eesti kuvandi loomisel.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-4396126018713649396?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/4396126018713649396/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=4396126018713649396&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4396126018713649396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4396126018713649396'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2012/01/uleskutse-eesti-muusika-promomiseks.html' title='Üleskutse eesti muusika promomiseks'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-4128734548104249917</id><published>2011-11-23T10:35:00.001+02:00</published><updated>2011-11-23T16:37:46.293+02:00</updated><title type='text'>Kolmas kuu Jaapanis</title><content type='html'>Ma elan ja töötan Jaapanis viimased kolm kuud. Ma millalgi kirjutasin Facebooki teemal "&lt;a href="https://www.facebook.com/note.php?note_id=227979183917484"&gt;Esimesed päevad Jaapanis&lt;/a&gt;" ning see sai üsna hea vastuvõtu. Nüüd paar kuud hiljem olen natuke rohkem siinse eluga kursis kuid samas on see viimane aeg maha kirjutada kogemus. Hiljem kaob võime asju näha nagu alguses.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Jaapan algajale&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Üks selle postituse mõte on olla abiks inimesele, kes tuleb Jaapanisse esmakordselt ning peab algusest peale &amp;nbsp;hästi käituma ja seda ka siinses kultuuris, mitte meie omas. Ma kiidan &lt;a href="https://www.facebook.com/people/Gert-Teder/100000172837791"&gt;Gert Teder&lt;/a&gt;it enda õpetajana Päästeametist, kes pidas meile koolituse teemal "Mida peaks kindlasti enne X välisriiki minemist tegema". See X antud juhul asenda mingi hirmsa riigiga, millest me teame võimalikult vähe. Tema rääkis näiteks Pakistani kogemusest, kus teadagi on islami äärmuslased olemas ning tema sattus turbanite ja sirpidega varustatud meeste keskele, kes hakkasid uurima, et kas teie riigis ikka Allahit usutakse. Et kes tausta teab, siis Allahi mitte uskumine on nende kultuuris surmapatt ning tapetakse ka põhjustel, et sa kuulud valesse Allahi subkulturi (šiidid ja sunniidid näiteks). Et mida vastad? Aus vastus Eestist kui maailma kõige Ateistlikumast riigist ei pruugi olla hea variant. Samas ei tahaks nagu Allahi meestele mingit udu ka ajama, et koraanist midagi tead. Jaapanis küll ei tapeta aga mingeid muid kirjutamata reegleid rikkuda on alati kerge. Mina tegin ära suure töö enne siia tulemist lugedes Wikipediast Jaapani kohta võimalikult palju informatsiooni. Minu puhul polnud tegemist päris uue asjaga, sest olen elanud Hong Kongis ning kui panna mõttelisele teljele Eesti, Euroopa, Hong Kong ja Jaapan siis Hong Kong on kindlasti neile lähedasem. Samas ma tean, et iga hiinlane ütleb selle peale, et Hong Kongis pole midagi hiinalikku ja täna küsisin siin kuus aastat elanud hiinlaselt, et mis temale tundub erinev võrreldes hiinaga? Vastus oli "Everything" ehk kõik. Meile aga tunduvad nad üsna sarnased eks :). Allikad, millest minul oli enne siia tulekut kasu on Wikipedia ning suur abi on ka kogu saidist &lt;a href="http://www.japan-guide.com/e/e623b.html"&gt;japan-guide.com&lt;/a&gt;. Viimane on eriti abiks kuna sealt saadud nippidega säästsin juba Tokyo Narita lennujaamas paarkümmend eurot ja nii aina edasi. Et igal juhul kultuuriliselt kaugele minnes:&lt;br /&gt;&lt;br /&gt;1. Loe läbi antud riigi kohta käiv leht Wikipedias. Pane sealt kõrva taha nende riigi pindala, rahvaarv, tähtsaimad usundid jms.&lt;br /&gt;&lt;br /&gt;2. Uuri riigi ajalugu. Eestisse tulles näiteks on kasu teada, et on olnud 700 aastat okupatsiooni, meil on kaks suuremat rahvasust ning viimase 100 aasta ajalugu võiks ka kümnendite kaupa ajalugu umbes teada. Jaapanisse tulles tasub teada, et see riik ajalooliselt pole mitte kunagi olnud okupeeritud enne Teist Maailmasõda, et keiser on pühalik olevus, kes on rahva poole Jaapani ajaloos pöördunud ainult kaks korda (siinkohal oleks hea ka teada, millal ja miks) ning mis juhtus Mongoli khaani sõjalaevastikuga. Lisaks peaks teadma Meiji perioodist, et mis see on ja mis edasi sai. Selline teave väldib piinlikke olukordi ja jätab sinust mulje kui intelligentsest inimesest. Faktid siin Jaapani kohta on natuke meelevaldsed. Et kui&lt;br /&gt;&lt;br /&gt;3. Võimaluse korral õpi mõni väljend selgeks (ma hiina kohta annaks muide vastupidise soovituse. Võid kogemata midagi väga roppu öelda. Mul ükskord igatahes paluti enam seda mitte öelda kuigi oma arust ütelsin "jah").&lt;br /&gt;&lt;br /&gt;4. Ole valmis vastama paarile küsimusele enda ja oma riigi kohta. Mina näiteks panin Wikipediast kõrva taha, et Eesti on 1% Jaapani rahvaarvust ja 10% pindalast. Selline suurusjärkude mõõtkava teeb ka kuulajatele asja lihtsamaks. Eestit just liiga palju ei teata kuid üsna hästi mõjub neile näiteks Skype mainimine. Et seda nad teavad ning kui sa teatad, et see ongi meie toode saab tihti nende esmase uudishimu rahuldatud ning ei pea tunnistama, et meil polegi eriti midagi muud vist, mida nad teaks.&lt;br /&gt;&lt;br /&gt;Üldiselt on Jaapanlased välismaalaste suhtes üks tolerantsemaid rahvaid, keda ma olen näinud. See tähendab ka seda, et nad ei ütle iial kui sa midagi valesti teed. Samuti nad vahel võivad minna kaasa sinu vigadega ja teha asju, mida nad ise iial ei teeks. Aga kolm asja, mis tõesti on klassist "ära iial tee":&lt;br /&gt;&lt;br /&gt;1. Ära iial pane riisi või mõne muu toidu sisse söögipulki püsti seisma&lt;br /&gt;2. WC-st tule alati välja pestud kätega. Meie mõistes siin neid pesta ei saagi kuna seepi pole kuid märjaks tuleb käed alati teha.&lt;br /&gt;3. Jälgi täpselt, kuhu välisjalatsitega võib minna. Nendel on väga täpne joon, kus pool need võivad olla ja kust alates käiakse sokkides või sisejalatsitega. Ka WC-s on eraldi jalatsid.&lt;br /&gt;&lt;br /&gt;Ja lõpuks iga reisi tüüpjuhis: Kui sa ei tea, siis püüa teha nagu nemad.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Jaapani keel&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ma tulin Jaapanisse koos nullteadmisega nende keelest. Ma teadmiste tase oli "arigato" ja "sajonara". Mul on algusest peale firma palgatud eraõpetaja, kes tegeleb viis tundi nädalas ainult minuga ja tänu sellele on mul tunne, et paar kuud veel ja räägin keelt. Minu taust on hetkel selline, et räägin lisaks emakeelele lapsest saati vene keelt ning arvutid on selgeks õpetanud inglise keele. Lisaks olen Hong Kongis uurinud omal käel kantoneesi keelt ja loobunud selle õppimisest kui "võimatu". No kuidas sa saad selgeks keele, milles on igale silbil üheksa erinevat hääldust ja nendel pole mingit seost? Kui lapsest saati seda ei räägi ja ei kuula siis see on üsna võimatu. Vene keele susisevad on sama asja sada korda lihtsam vorm. Nonii, ma natuke pelgasin seda keelt. Aga üsna ruttu tekkis arvamus ja on seda siiani, et Jaapani keel on triviaalne! Esiteks hääldus on sama mis meil. Mitte mingeid imevigureid ei pea oma suuga tegema. Kui on kirjas "arigato", siis ta on "arigato". Teiseks suur osa Jaapani sõnu on võõrsõnad inglise keelest. Kui inglise keelt enne oskad, tead juba suurt osa vajaminevast. Näiteks on supermarket siin "suupa" ja meie bensukate moodi kõike esmavajalikku müüvad poes "kombiini" (sõnast convenience store). Sisuliselt on vaja mingit hulka sõnu ja mingit lauseehitust ja hakka rääkima. Vene keele teadmine teeb mulle asja lihtsamaks kuna näiteks omadussõnade lõpud on sarnased. Vene keeles krasnõi vms on alati i lõpuga ja seda ka siin. Kohati avastan ennast mõttelt, et naaberrahvad ehk ongi teineteiselt selle kopeerinud. Eestlasele on ka see loogiline, et käänded ja paljud muud keele elemendid käivad sõna lõppu. Et kui ütlen "mina (olen)" või "minu (oma)" siis siin on vastavad väljendid "wataši wa" ja "wataši no". Et minu meelest üsna lihtne keel.&lt;br /&gt;&lt;br /&gt;Nüüd asjad, mis on "kuul pähe" keerulised õppida Jaapani keeles on mõningad erandid. Näiteks arvude õppimisel on üks, kaks kolm vastavalt ichi, ni ja san. Aga sellest ei piisa. Sest näiteks kui sa tahad mingeid füüsilisi esemeid, mida loendada annab siis kasutatakse teisi numbreid, nagu hitodzu, futadzu, midzu. Näiteks Mitsubishi tähendab "kolm kalliskivi". Ja selliseid paralleelsüsteeme on neil kümnetes. Sisuliselt saavad nad aru küll kui kasutad tavanumbreid kuid nendel teeb nummerdamine tihti ära selle, mida teistes keeltes teeb sugu. Et kellestki inglise keeles rääkides me saame aru ju, et kas tegemist on naisega. Siis Jaapani keeles näiteks saad juba nummerdusest aru, et tegemist on õhukese asjaga nagu paberileht või kuupäev või miski muu. Samas see kraam on välismaalasele hullumeelne õppida.&lt;br /&gt;&lt;br /&gt;Teine asi on kirjasüsteem. Jaapanis on paralleelselt kasutusel kolm kirjasüsteemi, mida meie ei kasuta. Lisaks nendele on kasutusel ladina tähed, Rooma numbrid jms. Osa häda algab sellest, et kui sa loed mingit krõnksu, siis meiesugune ei tea, millises tähestikus see üldse on. Lisaks hieroglüüfidele omaselt ei kasutata tühikuid, mis muudab asja veel hullemaks. Hea uudis aga on see, et kui oled natuke seda asja õppinud, siis Hiragana ja Katakana (kaks Jaapani kirjasüsteemi) on mahult nagu meie tähestik ja neid õpib paari kuuga lugema. Ja kui neid tead, siis ainuüksi kasutatud kirjasüsteemist saab osakonteksti kätte. Kusjuures need süsteemid kattuvad osaliselt. Katakana on kasutuses võõrsõnade juures. See aitab kohe mõelda, et oot-oot, äkki ma tean mingit sarnast inglisekeelset sõna? Siis tuleb juba pähe et "ah soo, selle liitrise paki peal on Katakanas kirjas Kohee ehk siis kohvi. Aga et asi ei oleks lihtne on neil kasutusel Kanji, mis on sisuliselt Hiina kirjakeel. Selle baastasemel &amp;nbsp;mõistmiseks on umbes 2000 märgi õppimist ning Aasia kultuurides õpitakse seda ka ülikoolis, sest neid sümboleid on kasutusel mitukümmend tuhat ning ainuüksi nende oskamine on harituse näitaja. Lisaks on Hiina kirjakeele (ja ka teiste) oskamise osa teadmine, kuidas neid käsikirjas kirjutatakse. Seda on vaja mitmete asjade juures, näiteks tähestiku moodustamisel tähtedest. Nad on järjekorras selle järgi, mitu pulka on tähe joonistamisel vaja teha. Näiteks selline ilus neljakandiline kuubik ei ole mitte neli pulka vaid kaks, kuna teda just niimoodi tušiga &amp;nbsp;joonistades tehakse.&lt;br /&gt;&lt;br /&gt;Kanji on suur ja keeruline. Samas seda annab endale lihtsamaks teha kuna ajalooliselt on tegemist piktogrammidega. Et iga Kanji on tegelikult tuletatud mingist visuaalsest kujundist reaalses elus. Kui keegi seda sulle õpetab, siis polegi asi nii hull.&lt;br /&gt;&lt;br /&gt;Ega siin jõua üldiselt kõike ära rääkida kuid siia sattunu võiks teada, et lihtsalt "arigato" või "sajonara" ütlemine on natuke ebaviisakas. Jaapani keel ja kultuur on täis viisakusavaldusi ning neid tuleb igale poole õigesti toppida, muidu jääb sinust halb mulje. Näiteks "sina" ja "teie"on siin sama sõna nagu inglise keeleski aga seda pole viisakas kasutada kuna on liialt familiaarne. Arigato öeldakse ka ainult peresiseselt ja võõtastele ütled vähemalt arigatogosaimas. Kusjuures mida pikemaks seda lõppu venitad, seda viisakam on. Viisakusväljendid kipuvad algama pika O tähega ja lõppema "mas". Seda on kerge kuulda isegi kui keelt muidu ei oska. Ja kui õiget väljendit ei tea või ei mäleta võid vastata mingi osodipodimasss ja kõik on rahul.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Jaapani kuupäevasüsteem&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Üks üllatav asi minule oli, et Jaapan kasutab lisaks meile tuntud aastatele nagu 2011 ka &lt;a href="http://en.wikipedia.org/wiki/Japanese_era_name"&gt;oma süsteem&lt;/a&gt;i, mis on seotud keisrite valitsemistsüklitega. Näiteks praegu on aa&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;sta 23&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white; line-height: 19px;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Heisei"&gt;Heisei&lt;/a&gt;&amp;nbsp;(&lt;span class="t_nihongo_kanji" lang="ja" xml:lang="ja"&gt;平成) ajastus&lt;/span&gt;&lt;/span&gt;&amp;nbsp;ning&lt;/span&gt; allolev šokolaad vananeb pisut varem kui esmalt võiks arvata:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-8racUqZub7k/Tsz3Cw9IS3I/AAAAAAAAAdk/ZuJoWn7DDbY/s1600/DSC_0193.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-8racUqZub7k/Tsz3Cw9IS3I/AAAAAAAAAdk/ZuJoWn7DDbY/s320/DSC_0193.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Kusjuures kui keiser peaks näiteks enne ära surema kui see šokolaad vanaks läheb, siis ongi süsteem lolliks läinud kuna antud aasta ei saabugi enam. Ja et elu liiga lihtne ei oleks siis tavaliste kalendripäevade nimed pole kõnekeeles nummerdatud vaid igale päevale on antud mingi nimi ja neid peab peast teadma :(.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Maavärinad&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ma olen esimest korda elus maavärinate piirkonnas ja see tekitas alguses kõhedust. Nüüdseks aga olen täiesti nendega harjunud. Alla viie palli maavärinaid inimene ei kipu tundma ja 5 palli on umbes selline nagu Tallinnas tunned kui tramm majast mööda sõidab. Eesti ajakirjanikud ilmselgelt ei saa vahel asjast aru ning kirjutavad ka selle kohta, et Jaapanis oli tugev maavärin. Ei olnud! Sellise tugevusega maavärinad on siin umbes kord nädalas. Ja üldjuhul inimene neid ei märka kuna magab sellel ajal või sõidab autoga vms. Lisaks kui kuskil on kuus palli ja räägitakse surnud inimeste hulgast siis tegelikult on see ülepaisutatud teema. Surrakse reeglina kuskil madalalt arenenud riigis kuna maavärina tagajärjel kukkus lillepott kellegi viienda korruse rõdult alla ja otse pähe või lihtsalt kukub Marja pood kokku. &amp;nbsp;Peale &lt;a href="http://en.wikipedia.org/wiki/1923_Great_Kant%C5%8D_earthquake"&gt;1923 aasta Tokyo maavärinat&lt;/a&gt; sai selgeks, et õigesti maju ehitades need elavad selle üle ning Jaapan on sellest ajast ehitanud kõike arvestades väga tugevate maavärinatega. Ka Fukushima teema on üle paisutatud. Eestlane ehk ei taju aga Fukushima on Tokyost umbes sama kaugel kui Põlva Tallinnast ning tegelikult pole katastroof üldse nii suur. Need maavärinad ei levi lõputult kaugele ning mõnisada kilomeetrit eemal on juba üsna vaikne. See tähendab, et ükskõik kui suur maavärin Jaapanit peaks tabama siis reaalselt on väike tõenäosus seda tunda. Jaapanis on aastaid olnud ka üsna kohustuslik ehitada igasse telerisse ja raadiosse mehhanism, et see lülituks ise sisse kui tuleb mingi oluline hoiatus edastamisel. Kamakuras, kus ma elan on silmaga näha ka suured valjuhääldid, millega inimesi vajadusel hoiatada saab. Kusjuures maavärin on suhteliselt väike oht. Reaalne oht nagu ka Fukushimas juhtus on hiidlained. Üks eriti koloriitne &lt;a href="http://en.wikipedia.org/wiki/1896_Meiji-Sanriku_earthquake"&gt;juhtum on Jaapani ajaloost aastal 1896&lt;/a&gt;, kus maavärin oli nii nõrk, et pidusid peeti edasi ja ei tehtud asjast välja. Hukkus 22 tuhat inimest. Tänapäeva erinevus seisneb selles, et antud asja annab avastada ning inimesed eelnevalt evakueerida. Siin maavärinas surma saada on sama tõenäosus, mis Eestis meteoriidiga pähe saada.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Pangakaardid ja pangad&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Üks asi mille peale hästi ei tule, et meie pangakaardid ei toimi Jaapanis. Täpsemini öeldes on enamus automaate isegi sellised, mis on küll ühendatud mingisse sissemisse süsteemi aga välismaise kaardiga midagi teha ei oska. Et kui oled Jaapanisse sattunud ja hädas kuna keegi ei taha sinu krediitkaarti siis ainuke kindel koht on postkontorid, kust saab raha kätte. See ei ole ka kallis teenus. Lisaks võib läbi käia neid "convenience store" tüüpi poode. Osades nendes on automaat, mis seda teenust pakub. Ükskikud suured ja kallid poes võtavad krediitkaarti ka otse vastu aga sellega ei tasuks arvestada. Häda on ka tagurpidi. Jaapanis välja antud pangakaart reeglina on selline, kus su nimi on hieroglüüfides peal ning pole mitte üheski rahvusvahelises süsteemis toimivad. VISA kaarte pangad küll eraldi küsides välja annavad aga välismaalasele on see paras pähkel. VISA deebetkaarte nad eriti ei tunne ja krediitkaarti välismaalasele ei anna. Raha ülekanne siit mujale maksab 40 euro kanti.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Jaapani WC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Esimene koht, kus Jaapani keele oskus on hädavajalik, on WC. Mõned neist on siin nii ära automatiseeritud, et ainuüksi sisenemise peale tõuseb kate kenasti üles ning pakub ka lisamugavusi nagu soojendusega prill-laud ning taguotsa pesemine ja kuivatamine. Aga kui välja minnes tahaks vett peale tõmmata siis valik on selline:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yG0RHdMnEpc/TszyTb4VvSI/AAAAAAAAAdc/pXOn2LzR4Xc/s1600/DSC_0109.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/-yG0RHdMnEpc/TszyTb4VvSI/AAAAAAAAAdc/pXOn2LzR4Xc/s640/DSC_0109.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Panasonic kirjaga kaane all on veel paarkümmend nuppu. Antud juhul tõmbavad vett ülemises kolmeses grupis kaks äärmist. Kujutage neid Kanji sümboleid ette kui inimest, kes teile kehakeeles näidata püüab "väike" ehk siis kus kükitav mees kätega allapoole näitab ja "suur" kus käed-jalad suurelt harkis on. Lisaks võin anda selle teadmise, et istudes on julge kõik nupud läbi proovida. need reeglina pritsivad vett kuhu vaja ning reguleerida saab survet, temperatuuri ja muud sellist. Püsti seistes neid asju proovides võib märjaks saada (õnneks ainult veega!).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kes endale mingit sellist asja osta peaks tahtma siis:&lt;br /&gt;a) Korralik pott koos elektroonikaga on 2000 eurot. Eraldi prill-lauad on odavamad aga pole kunagi nii vinged kui täislahendus.&lt;br /&gt;b) See töötab 100 voldi pealt, mida Eestis peab siis eraldi ise tegema.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;WiFi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sisuliselt Jaapanis lahtiseid WiFi levialasid ei ole. See tundub natuke paradoksaalne arvestades nende kõrget tehnilist taset. Samas see ei tähenda, et neil poleks internetti igal pool. Lihtsalt nendel on reeglina mingi muu variant taskus. Näiteks mina kirjutan seda postitust hetkel oma läpakast, mis on minu mobiiltelefoni küljes üle WiFi ning mobiiltelefon, mis WiFi teenust pakub on 3G levis paketiga, millel pole mitte mingit mahu ega kiirusepiirangut. Töötab nagu ADSL eestis aga see on mul igal pool kaasas. Siin on igaühel mingi selline lahendus ja turisti mure on tema enda mure.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Kummardamine&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Üks asi mis mind lummab ja vaimustab on siinne kummardamise kultuur. Kohtasin mingeid turistidest venelasi, kes ei saanud aru, et miks kõik kummardavad. Ma tegin siis neile näitlikult ette, et päris lahe asi. Mida rohkem sina ise kummardad, seda rohkem kummardatakse vastu. Ja see on viisakas! Seetõttu ma ei jäta kasutamata võimalust supermarketis kassapidajale kummardada ning see alati vastab pannes käed ees kokku ja ka kummardab sügavalt. See on omaette jutt, et nad ei oma seal kassa taga mingit istumisvõimalust ning need 40 kilo kaaluvad tüdrukud tõstavad kõik need rasked kapsapead, 2L koolad jms ühest korvist teise ning osaliselt pakivad ka kilekotti sinu eest ära. Ning kõige lõpuks teevad sulle kummarduse. Meie poemüüjate hala raskest tööst selle kõrval tundub sürrealistlik.&lt;br /&gt;&lt;br /&gt;Kui mujal maailmas pangaautomaat pika molutamise ajal näitab "Palun oota" teadet, siis siin näitab see kummardavaid tegelasi.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-41a016fed2430691" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v7.nonxt2.googlevideo.com/videoplayback?id%3D41a016fed2430691%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1333339525%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D77181C0B8F79D8D93E6326D7401E5B0C9D017FFC.577A13564A0BDB1A4FBA49C3C4751D80F4B9D0A%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D41a016fed2430691%26offsetms%3D5000%26itag%3Dw160%26sigh%3DqRhl8ZOJFT2r5MBX0Wn91vWPWps&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v7.nonxt2.googlevideo.com/videoplayback?id%3D41a016fed2430691%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1333339525%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D77181C0B8F79D8D93E6326D7401E5B0C9D017FFC.577A13564A0BDB1A4FBA49C3C4751D80F4B9D0A%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D41a016fed2430691%26offsetms%3D5000%26itag%3Dw160%26sigh%3DqRhl8ZOJFT2r5MBX0Wn91vWPWps&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Kummardatakse ka seal kus see on ootamatu. Näiteks annad autole teed siis juht kummardab. Samuti rolleritega tegelased kummardavad nii palju kui ruumi on. See oli omaette vaatamisväärsus kui meil firmas käisid ilmselgelt mingid tähtsad kliendid. Lisaks niisama pidevale kummardamisele olid firma sekretärid reas kummargil kõik need minutit kuni lifti uksed polnud mitte ainult sulgunud vaid ka lift kaks korrust allapoole sõitnud koos klientidega. Igal juhul kui Jaapanisse tuled, siis näita oma lugupidamist ja kummarda.&amp;nbsp;&amp;nbsp;Ja sulle vastatakse kummardusega.&amp;nbsp;See kompenseerib keeleoskuse puudumised ja paljud muud asjad.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Meiwaku&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Meiwaku tähendab tüli, mida sa teistele inimestele teed. Jaapani kultuuris on tähtsal kohal mitte tekitada teistele tüli. Seetõttu näiteks rongides on äärmiselt ebaviisakas rääkida telefoniga. See viimane on omakorda üks põhjustest, miks SMS nii populaarseks sai. Siinmail sõidab tohutu hulk inimesi hommikul tund aega kooli või tööle ja õhtul tagasi. Kogu selle aja nad lobisevad üle SMSi ja tänapäeval ka palju moodsamate vahenditega nagu Android ja iPhone telefonides leiab.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.facebook.com/mihkelraud2"&gt;Mihkel Raud&lt;/a&gt; oma Facebooki postituses kirjutas, et "Eile nägime Kyotos tänavamuusikut, kes oli end kõrvaklappidega süntesaatori külge ühendanud. Mängis nii mis hirmus, klahvid plõgisesid ja puha, aga heli ei tulnud. See tähendab tuli, kuid ainult tema klappidest ja tema kõrvadesse. Laulis ka, ent tegi sedagi hääletult, suud maigutades.". See on üks ekstreemne näide. Jaapani kultuuris on ka kultuuri ekstreemne jälgimine popp. Kusjuures mingi meile arusaamatu kiiks on neil selles, et ka tabude murdmine on popp kui seda üle vindi piisavalt teha. Siin Kamakuras on üks seltskond mootorrattureid, kes sõidab ilma summutita ringi. Ma varem arvasin, et Eestis sõidavad ilma aga siin need lärmavad kohe mitu korda rohkem. Ma kahjuks pole neid foto peale saanud veel tabada kuid selliseid rattaid te peaks nägema! Nende mootorrattad on mingi segu üle vindi keeratud disainist. Neil on ülikõrge juhtraud, kõrged seljatoed, imepeened rattad ja rehvid ja siis ümber 70-te võidusõidu gondel. Tulemus on kreisi!&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Jaapan kui töönarkomaanide pesa&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Wikipedias on terve hulk artikleid Jaapani töökultuuri kohta ning üldiselt nad pole ka eriti mõelnud sellele, et teistel võiks see teisiti olla. Ma saabusin Tokyosse varahommikul peale 12h lendu, 12h Šeremetjevo lennujaamas istumist, kuhu ma jõudsin hommikul kell 7 lennukiga Tallinnast, kuhu ma sõitsin kell 3 öösel Tartust spetsbussiga, kuhu omakorda ma läksin peale pikka päeva Tartus. Et arvake ära kas mul oli väga paha olla? Ei olnud. Sest ma olen lennanud palju pikki otsi ja teadsin sundida ennast magama Šeremetjevo kivipõrandal keset päeva. Ja kui ma siis pealelõunaks olin jõudnud Kamakurasse ning firma kontoris ennast tutvustanud, ei küsinud keegi kui väsinud ma olen vaid mind pandi tööle. Ilma oma eelneva kogemuseta oleks ma lõpetanud haiglas. Tuttavatega on seda juhtunud, kes sarnasesse olukorda on sattunud. Igatahes päeva jooksul lugesin läbi firma siseprotseduurid, sain ligipääsud igale poole kuhu vaja ning kirjutasin kohustusliku igapäevase raporti teemal "mida mina täna tegin". Firmas, kus ma töötan on töölepingutes kirjas, et töö aeg on 10...19, mille hulgas on tund lõunat. Lisaks on sul lepingus, et nädalas on 60 töötundi ja kuna nimetatud ajavahemik katab 40 tundi ainult siis ülejäänu eest saan palka pluss lisatasu ületundide eest. Minule sobib, kuna ma naguinii teen kogu aeg midagi arvuti taga. Hea näide on tänane päev. Ma olen kontoris, kuna mul on kuu lõpus töö tähtaeg. Kontor on rahvast &amp;nbsp;täis ja paljud siit on olnud paar päeva jutti. Küsisin neilt, et kas nendel on ka mingi tähtaeg kaelas? "Jah, detsembri lõpuks peab valmis olema" oli vastus. Olukorras, kus kõik niimoodi töötavad, on imelik lahkuda kell 23 aga ma teen seda tihti.&lt;br /&gt;&lt;br /&gt;Aususe mõttes pean lisama, et kohalikud nimetavad seda meie firma eripäraks. Mujal pidi parem olema. Samas isegi firma eripära mõistes on see imelik. Eestis oleks sellises firmas ammu töötajad laiali jooksnud ja Tööinspektsioon koliks oma kontori kõrvalmajja. Igatahes töötamine on siin au sees. Ma liigun vähe Kamakurast väljapoole kuid rongijaamades on üks vaatamisväärsus ja need on tuikuvad inimesed. No "täiesti täis" on esimene arvamus. Aga nad käituvad natuke teistmoodi. Tuleb selline 25 aastane näitsik taarudes perroonile ja vajub kokku. Mina mõtlen, et mis juhtus? Kohalikud, kes üldjuhul on väga hoolivad ei tee temast välja. Magab sügavalt. Siis saabub viimane rong ja näitsik äkki võtab jalad alla ning kakerdab rongi. Kell on 1 öösel ning koduni on neil tihti tund sõita. Hommikus aga jälle tööle. See kõik ehk seletab ka mingit uurimust, kus selgus, et Jaapanlased seksivad kolm korda vähem kui ameeriklased.&lt;br /&gt;&lt;br /&gt;Mainin ka selle ära, et mulle on muutunud omaette spordiks tööl magavate inimeste pildistamine. Vajutakse ära ka keset päeva ning magatakse pea klaviatuuris. Öösiti saab mugava voodi kui lükkad kolm kontoritooli kokku. Üks öö tabasin ka tippjuhtkonna magamas niimoodi toolidel.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Puhkamine ekstreemselt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tuttav töötas Jaapanis pool aastat meelelahutajana. Ta laulab, mängib mitmeid pille ja ühesõnaga annab üksi terve kontserdi kui vaja. Nagu kõik meie muusikud, on ka tema töötanud küll Eesti hotellides ja laevadel meie purjus põhjanaabreid lõbustamas. Pärast Jaapanist tulekut ütles ta, et üks Jaapanlane on hullem kui viis purjus Soomlast. Et see rahvus on hästi töökas ja viisakas, kummardatakse kogu aeg ette ja taha. Samas kui rihma maha viskab siis seda enam. Vaadates siin ringi pole ma midagi koledat veel kohanud aga samas tõesti, puhkamine on siin tähtsal kohal. Alates reede õhtust on juba linnapildis toimunud oluline muutus ja inimesed on pidulikult riides. Eestis tõtt öelda pole eriti selge, millal inimene on hästi ennast riidesse pannud. Sa pead konkreetset inimest selleks tundma, et kas see tema kohta on nüüd pidulik või mitte. Siin kui keegi ennast üles lööb siis ükski meie ööklubide ekstreem viinerid soengus pole nii tähelepanuväärne. Et kes iganes Jaapanisse tuleb, minge nädalavahetusel mingitesse kohtadesse, kus noored kogunevad. Näiteks Shibuya metroojaama ümbrus. Vaatepilt on seda väärt. &lt;a href="http://en.wikipedia.org/wiki/Lolita_fashion"&gt;Lolita fashion&lt;/a&gt; ja kõik selline on just siin. Ma ei saa kahjuks enda tehtud pilte lisada kuna mu telefon nii pimedas pilti ei suuda teha. Ma natuke nägin seda juba Hiinas söögikultuuri juures, et tööd tehakse tööajal aga kui puhata, siis täiega. Just nii nad teevad.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Baruto&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Alles siin saab aru kui suur mees Baruto on. Olla rohkem kui saja miljoni elanikuga riigis tipptegija on suur saavutus. Aga kust tuli nimi Baruto? Et nagu tavaks, võtavad Jaapanlased omaks võõrsõnu asjades, kus enda keel puudub. Ja Jaapanlased ei tee vahet R ja L tähel. Neil kirjakeeles L puudub ja R loetakse suvaliselt kas L või R täheks. &amp;nbsp;Et seetõttu leitigi, et kuna tegemist on Baltlasega ning sellest tulenevalt on ta Baruto.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Kawaii&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pokemon, Hello Kitty ja üldse sellised armsamapoolsed tegelased on siin läbivad. Siin võib pehme mänguasi olla politseiauto tagaaknal või ärimehe mobiiltelefoni kott, see kõik on aktsepteeritud. Üldiselt ka iga toode poes võiks armas olla. Näiteks pesukäsn müüb vist paremini kui silmad peas on:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://no.spam.ee/~tonu/gallery/index.php/Japan/Kamakura/DSC_0062"&gt;&lt;img border="0" height="320" src="http://no.spam.ee/~tonu/gallery/var/resizes/Jaapan/Kamakura/DSC_0062.JPG" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Miks mitte teha kõike natuke armsamalt kui muidu teeks? Ka sõna "kawaii" (tore, armas, ilus) kuuleb nende keelest tihti kui nad midagi toredat näevad.&amp;nbsp;Üks minu tehtud foto Kamakura tänavatelt:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://no.spam.ee/~tonu/gallery/index.php/Japan/Kamakura/DSC_0101"&gt;&lt;img border="0" height="360" src="http://no.spam.ee/~tonu/gallery/var/resizes/Jaapan/Kamakura/DSC_0101.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Wikipedias on &lt;a href="http://en.wikipedia.org/wiki/Cuteness_in_Japanese_culture"&gt;antud teemal&lt;/a&gt; artikkel. Kusjuures koera ära ehtimine on kohati mulle mõistetavam kui selline täiesti imelik pudelite kaunistus:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://no.spam.ee/~tonu/gallery/index.php/Japan/Kamakura/DSC_0004"&gt;&lt;img border="0" height="360" src="http://no.spam.ee/~tonu/gallery/var/resizes/Jaapan/Kamakura/DSC_0004.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Koolisüsteem&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ma olen natuke uurinud Jaapani koolisüsteemi kohta. See on üks suur üllatuste maa. Küsisin oma jaapani keele õpetajalt, et mis värk selle kooliga on, et kui õppeaasta algab aprillis, siis millal see lõpeb. Tema jällegi poolhämmeldunud minu rumalast küsimusest, et märtsis loomulikult. Mina omakorda, et kas teil vaheaega polegi? Tema ütles, et on küll aga kuu aega keset õppeaastat suvel. Üldiselt Wikipedia on jällegi &lt;a href="http://en.wikipedia.org/wiki/Education_in_Japan"&gt;suhteliselt pungil infost&lt;/a&gt; ja ma ei hakka seda siin kordama. Õpitakse palju ja varakult. "&lt;a href="http://en.wikipedia.org/wiki/Juku"&gt;Juku&lt;/a&gt;" on näiteks Jaapani õhtukool aga erineval meie õhtukoolidest tähendab see siin, et käiakse päevakoolis ära ja siis minnakse õhtukooli veel teadmisi juurde ahmima. Küll aga tasub märkida, et Jaapanis on väga oluline sinu kooli taust ja nimi. Kui sa oled õppinud "õiges" koolis, siis see on väga tähtis ning meie eliitkoolide süsteem selle kõrval pole veel midagi. Siin üks Eesti vahetusõpilane sattus pahandustesse kuna sõitis registreerimata jalgrattaga ning lõpuks jättis selle kuhugi vedelema, kuhu ei oleks tohtinud. Politsei kirjutas mingit protokolli ja küsis dokumenti. Kui dokumendiks osutus maineka ülikooli õpilaspilet siis politseinikud leebusid koheselt ning vabandasid lõputult tülitamise eest. Ühtlasi tähendab see kõik ka soovitust, et kui sulle pakutakse Jaapanisse vahetusõpilaseks saamist, siis püüa leida kohalik, kes kooli tausta paremini teab. Näiteks kaks pakutavat kooli võivad olla öö ja päev oma mainelt. Kohalikele tähendab pakkumine Keio või Waseda ülikooli rohkem kui loto peavõit. Kui selline nimi on CV-s, on ka tööpakkumised kohe samas kaliibris.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Jalgrataste registreerimine&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Jah, siin on kõik jalgrattad registris. Valesti parkinud jalgrattad saavad trahvilipiku ja erijuhtudel teisaldatakse.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-B9-vuyzbI9I/Tsz4ESKjRTI/AAAAAAAAAds/FCUZqSX-_50/s1600/DSC_0151.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://2.bp.blogspot.com/-B9-vuyzbI9I/Tsz4ESKjRTI/AAAAAAAAAds/FCUZqSX-_50/s640/DSC_0151.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Tegelikult on see üsna normaalne, sest nii tihedalt asustatud riigis oleks üsna hirmus kui tuhat inimest tooks oma jalgrattad iga hommik metroojaama ja kuhjaks need kuidagi suvaliselt.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Meditsiin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Jaapanis on meditsiini tase väga hea ning hinnad Eesti tasemel. Mul on siin olemas ravikindlustus algusest peale ning see tähendab, et nii arsti juures kui apteegis ma maksan 30% asjast ise ning 70% kindlustus. Ma pole seda palju testinud kuid poolteist tundi arsti juures olemist maksis paarkümmend eurot minule ning ostetud rohud olid ka mõistliku hinnaga. Keegi väitis, et see 70% kinnimaksmine kehtib ka hambaravile aga ma pole jõudnud sinnani kuigi võiks.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Üle vindi asjad&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Jaapani telemängud on üks interneti hittidest. Enne Youtube tekkimist me nendest ei teadnud palju aga nüüd vist on neid enamus näinud ja osad meilegi jõudnud. Ühelt poolt on siin tabusid ja samas nende tabude murdmine on teatavalt popp. Näiteks püüdke ilma keelt oskamata ära arvata, mida reklaamib see tahvel Kamakura rongijaamas:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://no.spam.ee/~tonu/gallery/var/resizes/Jaapan/Kamakura/IMAG0029.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="430" src="http://no.spam.ee/~tonu/gallery/var/resizes/Jaapan/Kamakura/IMAG0029.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Üks teadjam tõlkis ära ning tegemist on polikliinikuga, mis muuhulgas tegeleb ka kuseteede muredega. Miks see koer seal just täpselt nii teeb, täpsemalt ei selgu. Aga tunnistagem, et see tõmbas tähelepanu ja kogu asja mõte vist oligi. Aga ma lisaks siia meie firma töö, milleks on &lt;a href="http://konchi.kayac.jp/pc/en/index"&gt;Konchi&lt;/a&gt;. Kuidas ma nüüd selgitan aga meie firma on väga tõsine asutus. Meie kliendid on Google, Microsoft jms. Meie firma finantsjuht on Deutche Bank-st tulnud ning HR mees JP Morganist. Seal paremal allnurgas see avatar on &lt;a href="http://www.adtech-tokyo.com/en/conference/detail/spkDetail.html?id=ADT-0138"&gt;meie CEO&lt;/a&gt;. Et kuidas see kõik tervikpildiks läheb? Euroopas nagu ei lähekski aga siin on see vist õige asi õiges kohas. Lisan veel ühe toote siia lõppu, mis on meie firma töö:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://2.gvt0.com/vi/0XTtn7ePFso/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0XTtn7ePFso&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/0XTtn7ePFso&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;See viimane on vist lausa selline, et ma pean ta ostma. Sest see on parim näide antud fenomeni selgitamiseks, mis siin on. See on nii haige, et ma maksaksi n selle eest :).&lt;br /&gt;Kohati ma ei saa aga üldse aru kas see on nali või miski tõsine asi. Näiteks siin Kamakuras on ühe maja serva all mingi veekogu, kus ujuvad kuldkalad sisse ja välja:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://no.spam.ee/~tonu/gallery/index.php/Japan/Kamakura/DSC_0074"&gt;&lt;img border="0" height="320" src="http://no.spam.ee/~tonu/gallery/var/resizes/Jaapan/Kamakura/DSC_0074.JPG" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Tavad ja reeglid&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Jaapani ühiskond on väga tavadepõhine. Kui mingi asi pole tavakohane, siis selle murdmine on üliraske. Seda tasub teada siin äri tehes või muidu suheldes. Üks selline näide, et ma elan firma enda majutuses, mis sisuliselt on eraldi villa. Loogiliselt on meil mingi reegel, et suva võõraid kõrtsist näiteks sinna tassida ei tohi. Samas see maja on suur ja seal ruumi palju. Ma elan täiesti oma toas ja tuba on väga suur. Küsisin, et kui pere nüüd siia tuleb, kas ma nad oma juurde võin võtta? Sellega tekitasin teatava segaduse peamajas meil, sest meil on reegel, et võõrad ei tule ja nüüd äkki mina tahan seda rikkuda. Tegelikult ma ainult küsisin aga tabasin natuke hella kohta. Et kes iganes on pikemalt Jaapaniga tegemist teinud on mõne sellise imeliku asja ära kogenud. Igatahes peab silmas pidama, et siin on teatavad kirjutamata reeglid palju tugevamad kui meil.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Töö&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Töötan firmas &lt;a href="http://www.kayac.com/en/"&gt;Kayac&lt;/a&gt;. Ma olen selle firma fänn. Üks suur põhjus ongi see, et firma kehastab Jaapani väärtusi ning samas on täiesti avatud kõigele uuele. Need eelmised näited olid üsna sellised äärmuslikud ja vajavad tasakaalu.&amp;nbsp;&lt;a href="http://www.kayac.com/en/client/award"&gt;http://www.kayac.com/en/client/award&lt;/a&gt;&amp;nbsp;on üks koht, kus saab aimu, mida me põhiliselt teeme. Töötamine Jaapanis eeldab meiesugustele tööviisat ning tööviisa saamine on üsna keeruline nagu paljudes riikides. Olen siin kohanud paljusid välismaalasi ning nendest paljudel on 1 aastane tööviisa. Vähemalt alguses kiputakse andma vähe. Minul on kolm aastat ja see on üsna mitmed kadedaks teinud, sest neid aetakse riigist ära. Jaapan teeb sellist "töökümblust", et saadab oma inimesi välismaale ja toob välismaalasi siia kuid piiratud ajaks. Tüüpiline aeg on üks aasta.&lt;br /&gt;Jaapanisse tööle saamiseks on mingid rusikareeglid. Esiteks üldjuhul on tarvis kõrgharidust. Teiseks peab tööandja ise Justiitsministeeriumist välja ajama ühe dokumendi, millega siis Eestlane saatkonda läheb tööviisat küsima. Seda paberit saab teha ainult siis kui oled veel kodumaal. Jaapan ei tolereeri sellist asja, et tuled kohale ja otsid töö.&lt;br /&gt;Siin vajatakse kahte sorti töötajaid välismaalt. Esimene on inglise keele õpetajad. Üldjuhul eeldatakse seda emakeelena ning siis pole eriti muud haridust vaja. On eraldi suured saidid, mis tegelevad ainult inglise keele õpetajate otsimisega siia. Ja teine on siis insenerialad. Nende kahe peale saab üsna kergelt midagi leida.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Kokkuvõte&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ma millalgi otsustasin, et teen nimekirja asjadest, mis mulle meeldivad siin ja mis mitte. Kolmas kuu läheb ning teine nimekiri seisab täpselt nulli peal. Mul pole mitte midagi sellist, mis mulle siin ei meeldiks. Jaapan on huvitav riik ja siia tasub tulla igal võimalikul põhjusel.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Seoses tööga olen otsustanud, et mul on edaspidi aega ohtralt kolada mööda Jaapanit. Seetõttu ma olen keskendunud tööle ja pole kuskil eriti käinud. Kuigi ma elan Jaapani ajaloolises pealinnas, mis on täis templeid ja muid vaatamisväärsusi aga pole sinna veel jõudnud. Minu FB fotod on praktiliselt kahe ruutkilomeetriselt alat, mida mööda ma tööle lähen.&lt;br /&gt;Järgmine kuu lähen vist esmakordselt minu elamisest poole kilomeetri kaugusele &lt;a href="http://en.wikipedia.org/wiki/Daibutsu"&gt;Daibutsu&lt;/a&gt; juurde vaatama ja pilte tegema. Ka Tokyosse olen kahel eri õhtul ainult sattunud mingitele kohtumistele. Seetõttu on mu vaatenurk kindlasti väga kitsas. Samas alguse vaade on kohati omaette huvitav.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-4128734548104249917?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/4128734548104249917/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=4128734548104249917&amp;isPopup=true' title='1 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4128734548104249917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4128734548104249917'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2011/11/kolmas-kuu-jaapanis.html' title='Kolmas kuu Jaapanis'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-8racUqZub7k/Tsz3Cw9IS3I/AAAAAAAAAdk/ZuJoWn7DDbY/s72-c/DSC_0193.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-1391362573948411762</id><published>2011-08-09T21:02:00.008+03:00</published><updated>2011-08-09T21:18:11.308+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='renesas'/><category scheme='http://www.blogger.com/atom/ns#' term='TFT'/><category scheme='http://www.blogger.com/atom/ns#' term='LCD'/><category scheme='http://www.blogger.com/atom/ns#' term='PSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Eagle'/><category scheme='http://www.blogger.com/atom/ns#' term='FreeRouting'/><title type='text'>PSP LCD ning Eagle+FreeRouting</title><content type='html'>Järjekordselt kiidan &lt;a href="http://www.freerouting.net/"&gt;FreeRouting&lt;/a&gt; teenust. Ma ei kujuta ette enam &lt;a href="http://www.cadsoftusa.com/"&gt;Eagle&lt;/a&gt; kasutamist ilma selleta. Näidiseks kaks kuvapauku. Esimene on lihtne trükkplaat ning see trasseerituna Eaglega:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-CCp2JFJvn5w/TkF0AYMgCII/AAAAAAAAAJE/o1B64U9HAm8/s1600/eagle1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-CCp2JFJvn5w/TkF0AYMgCII/AAAAAAAAAJE/o1B64U9HAm8/s640/eagle1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Ehk siis täielik jama. Pooled asjad on tegemata, mis on silmaga näha. Lisaks keerulisemate probleemide puhul tehakse täielik sasipundar. Nüüd andsin sama ülesande &lt;a href="http://www.freerouting.net/"&gt;FreeRouting&lt;/a&gt; teenusele ning mõni minut hiljem on mul Eagles juba selline tulemus:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OA7aAAFT33Y/TkF0fHT4--I/AAAAAAAAAJI/IB8_lWEAYbI/s1600/eagle2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-OA7aAAFT33Y/TkF0fHT4--I/AAAAAAAAAJI/IB8_lWEAYbI/s640/eagle2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;On veel midagi lisada? Üks asi mis töötab ja teine mis mitte. Mis puutub PSP (Sony Playstation Portable) teemasse, siis antud skeemi ma tegin kiires korras testimaks antud seadmest pärit ekraani oma lahenduses. Kui selle Eagle failid pakuvad kellelegi huvi, siis on &lt;a href="http://no.spam.ee/~tonu/psplcd.sch"&gt;skeem&lt;/a&gt; ja &lt;a href="http://no.spam.ee/~tonu/psplcd.brd"&gt;plaat&lt;/a&gt;. Nett on antud teemal hala täis aga üldjuhul keegi midagi ei jaga.&lt;br /&gt;Üks minu jaoks huvitav lugemine oli &lt;a href="http://www.renesas.com/products/tools/introductory_evaluation_tools/renesas_starter_kits/rx62n_tftlcd_dddemokit/rx62n_tftlcd_dddemokit.jsp"&gt;Renesas TFT Direct Drive&lt;/a&gt;. Youtubes on ka video&amp;nbsp;&lt;a href="http://www.youtube.com/watch?v=izL-n2NpVC0"&gt;http://www.youtube.com/watch?v=izL-n2NpVC0&lt;/a&gt;&amp;nbsp;sellest tootest. PSP ekraan ei oma "enable" otsa ja seetõttu antud ideed kasutada ei saa. Küll aga ehk mõne muu ekraaniga.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-1391362573948411762?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/1391362573948411762/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=1391362573948411762&amp;isPopup=true' title='2 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/1391362573948411762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/1391362573948411762'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2011/08/psp-lcd-ning-eaglefreerouting.html' title='PSP LCD ning Eagle+FreeRouting'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-CCp2JFJvn5w/TkF0AYMgCII/AAAAAAAAAJE/o1B64U9HAm8/s72-c/eagle1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-1356905152425965404</id><published>2011-08-01T12:49:00.005+03:00</published><updated>2011-08-01T12:57:17.045+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sünnipäeva probleem'/><category scheme='http://www.blogger.com/atom/ns#' term='birthday problem'/><category scheme='http://www.blogger.com/atom/ns#' term='birthday paradox'/><title type='text'>Sünnipäeva paradoks Eesti turva praktikas</title><content type='html'>Ma olen koolitustes palju vihjanud Sünnipäeva paradoksiga seotud probleemidele. Samas reaalses elus olen selle kasutusalasid peamiselt teoreetilises krüptograafias näinud. Teema on mind ammu huvitanud ja nüüd jäi ka üks konkreetne juhtum ette, mille üle mõtisklesin.&lt;br /&gt;&lt;br /&gt;Nimelt saadab Medicum.ee patsiendile meeldetuletusi arsti vastuvõtu aja kohta:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;--8&amp;lt;------&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Lugupeetud TÕNU SAMUEL,&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Tuletame Teile meelde, et registreerisite ennast ANNA TIMEJEVA (GÜNEKOLOOGI VASTUVÕTT) vastuvõtule, mis algab 01.01.2011 01:01. Ootame Teid kokkulepitud ajal.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Juhul, kui Teie plaanid meid külastada on muutunud, palume Teid tühistada kokkulepitud vastuvõtt. Seda saate teha, klõpsates linki TÜHISTA KÜLASTUS või helistades telefonil 6050601. Selliselt toimides annate võimaluse teistele abivajajatele Teie poolt broneeritud vastuvõtuaja kasutamiseks.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Ette tänades,&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Lasnamäe Medicum&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Punane 61, Tallinn&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;--8&amp;lt;------&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ja siis on selle teksti "tühista külastus" all viit nende kodulehele&amp;nbsp;&lt;a href="http://www.medicum.ee/tyhista.php?sid=cfcd208495d565ef66e7dff9f98764da"&gt;http://www.medicum.ee/tyhista.php?sid=cfcd208495d565ef66e7dff9f98764da&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sellele lingile klikkides avaneb leht, kus on kirjas patsiendi nimi, isikukood, kodune aadress ja telefon. See on omaette jutt, et kas niimoodi tegema peaks. Teatavasti osad brauserid korjavad kasutaja käest külastatud aadresse ja indekseerivad ära. Antud lehe külastamisel avaneb risk, et see lehekülg, mille ainukeseks turvaelemendiks on tema asukoht internetis muutub kõigile avalikuks. Mind huvitas hoopis see, et kui antud polikliinikul on näiteks 10000 klienti ja nendel on igaühel üks arstiaeg märgitud, siis kas on lootust juhuslikult leida aadresse, kust isikuandmed lekivad.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Eelkõige on oluline tähelepanek, et&amp;nbsp;cfcd208495d565ef66e7dff9f98764da&amp;nbsp;on 128 bitine räsi á la MD5 tulem.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Käisin matemaatikat uurimas ning saavutasin sellise päringu:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.wolframalpha.com/input/?i=1%2F2+%2B+sqrt%281%2F4+-2+*+%282^128%29+*+ln%280.5%29+%29"&gt;&lt;img border="0" height="140" src="http://1.bp.blogspot.com/-ErGYnL-URzg/TjZxysQqvSI/AAAAAAAAAJA/Er8IUJJ1VfY/s640/wolframalpha-20110801042800703.gif" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Valem peaks andma siis teada, et kui meil on 2^128 kombinatsiooni, siis mitu katset on vaja teha, et kui suur peaks olema see räside hunnik, et seal oleks tõenäoliselt kaks ühesugust räsi. Vastus on: 2.17194... × 10^19&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Mina mõistan seda nii, et kui oleks 2x10^19 arstiaega kinni pandud, oleks 50% tõenäoline, et me satume mõne peale igal katsel sisestades juhuslikke räsisid.&lt;br /&gt;Kuna ilmselt arstiaegu on vähem kinni pandud kui 20 kohta pikk arv, siis tõenäosus langeb ning 10 tuhande arstiaja korral oleks&amp;nbsp;2.172 × 10^19 - 10000 = 21719999999999990000 ehk sisuliselt 5 nulli vähem.&lt;br /&gt;&lt;br /&gt;Arvutame teistpidi. Ütleme, et me teeme otsingut ja selleks saadame serverisse ühe päringu igas sekundis. See teeb 3600 päringut tunnis ja 86400 päringut päevas või 2,6 miljonit päringut kuus. Üsna ümmargune arv on, et kolm aastat on ligi 100 miljonit sekundit ehk 1 x 10^8.&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #444444; font-family: Verdana, sans-serif; font-size: 9px; line-height: 14px; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;Siit ma teen järelduse, et lahendus on sünnipäeva paradoksi seisukohast enam-vähem ohutu. Isegi kui neil oleks 100 miljonit kirjet (ebausutav, et on) ja keegi prooviks kolm aastat päringutega pommitada seda serverit (ebareaalne jääda varjatuks), oleks ebatõenäoline sealt midagi kätte saada antud meetodil.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;P.S. Arutlus on tehtud harimatu ja juhmi inimese poolt lootuses ratast leiutada. Parandused ja täiendused on teretulnud.&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-1356905152425965404?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/1356905152425965404/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=1356905152425965404&amp;isPopup=true' title='3 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/1356905152425965404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/1356905152425965404'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2011/08/sunnipaeva-paradoks-eesti-turva.html' title='Sünnipäeva paradoks Eesti turva praktikas'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ErGYnL-URzg/TjZxysQqvSI/AAAAAAAAAJA/Er8IUJJ1VfY/s72-c/wolframalpha-20110801042800703.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-423367991098623650</id><published>2011-06-03T15:28:00.003+03:00</published><updated>2011-08-09T21:19:47.315+03:00</updated><title type='text'>Optimeerimine, C ja C++</title><content type='html'>Tüüpiline mure programmeerijal on, et peab leidma põhjuse, miks programm aeglane on. Elu on näidanud, et see mida sa arvad aeglase olema ja mis tegelikult aeglane on, pole üldse samad. Täna tuli mul jälle võõrast tarkvara optimeerida.&amp;nbsp; Üldjuhul käis programmi käivitamine niimoodi:&lt;br /&gt;&lt;br /&gt;tonu@hp:~/Desktop/OptiComm$ ./OptiComm -s something targets.txt -l 20 -n 40 -f wtgfiles.txt -t anything &amp;gt; x&lt;br /&gt;&lt;br /&gt;Panin ta seekord käima programmi valgrind all:&lt;br /&gt;tonu@hp:~/Desktop/OptiComm$ valgrind --tool=callgrind --dump-instr=yes -v --instr-atstart=no ./OptiComm -s something targets.txt -l 20 -n 40 -f wtgfiles.txt -t anything &amp;gt; x&lt;br /&gt;&lt;br /&gt;Igasugune programm käib vahel käivitamisel ebaühtlaselt. Näiteks võib olla, et&amp;nbsp; kõvaketas on hetkel hõivatud ja ühe kilobaidise konfiguratsioonifaili lugemine võtab ebaproportsionaalselt kaua aega. Seetõttu lisasin võtme --instr-atstart=no aga see võib vajadusest sõltuda. See võti keelab enne eraldi käsku profileerimisandmeid koguda.&lt;br /&gt;&lt;br /&gt;Nüüd, kus programm käib, püüame tekitada olukorra, kus kõik failid on sisse loetud, cached kasulikku kraami täis ja lülitame profileerimise sisse. Selleks anname teises aknas käsu: &lt;br /&gt;&lt;br /&gt;tonu@hp:~$ callgrind_control -i on&lt;br /&gt;PID 14121: ./OptiComm -s something targets.txt -l 20 -n 40 -f wtgfiles.txt -t anything [requesting '+Instrumentation'...]&lt;br /&gt;&amp;nbsp; OK.&lt;br /&gt;&lt;br /&gt;Nüüd kasutame programmi ja eriti neid osi, mille kiirus meid huvitab. Valgrindi all on meie programm üsna uimane aga see tuleb välja kannatada. Kui oleme minuti-paar oma programmi kasutanud, seiskame kogu protsessi: &lt;br /&gt;tonu@hp:~$ callgrind_control -k&lt;br /&gt;PID 14121: ./OptiComm -s something targets.txt -l 20 -n 40 -f wtgfiles.txt -t anything [requesting 'Kill'...]&lt;br /&gt;&amp;nbsp; OK.&lt;br /&gt;&lt;br /&gt;Nüüd on meil samas kataloogis fail(id)&amp;nbsp; callgrind.out. ja mingi number lõpus. Nendes olevat infot saame näha nii:&lt;br /&gt;&lt;br /&gt;tonu@hp:~$ kcachegrind callgrind.out.*&lt;br /&gt;Avaneb pilt:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QsfRHzUdfCc/TejPxxeL2gI/AAAAAAAAAIc/2r-1eCGXoeo/s1600/cachegrind3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="620" src="http://4.bp.blogspot.com/-QsfRHzUdfCc/TejPxxeL2gI/AAAAAAAAAIc/2r-1eCGXoeo/s640/cachegrind3.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Siit näeme ära erinevate funtsioonide ajakulu. On üsna loogiline, et main() võtab 99.96% ajast ning muud riburadapidi tema järel. Sisuliselt on näha ka see, et main() järel tulevaid funktsioone kutsutakse välja ainult kaks kuni kuus korda, kuid 30% ajast kulub funktsioonile readChar(), mida kutsutakse 12 miljonit korda välja. readChar() viitab ühe sümboli lugemisele kas failist või mujalt.&lt;br /&gt;Iga programmeerija teab, et&amp;nbsp; ükshaaval sümbolite sisse lugemine on oluliselt aeglasem kui lugeda sisse mingi suur plokk andmeid. Seetõttu on antud pildi pealt kohe arvata, et seda annab järsult kiirendada ning tulemuseks võiks olla kuni 30% kiirem programm. &lt;br /&gt;&lt;br /&gt;Senine vaate ei anna siiski täielikku pilti. Veerus "self" on kirjas aeg protsentides, mida antud funktsioon kulutas iseendale, mitte teiste funktsioonide kutsumisele. Seetõttu tasub ka klikkida selle veeru pealkirja peal ning saame sellise vaate:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-tqPuK9dvpQk/TejRgp8TT7I/AAAAAAAAAIg/q0lnD7_GECc/s1600/cachegrind4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="338" src="http://4.bp.blogspot.com/-tqPuK9dvpQk/TejRgp8TT7I/AAAAAAAAAIg/q0lnD7_GECc/s640/cachegrind4.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Siit näeme ära, et 26 miljonit korda tülitatakse C++ istream::sentry klassi ning meeletu aeg kulub funktsioonile parseUTF8. Ma pole antud programmi taustast veel rääkinud aga see peaks lugema failidest mingeid numbreid ja nendega tehteid tegema. Siit näeb, et kasutatakse ilmselgelt ebaefektiivset meetodit ning üritatakse oma tööd liiga korralikult teha. UTF8 on ikkagi keeruliste mitmekeelsete tekstide töötlemiseks mõeldud ning antud kontekstis numbritega ta lihtsalt raiskab aega. Programm töötas andmetega suurusjärgus 12 tundi ning sooviti selle lühendamist. Tagantjärele tarkuse või kogemusena toon välja, et ma ise arvasin enne, et aeglane on hoopis hilisem, numbritega keeruliste tehete tegemise osa. &lt;br /&gt;&lt;br /&gt;Asun optimeerima....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-423367991098623650?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/423367991098623650/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=423367991098623650&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/423367991098623650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/423367991098623650'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2011/06/optimeerimine-c-ja-c.html' title='Optimeerimine, C ja C++'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-QsfRHzUdfCc/TejPxxeL2gI/AAAAAAAAAIc/2r-1eCGXoeo/s72-c/cachegrind3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-7930472647096445666</id><published>2011-03-04T17:18:00.002+02:00</published><updated>2011-03-04T17:52:02.022+02:00</updated><title type='text'>Beagleboard C4 + PS3 Eye + OpenCV kiiruse test</title><content type='html'>Rahvas küsib ja see huvitas ennastki, et kuidas videotöötlus ja USB kaamerad töötavad miniatuurse raua peal.&lt;br /&gt;Testisin sellist komplekti:&lt;br /&gt;&lt;a href="http://beagleboard.org/hardware"&gt;Beagleboard rev C4&lt;/a&gt;&lt;br /&gt;* 720Mhz ARM Cortex-A8 &lt;a href="http://focus.ti.com/docs/prod/folders/print/omap3530.html"&gt;OMAP3530DCBB72&lt;/a&gt;&lt;br /&gt;* 256MB MDDR mälu @ 166Mhz&lt;br /&gt;* USB EHCI (480Mbit only) külge ühendatud USB hub ja selle küljes PS3 Eye kaamera&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/PlayStation_Eye"&gt;PS3 Eye&lt;/a&gt; kaamera&lt;br /&gt;* 640x480 ja 320x240 resolutsioonid&lt;br /&gt;* kuni 120fps&lt;br /&gt;* Ainult &lt;a href="http://en.wikipedia.org/wiki/YUV"&gt;YUYV&lt;/a&gt; värvid&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ros@arm7:~$ cat /proc/cpuinfo &lt;br /&gt;Processor : ARMv7 Processor rev 3 (v7l)&lt;br /&gt;BogoMIPS : 715.27&lt;br /&gt;Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 &lt;br /&gt;CPU implementer : 0x41&lt;br /&gt;CPU architecture: 7&lt;br /&gt;CPU variant : 0x1&lt;br /&gt;CPU part : 0xc08&lt;br /&gt;CPU revision : 3&lt;br /&gt;&lt;br /&gt;Hardware : OMAP3 Beagle Board&lt;br /&gt;Revision : 0020&lt;br /&gt;Serial  : 0000000000000000&lt;br /&gt;ros@arm7:~$ &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Antud raua peal töötab Ubuntu Linux 10.04.2 LTS Lucid. Ise kompileerisin kokku FFMPEG 0.6.1 ja OpenCV 2.2.0 teegid võtmetega "-march=armv7-a -mtune=cortex-a8 -mfpu=vfp -mfloat-abi=softfp -O2" jms&lt;br /&gt;&lt;br /&gt;Testisin sellise lihtsa programmiga:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#include &lt;stdio.h&gt;&lt;br /&gt; #include "highgui/highgui_c.h"&lt;br /&gt; #include &lt;time.h&gt;&lt;br /&gt; int main(int argc, char **argv)&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;        CvCapture *capture = 0;&lt;br /&gt;        IplImage *frame = 0;&lt;br /&gt;        int key = 0;&lt;br /&gt;        int fps = 0;&lt;br /&gt;        struct timeval tempo1, tempo2;&lt;br /&gt;        capture = cvCaptureFromCAM(CV_CAP_ANY);&lt;br /&gt;&lt;br /&gt;        if (!capture) {&lt;br /&gt;                fprintf (stderr, "Cam error\n");&lt;br /&gt;                return(-1);&lt;br /&gt;        }&lt;br /&gt;        cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH,atoi(argv[1]) );&lt;br /&gt;        cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, atoi(argv[2]));&lt;br /&gt;//      cvSetCaptureProperty(capture, CV_CAP_PROP_FPS, 30);&lt;br /&gt;//      cvNamedWindow("Webcam", CV_WINDOW_AUTOSIZE);&lt;br /&gt;        gettimeofday(&amp;amp;tempo1, NULL);&lt;br /&gt;        while(1) {&lt;br /&gt;                frame = cvQueryFrame(capture);&lt;br /&gt;                if (frame&amp;lt;0) {&lt;br /&gt;                        printf("break\n");&lt;br /&gt;                        break;&lt;br /&gt;                }&lt;br /&gt;                if(atoi(argv[3])==1)&lt;br /&gt;                        cvFlip( frame, frame, 1);&lt;br /&gt;#if 0&lt;br /&gt;                cvShowImage("Webcam", frame);&lt;br /&gt;                if ((key = cvWaitKey(2)) &amp;gt; 0) {&lt;br /&gt;                        break;&lt;br /&gt;                }&lt;br /&gt;#endif&lt;br /&gt;                fps++;&lt;br /&gt;                gettimeofday(&amp;amp;tempo2, NULL);&lt;br /&gt;                if (tempo2.tv_sec - tempo1.tv_sec ==1 ) {&lt;br /&gt;                    printf("fps= %d\n",fps);&lt;br /&gt;                    fps=0;&lt;br /&gt;                    tempo1=tempo2;&lt;br /&gt;                }&lt;br /&gt;        }&lt;br /&gt; done:&lt;br /&gt;// cvDestroyWindow("Webcam");&lt;br /&gt; cvReleaseCapture(&amp;amp;capture);&lt;br /&gt; return(0);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;/time.h&gt;&lt;/stdio.h&gt;&lt;/pre&gt;Kompileerisin:&lt;br /&gt;&lt;pre&gt;ros@arm7:~/webcam$ gcc webcam.c -I /usr/local/include/opencv2/ -L /usr/local/lib/ -lopencv_core -l opencv_highgui -o webcam -march=armv7-a -mtune=cortex-a8 -mfpu=vfp -mfloat-abi=softfp -O2&lt;br /&gt;ros@arm7:~/webcam$ &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Proovisin seda programmi jooksutada ning samas teises aknas käsuga vmstat uurisin, kuhu ja palju koormust jääb. cvFlip() funktsioon on selleks, et lisaks pildi sisse tõmbamisele proovida mingit tervet pilti mõjutavat arvutust. &lt;br /&gt;&lt;br /&gt;Resolutsiooniga 640x480 annab draiver vaikimisi pilti 15fps &lt;br /&gt;Resolutsiooniga 320x240 annab draiver vaikimisi pilti 30fps&lt;br /&gt;Neid FPS suurusi saab muuta aga antud testis selgus, et piirid näeb niigi ära.&lt;br /&gt;&lt;br /&gt;Käivitasin prooviks niimoodi:&lt;br /&gt;&lt;pre&gt;ros@arm7:~/webcam$ ./webcam 320 240 0&lt;br /&gt;fps= 11&lt;br /&gt;fps= 30&lt;br /&gt;fps= 30&lt;br /&gt;fps= 30&lt;br /&gt;^C&lt;br /&gt;ros@arm7:~/webcam$ ./webcam 320 240 1&lt;br /&gt;fps= 11&lt;br /&gt;fps= 12&lt;br /&gt;fps= 12&lt;br /&gt;fps= 13&lt;br /&gt;fps= 16&lt;br /&gt;^C&lt;br /&gt;ros@arm7:~/webcam$ &lt;br /&gt;ros@arm7:~/webcam$ ./webcam 640 480 0&lt;br /&gt;fps= 7&lt;br /&gt;fps= 8&lt;br /&gt;fps= 10&lt;br /&gt;fps= 15&lt;br /&gt;fps= 9&lt;br /&gt;^C&lt;br /&gt;ros@arm7:~/webcam$ ./webcam 640 480 1&lt;br /&gt;fps= 1&lt;br /&gt;fps= 3&lt;br /&gt;fps= 3&lt;br /&gt;fps= 3&lt;br /&gt;fps= 3&lt;br /&gt;^C&lt;br /&gt;ros@arm7:~/webcam$ &lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;Seniseid fps-e ei tasu liiga tõsiselt võtta kuna mul kompileeris samal ajal teises aknas :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Korralikud tulemused:&lt;br /&gt;* cvFlip väljas&lt;br /&gt;640x480 reaalne kiirus 15fps. Protsessor 100% user, 0% idle&lt;br /&gt;320x240 reaalne kiirus 30fps. Protsessor 45% user, 55% idle&lt;br /&gt;&lt;br /&gt;* cvFlip sees&lt;br /&gt;640x480 reaalne kiirus 6..7fps. Protsessor 100% user, 0% idle&lt;br /&gt;320x240 reaalne kiirus 24..25fps. Protsessor 100% user, 0% idle&lt;br /&gt;&lt;br /&gt;Kokkuvõte - töötab küll ja kannatab kasutada. Samas algoritmid tuleb hoida minimaalsed ning üldjuhul ise nullist ja väga lihtsustatutena kirjutada.&lt;br /&gt;&lt;br /&gt;Antud test ei teinud katset sisse ehitatud DSP protsessori peal midagi töödelda. Tal on eraldi protsessor olemas signaalitöötluseks ning video puhul võib üritada seda kasutada. Õpetused on netis leitavad. &lt;br /&gt;&lt;br /&gt;Mõistliku hinnaga ARM rauast soovitaks hoopis &lt;a href="http://www.pandaboard.org/"&gt;Pandaboardi&lt;/a&gt;. Sellel on kahe tuumaga 1Ghz Cortex-A9.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-7930472647096445666?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/7930472647096445666/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=7930472647096445666&amp;isPopup=true' title='1 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/7930472647096445666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/7930472647096445666'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2011/03/beagleboard-c4-ps3-eye-opencv-kiiruse.html' title='Beagleboard C4 + PS3 Eye + OpenCV kiiruse test'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-4912116560896896414</id><published>2011-02-24T16:31:00.006+02:00</published><updated>2011-02-24T16:47:29.799+02:00</updated><title type='text'>BASHi aritmeetika</title><content type='html'>Ma eelistan lihtsamaid skripte otse BASH keeles kirjutada. Iga kord pean meenutama kuidas need tehted seal käisidki. Panen siia mõned näidised ette:&lt;br /&gt;&lt;br /&gt;tonu@hp:~$ echo $((100+200*2)) &lt;br /&gt;500&lt;br /&gt;tonu@hp:~$ echo $((0xff&amp;gt;&amp;gt;1))&lt;br /&gt;127&lt;br /&gt;tonu@hp:~$ echo $((0xff&amp;gt;&amp;gt;2))&lt;br /&gt;63&lt;br /&gt;tonu@hp:~$ echo $((0xee&amp;amp;0x55)) | bc &lt;br /&gt;68&lt;br /&gt;tonu@hp:~$ echo "obase=16;" $((0xee&amp;amp;0x55)) | bc&lt;br /&gt;44&lt;br /&gt;tonu@hp:~$&lt;br /&gt;&lt;br /&gt;Viimases käsus ma ei oska ilma BC utiliiti kasutamata kuueteistkümnendsüsteemi kasutada. Äkki sina oskad aidata?&lt;br /&gt;&lt;br /&gt;Edasi ainult mulle mõtet omavad märkmed:&lt;br /&gt;&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo -e "obase=2;" $((`sudo i2cget -y 0 0x38`)) | bc&lt;br /&gt;11111110&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo -e "obase=2;" $((`sudo i2cget -y 0 0x38`&amp;amp;1)) | bc&lt;br /&gt;0&lt;br /&gt;tonu@x3200:~/tyros/tonu$ sudo i2cset -y 0 0x38 0xff&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo -e "obase=2;" $((`sudo i2cget -y 0 0x38`&amp;amp;1)) | bc&lt;br /&gt;1&lt;br /&gt;tonu@x3200:~/tyros/tonu$&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo -e "obase=2;" $((~`sudo i2cget -y 0 0x38`&amp;amp;1)) | bc&lt;br /&gt;0&lt;br /&gt;tonu@x3200:~/tyros/tonu$ sudo i2cset -y 0 0x38 0xff&lt;br /&gt;tonu@x3200:~/tyros/tonu$ sudo i2cset -y 0 0x38 0xfe&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo -e "obase=2;" $((~`sudo i2cget -y 0 0x38`&amp;amp;1)) | bc&lt;br /&gt;1&lt;br /&gt;tonu@x3200:~/tyros/tonu$ &lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo -e "obase=2;" $((~`sudo i2cget -y 0 0x38`)) | bc&lt;br /&gt;-11111111&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo -e "obase=2;" $((~`sudo i2cget -y 0 0x38`)) &lt;br /&gt;obase=2; -255&lt;br /&gt;tonu@x3200:~/tyros/tonu$&lt;br /&gt;tonu@x3200:~/tyros/tonu$ mkdir symbols&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo "1" &amp;gt; symbols/foobar&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo "2" &amp;gt; symbols/barfoo&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo "4" &amp;gt; symbols/test&lt;br /&gt;tonu@x3200:~/tyros/tonu$ echo "8" &amp;gt; symbols/kala&lt;br /&gt;tonu@x3200:~/tyros/tonu$ for i in symbols/*; do echo -e "obase=2;" $((~`sudo i2cget -y 0 0x38`&amp;amp;`cat "$i"`)) | bc; done&lt;br /&gt;0&lt;br /&gt;1&lt;br /&gt;0&lt;br /&gt;0&lt;br /&gt;tonu@x3200:~/tyros/tonu$ &lt;br /&gt;tonu@x3200:~/tyros/tonu$ for i in symbols/*; do echo $i;&amp;nbsp; echo -e "obase=2;" $((~`sudo i2cget -y 0 0x38`&amp;amp;`cat "$i"`)) | bc; done&lt;br /&gt;symbols/barfoo&lt;br /&gt;0&lt;br /&gt;symbols/foobar&lt;br /&gt;1&lt;br /&gt;symbols/kala&lt;br /&gt;0&lt;br /&gt;symbols/test&lt;br /&gt;0&lt;br /&gt;tonu@x3200:~/tyros/tonu$&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-4912116560896896414?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/4912116560896896414/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=4912116560896896414&amp;isPopup=true' title='1 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4912116560896896414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4912116560896896414'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2011/02/bashi-aritmeetika.html' title='BASHi aritmeetika'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-5622646356555805675</id><published>2011-02-06T16:50:00.008+02:00</published><updated>2011-02-06T17:13:14.185+02:00</updated><title type='text'>Absurd - Keela kirjutuscache ning masin läheb kiiremaks</title><content type='html'>Täna sain lõpuks jagu tobedast probleemist, mis on teinud mulle peavalu mitu kuud. Teoreetiliselt on probleem lihtne: vaja on optimeerida mingi server nii, et ei pooks kinni kui ma teen näiteks varukoopiaid. Praktikas aga osutus see peavaluks.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Taust&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Serveriks on 8 tuumaga korralik server, millel 8 gigabaiti mälu ning milles jookseb OpenVZ&amp;nbsp; ~50 virtuaalmasinat. Serveril on peotäis 15000rpm kettaid RAID1+0 konfiguratsioonis. Varukoopiate tegemiseks on serveril külge pandud terabaidine väline USB kõvaketas.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Probleem&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Kõik toimib väga hästi kuni hetkeni kui keegi üritab kirjutada välisele kettale midagi suuruses ~1 gigabait või rohkem. Selle tagajärjel tekib imelik olukord, kus kettad ei loe ega kirjuta, protsessorid on millegi ootel ning masin on samahästi kui kinni. VMSTAT näitab, et swappimist pole, Blocks In ja Blocks out on nulli lähedal ning "Wait" ootab millegi järel. Samas nagu enamus ressursid oleks vabad. Kopeerimise katkestamise järel kulub ~20 minutit, enne kui masin natukenegi töökõlbulikuks saab. Üks pilt ka sellisest hetkest:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_o4OjmDMxZ_s/TU63vUrbe-I/AAAAAAAAAHY/ABEQjYIiMcQ/s1600/hungio4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="376" src="http://4.bp.blogspot.com/_o4OjmDMxZ_s/TU63vUrbe-I/AAAAAAAAAHY/ABEQjYIiMcQ/s640/hungio4.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Probleemi avaldumine toimus järgnevates situatsioonides:&lt;br /&gt;a) kopeerin mingeid faile välisele kettale. Alguses liigub fail kiirusega 50 MB sekundis aga siis ümber gigabidi bealt kukub kiirus mõnekümne kilobaidi peale ja lõpuks nulli.&lt;br /&gt;b) varundamine välise ketta peale öösel, kui koormust eriti ei ole&lt;br /&gt;c) scp-ga kopeerin faile masinasse välisele kettale. Sümptomaatiline:&lt;br /&gt;&lt;br /&gt;body-a.tar.gz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37% 1737MB&amp;nbsp; 95.5KB/s - stalled -&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lahendus&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Natuke ootamatu lahendusena kaotas probleemi momentaalselt käsk:&lt;br /&gt;mount -o remount,sync,dirsync&lt;br /&gt;Lisasin ka /etc/fstab faili:&lt;br /&gt;/dev/sda1 /mnt/ ext3 sync,dirsync,auto&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 2&lt;br /&gt;&lt;br /&gt;Nüüd näitab VMSTAT sellist pilti:&lt;br /&gt;&lt;br /&gt;r&amp;nbsp; b&amp;nbsp;&amp;nbsp; swpd&amp;nbsp;&amp;nbsp; free&amp;nbsp;&amp;nbsp; buff&amp;nbsp; cache&amp;nbsp;&amp;nbsp; si&amp;nbsp;&amp;nbsp; so&amp;nbsp;&amp;nbsp;&amp;nbsp; bi&amp;nbsp;&amp;nbsp;&amp;nbsp; bo&amp;nbsp;&amp;nbsp; in&amp;nbsp;&amp;nbsp; cs us sy id wa st&lt;br /&gt;&amp;nbsp;5&amp;nbsp; 1 1280912 843352 236292 2162456&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 84&amp;nbsp;&amp;nbsp; 572 1604 2071 34 11 33 22&amp;nbsp; 0&lt;br /&gt;&amp;nbsp;2&amp;nbsp; 1 1280908 858944 236428 2162552&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 52&amp;nbsp; 1802 1624 2117 16&amp;nbsp; 7 49 28&amp;nbsp; 0&lt;br /&gt;&amp;nbsp;2&amp;nbsp; 1 1280908 819712 236568 2202392&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 236&amp;nbsp; 1128 1719 2507 29&amp;nbsp; 7 36 28&amp;nbsp; 0&lt;br /&gt;&amp;nbsp;1&amp;nbsp; 1 1280908 529864 236704 2487364&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 26&amp;nbsp;&amp;nbsp; 570 1573 3006 30 23 25 22&amp;nbsp; 0&lt;br /&gt;&amp;nbsp;1&amp;nbsp; 1 1280908 398164 236892 2615200&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 230&amp;nbsp;&amp;nbsp; 572 1568 2077 20 16 41 23&amp;nbsp; 0&lt;br /&gt;&lt;br /&gt;ning teisest arvutist suure faili sisse kopeerimine liigub kiirusega 70kB/sek, mis on üliaeglane. 700MB faili kopeerimise ajaks pakutakse paar tundi. Enne aga liikus kiiresti ning tappis terve arvuti. Olgu parem aeglane kui ebatöökindel.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mõtted&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ilmselt on probleemi olemus selles, et masina puhvrid lastakse kirjutamise ajaks tühjaks kõigest, mis seal on ning täidetakse välisele kettale mineva failiga. See aga teitab olukorra, kus virtuaalmasinate tööks vajalikku kraami enam mälus ei ole.&lt;br /&gt;Ma ei saa aru, mis peaks kirjutuspuhvrite täitumine viima nulli ketaste läbilaskevõime.&lt;br /&gt;Tundub olema praktiline linuxi all defineerida ära, millised kettad on ajakriitilised ja millised mitte ning jätta kirjutuscache ainult ajakriitilistele seadmetele.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-5622646356555805675?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/5622646356555805675/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=5622646356555805675&amp;isPopup=true' title='2 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/5622646356555805675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/5622646356555805675'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2011/02/absurd-keela-kirjutuscache-ning-masin.html' title='Absurd - Keela kirjutuscache ning masin läheb kiiremaks'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_o4OjmDMxZ_s/TU63vUrbe-I/AAAAAAAAAHY/ABEQjYIiMcQ/s72-c/hungio4.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-1076370424187458781</id><published>2010-12-05T18:46:00.010+02:00</published><updated>2010-12-12T14:51:35.419+02:00</updated><title type='text'>Robotex 2010 kogemus</title><content type='html'>Ma osalesin see aasta esimest korda Robotexil ja seda koos Tartu Ülikooli robotiklubi tiimiga. Me olime ka ühed, kes ei suutnud oma robotit valmis saada õigeks ajaks. Seetõttu võib kõike siin kirjutatavat saata prügikasti sõnadega "kaotajate hala". Samas ma leian, et me oleme midagi siiski korda saanud ning ma ei vaatleks asja nii must-valgelt, et on võitjad ning kõik muu on saast. Minu elufilosoofia järgi on ka negatiivne kogemus kasulik kogemus. Ning antud juhul ma analüüsin meie läbikukkumise põhjuseid. Ma olen ise lugenud paljude teiste sarnaseid blogisid ning olen neile tänulik. Ma loodan, et meie negatiivne kogemus on abiks järgmise aasta tiimidele.&lt;br /&gt;&lt;br /&gt;Selle aasta ülesanne oli 95% sarnane eelmise aasta omale: leida 2x3m suuruselt platsilt üles golfipallid ning lüüa need vastase väravasse.&lt;br /&gt;Minu kinnisidee oli teha keeruline robot. Tunnistan, et mind jätab külmaks idee teha järjekordne nelinurkne kast, mis on loll nagu lauajalg. Ma toon siin ära Robotex 2009 finaalvideo:&lt;br /&gt;&lt;br /&gt;&lt;a class="external free" href="http://www.youtube.com/watch?v=4sljz0AP9fA" rel="nofollow" title="http://www.youtube.com/watch?v=4sljz0AP9fA"&gt;http://www.youtube.com/watch?v=4sljz0AP9fA&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1:20 ajal märkab robot kolmest palligruppi, haarab sealt ühe ja lööb  väravasse. Pärast 1:26 toimunud lööki võiks ta kohe haarata uue palli  enda kõrvalt aga tal pole mälu realiseeritud ning ligi 9 sekundit ta  otsib uut palli (9 sekundit on 10% ajast!). 1:43 ajal pöörab robot  väravani mitte lühimat ringi mööda, kuigi ta võiks seda teha ning pärast  lööki jälle ei leia tükk aega palle, mis on omal kohal ammu. Ma üldiselt näen kogu Robotexi sellisena, et see on paras jõukatsumine algajatele aga ma ei hinda nende võitjaid kuigi kõrgelt. Võidab reeglina kast, mis on piisavalt primitiivne ning reeglina kukuvad läbi teadusmahukad lahendused.&lt;br /&gt;Eelmine aasta läks varakult rikki robot Püha Vaim 5000, mis esimese ning ainukesena kasutas &lt;a href="http://www.cis.upenn.edu/%7Ekostas/omni.html"&gt;hüperboolpeeglit&lt;/a&gt;. See robot ja tiim seisis nurgas ilma erilist tähelepanu võitmata. Mina ütlen otse välja, et minu arvates polnud enamustel osalejatel taset, et isegi märgata sellist lahendust ning selle kõrget lendu osata hinnata. &lt;br /&gt;&lt;br /&gt;Robotex 2010 tõi suurusjärgus viis hüperboolpeegliga robotit. Neist ükski ei saavutanud esikohta hoolimata tehnilisest eelisest. Üks hea video selle aasta ühest parimast robotist Darth Mäger: &lt;a href="http://www.youtube.com/watch?v=N7c3CXiUHTk%20"&gt;http://www.youtube.com/watch?v=N7c3CXiUHTk &lt;/a&gt;&lt;br /&gt;See robot on ka minu teada esimene, kes kasutas kuuekanalilist kärge majakate leidmiseks. See võib ju tagantjärele tunduda lihtne aga tegelikult see on geniaalne!&amp;nbsp; Müts maha nende ees!&lt;br /&gt;&lt;br /&gt;Nüüd projekt, millega meie valmis ei jõudnud sisaldas palju uudseid elemente. Meie oleme vist esimesed Robotexide ajaloos, kes kasutas&amp;nbsp; edasiliikumiseks jalgu. See absoluutselt ebaratsionaalne idee lihtsalt meeldis meile. Meie prototüübi esimesi arglikke samme näeb siit: &lt;a href="http://www.youtube.com/watch?v=AjneCRKqyKg"&gt;http://www.youtube.com/watch?v=AjneCRKqyKg&lt;/a&gt;&lt;br /&gt;Sellise lahendusega Robotexi ei võida. See on ebaefektiivne! Samas südames meil oli teatud lootus vähemalt šõu mõttes "koht kätte näidata" ning ebaefektiivsuse kompenseerisime ajami võimsusega suurusjärgus pool kilovatti. Šõu lootus kustus meil viimasel õhtul enne Robotexi kui selgus, et võistluseks tehtud kvaliteetmaterjalist tehtud jalgadel on aukude asukoht pisut vale ning meil ei olnud võimalik seda kuidagi parandada. Prototüübid olid polükarbonaadist ja ilma laagriteta ning neid poleks võistlusoludes saanud kasutada. Antud konstruktsooni puhul tähendab igasugune ebatäpsus hullumeelset vibratsiooni, mis oleks lõhkunud kogu meie roboti.&lt;br /&gt;Teine põhimõtteline uuendus oli katse kasutada kaheksa kaameraga omnivisiooni. See tulenes minu hirmus hüperboolpeeglite vastu. Esiteks ma ei leidnud kohta, kust hüperboolpeeglit alla $1000 osta saaks. Teiseks kartsin, et hüperboolpeegli puhul jääb pildi täpsus minu soovidele alla. Nimelt oleks ühe kaamera pikselid jagatud ühe suure platsipinna peale ning 2..3 meetri kaugusel oleva 3 valge pikseli korral on keeruline tuvastada, kas see on pall või vastase roboti mingi detail.&lt;br /&gt;&lt;br /&gt;Siit sündis idee võtta piisavalt palju kaameraid ja kasvõi madala resolutsiooniga katta täisring. Katsetamise ja arvutamise tulemusel võin kinnitada, et see lahendus töötab. Meie robotil on kaheksa Sony PS3 Eye kaamerat, mis asuvad 45 kraadiste nurkade all teineteisest. Me võtame sealt 320x240px pilti kiirusel kuni 60fps ning see lahendus reaalselt töötab. Tõend selle kohta on pilt, kus ma esmakordselt nad guvcview abil koos tööle panin:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://digi.physic.ut.ee/mw/images/1/16/8cam4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://digi.physic.ut.ee/mw/images/1/16/8cam4.png" width="640" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Tehnilise info huvilistele ütlen, et siin pole mitte midagi muud erilist kui Sony PS3 kaamera võimed + 2 USB siini. Arvutused ja ka katsed näitasid, et neli kaamerat, 320x240 jA 60fps on viimane piir. Nii kui panen sama USB siini peal olevale WiFi kaardile "enable", kukub nelja kaamera kiirus 20..30fps-ni. Samas kui kaamerad seadistada kõik 50fps peale, sai ka WiFit kasutada ilma pildikiiruse kaota.&amp;nbsp; Huvitav tähelepanek oli ka see, et samas Bluetooth hiire kasutamine ei seganud kaameraid üheski situatsioonis. Pole kontrollinud aga arvan, et USB1.1 seadmed on mõtteliselt eraldi siini küljes ning seetõttu sellised "aeglasemad" seadmed on vahel kasulikud.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Ma ei hakka muudesse tehnilistesse detailidesse laskuma aga kiirelt üle libistades ütlen, et kasutasin viimaseid linuxi tuumasid ning 2.6.37-rc4 tuum oli robotexi ajaks viimane ning sisaldas ka asjakohaseid pätse, mis elu lihtsamaks tegid.&amp;nbsp; Samuti ehk on oluline, et meie tarkvaras oli tehtud kaks eraldi lõime ainuüksi kaameratest pildi kokku korjamiseks. Ma pole kindel, kuidas USB täpselt töötab kui üritada sama lõimega kahest eri siinist viimast võtta.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Kokku võttes saime pildi kogu platsist kõrgusega 320px (kaamerad panime külili) ning laiusega ~2000 pikselit. See omakorda lubas näha piisavalt teravalt igat punkti platsil.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Ja nüüd viimane uuendus oli meil GPU kasutamine. Mul pole arvulist infot kuskilt võtta aga kõhutunne ütles, et me jääme videotöötlusega CPU peal hätta. Kuna ma olen enne ka CUDAt programmeerinud, tundus hea mõte kasutada seda kahurit. Meie robotil on &lt;a href="http://www.palit.biz/main/vgapro.php?id=1373"&gt;NVIDIA GTS450&lt;/a&gt; videokaart ning koos arvutiga tarbis selline kooslus 15V akust kuni 15A voolu. Pinali suuruse aku pealt sai töötada umbes 20 minutit.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Ma ennustan, et Robotex 2011 puhul on GPU kasutajaid juba rohkem kui üks. Põhjust selleks annab fakt, et &lt;a href="http://pressroom.nvidia.com/easyir/customrel.do?easyirid=A0D622CE9F579F09&amp;amp;version=live&amp;amp;releasejsp=release_157&amp;amp;prid=665626"&gt;OpenCV on ametlikult välja kuulutanu&lt;/a&gt;d, et lisavad &lt;a href="http://developer.nvidia.com/object/npp_home.html"&gt;NPP&lt;/a&gt; toe ning asjakohased muutused on &lt;a href="https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/gpu/"&gt;SVN-s juba näha.&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Üldiselt on Robotexi ülesanded teatud mõttes primitiivsed ning OpenCV jms võimaliused on selle jaoks liig. Ma katsetasin lahendusega, kus pilt tõmmatakse sisse OpenCV struktuuri ning siis ma ise tsüklitega käin üle pikselite ja teen mingeid otsuseid. Näiteks selline CUDA kernel suutis üsna hästi leida rohelise ala lõppemist:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;pre&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;__global__ void&lt;br /&gt;kernel(unsigned int green_counters[IMAGE_HEIGHT], const unsigned char *imageData)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;#define V_GREEN_MAX 120&lt;br /&gt;#define S_GREEN_MAX 120&lt;br /&gt;#define H_GREEN_MIN (int)((120.0-60.0)/360.0*256.0)&lt;br /&gt;#define H_GREEN_MAX (int)((120.0+60.0)/360.0*256.0)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned int green = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned int i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char h_green=readpixel(imageData,IMAGE_WIDTH-1,threadIdx.x,H);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char s_green=readpixel(imageData,IMAGE_WIDTH-1,threadIdx.x,S);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char v_green=readpixel(imageData,IMAGE_WIDTH-1,threadIdx.x,V);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 1; i &amp;lt;= IMAGE_WIDTH;i++) {&lt;br /&gt;    &amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char pixel_h=readpixel(imageData,IMAGE_WIDTH-i,threadIdx.x,H);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;     unsigned char pixel_s=readpixel(imageData,IMAGE_WIDTH-i,threadIdx.x,S);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;     unsigned char pixel_v=readpixel(imageData,IMAGE_WIDTH-i,threadIdx.x,V);&lt;br /&gt;    &amp;nbsp;&amp;nbsp;&amp;nbsp; if (&lt;br /&gt;&lt;br /&gt;    &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pixel_s &amp;gt;= 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;     &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;    &amp;nbsp; pixel_v &amp;lt; v_green +90 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;       ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;     green++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;     } else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;      break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;     }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; green_counters[threadIdx.x] = green;&lt;br /&gt;}&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Et tegin massiivi "int green_counters[240]" ning siis lasin 240 CUDA lõime pildile kallale jooksma piki 320-t pikselit: &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://digi.physic.ut.ee/mw/images/3/36/Cudaskyline.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://digi.physic.ut.ee/mw/images/3/36/Cudaskyline.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Kiirus suurusjärgus 6000fps mingi suvalise videokaardi peal.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Nüüd põhjused, miks me robotit valmis ei saanud:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;1. Me ignoreerisime &lt;a href="http://en.wikipedia.org/wiki/KISS_principle"&gt;KISS&lt;/a&gt; printsiipi. Ning me kavatseme seda ka edaspidi ignoreerida :=)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;2. Meie tiim pandi kokku inimestest, kellel polnud mingit koostöökogemust ja kelle teadmised, töökultuurid ja vastutustunne on erinevatest äärmustest. Sellised asjad kahjuks tulevad alles siis välja, kui inimene on terve oktoobrikuu "tööd teinud" ja siis selgub, et tulemus on null ning edastatakse selline teade skaipi: &lt;b&gt;&lt;i&gt;"tsau, kle ma siin mõtlesin, et ma siiski lahkun tiimist, mõned asjad vahele tulnud ja mul pole eriti aega, ütle siis teistele kah edasi. "&lt;/i&gt;&lt;/b&gt;. Mulle on mitu inimest öelnud, et kui projekt ei saanud valmis, on tegemist puuduliku juhtimisega. Mina selle peale mõtlen siiani, et mismoodi sa selliseid juhid? Ma ei saa kuidagi mõjutada inimest, kellele ma palka ei maksa ja kes ise tuleb, ise läheb. Eks ma pean siin kõvasti mõtlema, kuidas seda viga edaspidi vältida. Lihtsalt mängureeglid on sellised, et keskmises tiimis on kamp esmakursuslasi, kellest me ei tea midagi ning ainuke mõjutusmeetod on kuue ainepunkti äravõtmine. &lt;a href="http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html"&gt;Joel Spolskyl on õigus&lt;/a&gt;, et probleem pole selles, kas inimene võtta. Probleem on selles, kui võtad vale inimese tööle. Antud asjas me kaotasime kuu aega elektrooniku aega, mis oli üks hiljem kumuleerunud hilinemise juurpõhjus.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;3. Inimesed ei mõtle üldse kaasa. Näiteks meil oli joonistes kasutatud 4mm plekk. Mingitel põhjustel otsustas keegi selle vahetada 3mm-se vastu. Iseenesest oleks see tööprotsessis normaalne vahetus aga meil olid tapid ka 4mm-sed ja neid keegi kolmeseks ei muutnud. Samamoodi tegi üks insener trükkplaadi joonise, kus 30 amprit lasti läbi 0,254mm raja plaati mööda edasi-tagasi läbi kümmekonna läbiviigu.&amp;nbsp; Teine insener aga ei viitsinud kunagi datasheeti ennetavalt lugeda ja siis tekivad küsimused kolm päeva enne robotexi, et "milleks on ENA(ble)" jalg mikroskeemil? Sellise suhtumise juures, kus reaalselt süvenetakse asjasse viimasel hetkel ei saagi head tagajärge olla.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;4. Me lahendasime ära kõik keerulised probleemid aga jäime jänni pisiasjadega. Näiteks mina maadlesin viimasel päeval sellega, et saaks prototüübis olnud 3,5" kõvaketta asemel lõpuks kasutusele 2,5" SSD ketta. Asi, milles ma ei näinud mingit probleemi lõppes fiaskoga. Ubuntu installeerub ja töötab kenasti. Aga mul oli vaja Sony kaamera jaoks kasutada viimast Linuxi tuuma. See aga mingil arusaamatul põhjusel SSD ketast ei näe. Kulutasin sellele probleemile vähemalt kümme tundi ja lahendust ei leidnudki. Meie roboti ehitust arvestades polnud võimalik aga välja minna 3,5" kõvakettaga. Robot oli niigi viimase servani täis pakitud tehnikat ning meil oli potensiaalselt ohtlik kuumuse kogunemine ning ka tulekahju oht. Viimane hoop meie robotile oli see kui selgus, et mehaanikud olid midagi kontrollimata jätnud ning jalgade konstruktsioon ei olnud sümmeetriline. See vibratsioon oleks purustanud kogu ülejäänud roboti. Me olime valmis enamus projekti vältel jalad vahetama rataste vastu aga viimsel ööl oli selleks juba liiga vähe aega.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;5. Viimasel nädalal kasutasime puuduvate juppide tellimiseks kallist kullerteenust, kus lubati näiteks Inglismaalt pakike kohale tuua 24 tunniga ja maksime selle eest 100 naela (1900 krooni). Reaalselt jõudis pakk kohale pea nädalaga. Ja neid pakke tuli eri kohtadest kaks tk. Kolmas pakk pole siiani kohale jõudnud. Ja sellise viimasel hetkel tellimise põhjused on selles, et eksisteerib pätt nimega Wilhelm Goss, kes peab poodi, kus müüb olematut kaupa aadressil http://actionmodelcentre.co.uk/. Me ootasime oma mootoreid üle kuu. Selle käigus mailisime, helistasime jne. Siis tellisime mootorid teisest kohast USAs aga ka sealt pole neid siiani kätte saanud kuna nad postitati odavaima võimaliku teenusega. Reaalsed mootorid saime kolmanda tellimusega ja viimasel hetkel.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Ma mõtlesin, et kas üldse sellist läbi lillede vihjamist on tarvis teha. Et inimesed solvuvad jne aga leian, et parem annan sellest järgmise aasta omadele teada. Sarnaseid muresid olen kuulnud mitme teisegi tiimi käest. Igal juhul pole asi selles, et ei osataks vaid selles, et ei üritatagi mõelda. Kompetentsi on ümberringi kuhjaga võtta. Lihtsalt asjalikke küsimusi pole.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Ma leian, et koostöö ei käi alati läbi hierarhilise juhtimise. Ma tooks siia sisse näite firmast Bluemoon, millest hiljem sai Skype. Need mehed lihtsalt tegid koostööd ja kui seal oleks vaja olnud kubjast, et neid tööle sundida, poleks sellest iial saanud Skype.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Samas üldiselt leian, et Robotex tervikuna on väga hea ja väga vajalik üritus, kus ei ole kaotajaid. Me kõik õppisime midagi juurde. Ma nägin, kuidas mõni inimene silmnähtavalt arenes. Robotiehitajate hulgas on päris mitmeid selliseid, kelle kätte usaldaksin oma elu ja kelle käest soovin midagi õppida.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Ja selline tähelepanek, et kahe teise tiimina Tartu Ülikooli Robotiklubis, kes ei saanud robotit valmis olid just tugevaimad tegijad ning nende robotid ja ideed on minu meelest kadedaks ajavalt kenad. Ma ei oma teiste koolide kohta sellist pilti.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Ja veel. Ma hindan kõrgelt originaalsust. Ka lihtsusel on oma võlu kui see on äärmuslik. Robotex &lt;strike&gt;2008&lt;/strike&gt; 2007 tegija on minu jaoks robot, mis kukkus köie pealt alla ja seetõttu ei saanud head kohta. See oli firma &lt;a href="http://www.karuteened.ee/"&gt;Karuteened&lt;/a&gt; poiste masin, millel mikrokontrolleri asemel neli releed. Nad tegid ülesande ära aga pisivea tõttu kukkusid köielt.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-1076370424187458781?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/1076370424187458781/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=1076370424187458781&amp;isPopup=true' title='6 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/1076370424187458781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/1076370424187458781'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2010/12/robotex-2010-kogemus.html' title='Robotex 2010 kogemus'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-3558935119069918395</id><published>2010-09-19T10:55:00.006+03:00</published><updated>2010-09-22T13:02:34.042+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='march'/><category scheme='http://www.blogger.com/atom/ns#' term='GCC'/><category scheme='http://www.blogger.com/atom/ns#' term='opencv'/><category scheme='http://www.blogger.com/atom/ns#' term='mtune'/><title type='text'>GCC march lipu optimeeringud</title><content type='html'>GCC alates versioonist 4.2 omab väga asjalikku optimeerimisoskust. Kui seni pidi maksimaalse tulemuse saavutamiseks ise mängima GCC võtmega -march, siis nüüd piisab kui lisada -march=native ja sellega kogu kood kokku lasta.&lt;br /&gt;&lt;br /&gt;Kui tahame näha, mida see võti täpselt kompilaatorile ütleb, kasutame sellist käsku:&lt;br /&gt;Pentium M läptop:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;tonu@x41:~$ gcc -march=native -E -v - &amp;lt; /dev/null 2&amp;gt;&amp;amp;1 | grep cc1&lt;br /&gt;/usr/lib/gcc/i486-linux-gnu/4.4.3/cc1 -E -quiet -v - -D_FORTIFY_SOURCE=2 -march=pentium-m --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=generic -fstack-protector&lt;br /&gt;tonu@x41:~$&lt;/span&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Core 2 Duo 6300 aeglasem versioon: &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tonu@x3200:~$ gcc -march=native -E -v - &amp;lt; /dev/null 2&amp;gt;&amp;amp;1 | grep cc1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;  /usr/lib/gcc/x86_64-linux-gnu/4.4.3/cc1 -E -quiet -v - -D_FORTIFY_SOURCE=2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2 -fstack-protector&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; tonu@x3200:~$&lt;/span&gt; &lt;br /&gt;Pentium D 2,8Ghz &lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tonu@tonu-desktop:~$ gcc -march=native -E -v - &amp;lt; /dev/null 2&amp;gt;&amp;amp;1 | grep cc1&lt;br /&gt;/usr/lib/gcc/i486-linux-gnu/4.4.3/cc1 -E -quiet -v - -D_FORTIFY_SOURCE=2 -march=nocona -mcx16 -msahf --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=nocona -fstack-protector&lt;br /&gt;tonu@tonu-desktop:~$ &lt;/div&gt;&lt;br /&gt;Masin, kust GCC kompilaator on liiga vana:&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;[root@grupp ~]# gcc -march=native -E -v - &amp;lt; /dev/null 2&amp;gt;&amp;amp;1 | grep cc1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;  /usr/libexec/gcc/i386-redhat-linux/4.1.2/cc1 -E -quiet -v - -march=native&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; [root@grupp ~]# &lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;Kuidas muudatus valutult OpenCV 2.1.0 sisse viia: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tonu@hp:~/Desktop/opencv.build$ grep march ../*/*&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;../OpenCV-2.1.0/CMakeLists.txt: set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -march=i686")&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tonu@hp:~/Desktop/opencv.build$ sed -i -e 's/march=i686/march=native/g' ../OpenCV-2.1.0/CMakeLists.txt&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tonu@hp:~/Desktop/opencv.build$ grep march ../*/*&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;../OpenCV-2.1.0/CMakeLists.txt: set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -march=native")&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tonu@hp:~/Desktop/opencv.build$&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tonu@hp:~/Desktop/opencv.build$ cmake ../OpenCV-2.1.0 &lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;Väidetavalt on -march=native sobilik ainult Inteli ja AMD protsessoritele. &lt;br /&gt;&lt;br /&gt;Hoiatus: -march võtme kasutamisel kaotatakse  ühilduvus ning programm töötab kindlasti ainult selle protsessori peal, mille jaoks ta on kompileeritud. Kui tahad ühilduvus ja mingi protsessori eelistamist optimeerimisel, kasuta -mtune võtit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-3558935119069918395?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/3558935119069918395/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=3558935119069918395&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/3558935119069918395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/3558935119069918395'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2010/09/gcc-march-lipu-optimeeringud.html' title='GCC march lipu optimeeringud'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-8571308502908071605</id><published>2010-08-26T23:13:00.000+03:00</published><updated>2010-08-26T23:13:57.031+03:00</updated><title type='text'>Nipid veebimeistrile, Viies osa.</title><content type='html'>IT inimesena avastasin enda jaoks ~14 aastat tagasi sellise nähtuse, et igasugune nimeserveri jama kipub välja nägema sümptomina "internetti ei ole". Toon lihtsa näite. Teen käsurealt: &lt;br /&gt;&lt;br /&gt;tonu@x41:~$ ping 192.168.1.73&lt;br /&gt;PING 192.168.1.73 (192.168.1.73) 56(84) bytes of data.&lt;br /&gt;64 bytes from 192.168.1.73: icmp_seq=1 ttl=64 time=3.37 ms&lt;br /&gt;64 bytes from 192.168.1.73: icmp_seq=2 ttl=64 time=1.20 ms&lt;br /&gt;64 bytes from 192.168.1.73: icmp_seq=3 ttl=64 time=1.16 ms&lt;br /&gt;^C&lt;br /&gt;--- 192.168.1.73 ping statistics ---&lt;br /&gt;3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;rtt min/avg/max/mdev = 1.164/1.916/3.378/1.033 ms&lt;br /&gt;tonu@x41:~$ &lt;br /&gt;&lt;br /&gt;Nimeserver pole mängus? On küll! Tegelikult iga pingi ajal tehakse nimeserverisse päring ja püütakse 192.168.1.73 pöörata nimeks tagasi. Kui nimeserver ei vasta, siis ping hangub (ajutiselt) ja jääb mulje, et sisevõrk on katki. Õigema tulemuse jaoks on tarvis käsku kasutada hoopis -n võtmega.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Samamoodi tekitavad igasugused nimeserveri hädad uskumatult suuri probleeme serverites. Näiteks mul on suuremas MySQL serveris alati /etc/hosts failis kirjas kõigi veebiserverite IP aadressid ja nimed. See kiirendab MySQLi tööd! Iga ühenduse puhul MySQLini tehakse nimepäring õiguste kontrollimise tarvis. Kui nüüd /etc/resolv.conf failis esimene nimeserver ei vasta, oodatakse mitu sekundit, enne kui järgmist küsitlema minnakse. Kogu selle aja on serveril ressursse selle all kinni ja veebiklient peab lihtsalt ootama.&lt;br /&gt;&lt;br /&gt;Üks asi, mida brauseritest eriti ei teata on see, et brauser piirab ühe domeeni pihta minevate päringute arvu. Üks põhjustest on vist &lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html"&gt;RFC2616&lt;/a&gt; sees olev:&lt;br /&gt;&lt;i&gt;"Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy."&lt;/i&gt;&lt;br /&gt;Ma ei teinud viga kui ütlesin, et domeeni pihta minevaid päringuid piiratakse lisaks serveri põhisele. Reaalselt nii on ja see on ka põhjus, miks Facebook kasutab piltidele domeeni fbcdn.net ja ebayl on ebaystatic.com. Nii tuleb kasutajale pilt rutem ette.&lt;br /&gt;&lt;br /&gt;DNSSEC&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions"&gt;DNSSEC&lt;/a&gt; on asi, mida ka meil hakatakse juurutama. Tegemist on turvalisuse tõstmise meetmega ning oluline on, et kõik DNS vastused saavad digiallkirjastatud.&lt;br /&gt;Mina pelgan, et selle meetme kasutamine teeb meil "interneti katki". Igasugune krüptograafiline lähenemine võtab teatud aja. See aeg on tänapäeva arvutite peal tühine aga ma siiski pelgan probleeme. Nimeserver on teenus, mida küsitletakse ühe veebipäringu tegemise jooksul tihti sadu kordi. Kui seal mingi asi muutub 0.01 sekundit aeglasemaks, on meil tulemuseks mitme sekundi pikkune &lt;a href="http://en.wikipedia.org/wiki/Lag"&gt;lääg&lt;/a&gt;.&lt;br /&gt;Seetõttu arvan, et DNSSEC on kindlasti vajalik aga mitte alati ja mitte kõigile. Tihti on kiirus turvalisusest olulisem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-8571308502908071605?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/8571308502908071605/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=8571308502908071605&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/8571308502908071605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/8571308502908071605'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2010/08/nipid-veebimeistrile-viies-osa.html' title='Nipid veebimeistrile, Viies osa.'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-4012333171923704339</id><published>2010-08-01T16:34:00.019+03:00</published><updated>2010-08-24T20:39:19.577+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='N channel MOSFET'/><category scheme='http://www.blogger.com/atom/ns#' term='H-Sild'/><category scheme='http://www.blogger.com/atom/ns#' term='H-Bridge'/><title type='text'>H-Bridge ehk H-Sild</title><content type='html'>Transistori tüübi valik&lt;br /&gt;&lt;br /&gt;Kõige suurema kasuteguriga H-Silla saab kasutades &lt;a href="http://www-g.eng.cam.ac.uk/mmg/teaching/linearcircuits/mosfet.html"&gt;N MOSFET&lt;/a&gt; transistoreid nii ülemises kui alumises õlas. Põhjus on selles, et N MOSFET avatud olekus on&amp;nbsp; kolm korda väiksema takistusega kui P MOSFET.&lt;br /&gt;&lt;br /&gt;Ainult N MOSFETite kasutamine teeb skeemi keerulisemaks kuna ülemise õla transistoreid tuleb juhtida toitest veel kõrgema (reeglina 10..12 volti) positiivse pingega. &lt;br /&gt;&lt;br /&gt;Keerukuse lisandumist saab siiski vältida kasutades selleks spetsiaalseid mikroskeeme nagu &lt;a href="http://www.intersil.com/data/an/an9405.pdf"&gt;HIP4081A&lt;/a&gt; või &lt;a href="http://www.maxim-ic.com/datasheet/index.mvp/id/4522"&gt;MAX5063&lt;/a&gt;,&amp;nbsp; kus on pinge tõstmine sees ära lahendatud.&lt;br /&gt;&lt;br /&gt;MOSFETi valikul tuleb arvestada, et koos pingetaluvusega tõuseb ka avatud MOSFETi takistus.&lt;br /&gt;&lt;br /&gt;Võrdluseks, vanemad N-MOSFET &lt;br /&gt;IRFP054, 70A, 60V&amp;nbsp; RDS(on) (Ω) VGS = 10 V 0.014Ω&lt;br /&gt;IRFP460, 20A, 500V RDS(on) (Ω) VGS = 10 V 0.270Ω &lt;br /&gt;Uuema põlvkonna N-MOSFETid&lt;br /&gt;&lt;a href="http://www.irf.com/product-info/datasheets/data/irf7759l2pbf.pdf"&gt;IRF7759L2&lt;/a&gt; 160A 75V&amp;nbsp; RDS(on) (Ω) VGS = 10 V 0.0018Ω&lt;br /&gt;&lt;br /&gt;Pingelangud voltides on Ohmi seaduse järgi U=I*R&lt;br /&gt;IRFP054, 70A*0.014Ω=0.98V&lt;br /&gt;IRFP460, 20A*0.270Ω=5.4V&lt;br /&gt;IRF7759L2 160A*0.0018Ω=0,288V&lt;br /&gt;&lt;br /&gt;IRFP054, 70A*0.98V=68.6W&lt;br /&gt;IRFP460, 20A*5.4V=108W&lt;br /&gt;IRF7759L2 160A*0,288V=46,08W&lt;br /&gt;&lt;br /&gt;Siit nähtub, et&amp;nbsp; liiga suure pingetaluvusega IRFP460 valimise puhul läheb 20A juures 100+ vatti soojuseks kui IRF7759 suudab 160A juures ainult 46W (20A juures oleks 5,75W) soojuseks eraldada. Tuleb ka meeles pidada, et H-Sild koosneb reeglina neljast transistorist, seega isegi sellisel juhul läheb juba 4*46W=184W summaarselt soojuseks!&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;IRF7759 datasheet näitab, et pingelang kahekordistub kui temperatuur tõuseb 25-&amp;gt;125 kraadi C. Seega jahutamine on väga oluline.&lt;br /&gt;Pingelang väheneb kümmekond protsenti kui juhtpinge on 10V asemel 15V.&lt;br /&gt;&lt;br /&gt;Jahutusradiaatori arvutuste alused:&lt;br /&gt;http://en.wikipedia.org/wiki/Thermal_resistance_in_electronics&lt;br /&gt;http://www.changpuak.ch/electronics/calc_23.html&lt;br /&gt;http://www.sm0vpo.com/begin/heat-0.htm&lt;br /&gt;IRF7759 datahseet annab ilma jahutuseta maksimaalseks võimsuseks 45°C/W. Ehk siis umbes kaks vatti ja temperatuur on tõusnud 90 kraadini.&lt;br /&gt;Kuna meie vajame 46W soojust kuhugi juhtida, siis 46W-2W=44W peab minema mingisse radiaatorisse.&lt;br /&gt;&lt;i&gt;&lt;a href="http://ee.linkedin.com/pub/andres-soolo/13/3a7/645"&gt;Andres Soolo&lt;/a&gt; lisas asjaliku mõtte: "Seda 2W soojust ei muudeta transistori sees lihtsalt olematuks vaid see hajub õhku transistori korpuse pinnalt.&lt;br /&gt;Kui korpus ühelt poolt radiaatoriga kinni katta, väheneb transistori&lt;br /&gt;otseselt õhuga kokkupuutuv pindala poole võrra ja laseb nüüd ainult 1W&lt;br /&gt;läbi. Seega vähemalt 45W läheb radiaatorisse. Karta on aga, et tegelikult on ka see otse läbi korpuse hajuv osa ka juba radiaatori spetsifikatsioonile sisse arvestatud."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Kui arvestame, et ruumi temperatuur on 30 kraadi ja me peaksime kogu asjaga jääma 100 kraadi piiresse, siis võib temperatuur tõusta 70 kraadi üles. Iga vati kohta on meil kraade varuks 70 °C / 45 W =1.56 °C/W. Siit selgub, et vajame radiaatorit, mis suudab jahutada 1,56°C/W. &lt;a href="http://www.sm0vpo.com/begin/heat-0.htm"&gt;Rusikareegel&lt;/a&gt; on, et radiaator annab 50/sqrt(pinna pindala cm2)=x°C/W. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://ee.farnell.com/h-s-marston/94dn-02000-a-200/heat-sink-0-7-c-w/dp/526770"&gt;Farnellist leiame&lt;/a&gt; 0.7°C/W radiaatori, mille mõõdud on 200x123x40mm.&lt;br /&gt;Radiaatoril on 13 laba, igaühel kaks külge mõõtudega (40mm-6mm)x200mm=6800mm2*26külge=176800mm2=1768cm2=42x42cm pind.&lt;br /&gt;&lt;br /&gt;Tagurpidi arvutades 50/sqrt(1768)=1,19°C/W. Seega umbkaudsete arvutuste tegemiseks sobib see valem küll. Samas siit näeb ära, et suurte voolude või pingete juures tasub skeemi optimeerimisega vaeva näha. Muidu juhtub, et radiaator on kirjutuslaua suurune.&lt;br /&gt;Muidugi saab alati lisada ventilaatori ning detailidesse laskumisel oleks oluline on ka radiaatori asend gravitatsiooni suhtes jms. aga see pole antud postituse teema.&lt;br /&gt;&lt;br /&gt;Silla juhtimine&lt;br /&gt;&lt;br /&gt;Enamustes allikates on H-Silla juhtimine antud primitiivsel kujul, mis pole optimaalne.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_o4OjmDMxZ_s/TFW7nLitivI/AAAAAAAAAF4/eQKDNfozlRY/s1600/simple_bridge.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_o4OjmDMxZ_s/TFW7nLitivI/AAAAAAAAAF4/eQKDNfozlRY/s320/simple_bridge.gif" /&gt;&lt;/a&gt;&lt;/div&gt;Lihtsaim juhtimine, mida igal pool mainitakse on avada korraga Q1 ja Q4, et mootor ühtepidi käiks ja Q2 ning Q3, et mootor teist pidi käiks. Enamus allikaid aga jätab tähelepanuta, et kõigi transistorite sulgemise järel on paksult induktiivne mootor elektrit täis ning vool tahab endiselt joosta. Kui vool joosta ei saa, läheb pinge kõrgeks ja lööb midagi läbi. Selle kaitseks on transistoritel peal kaitsedioodid. Läbi kaitsedioodide jookseb tühikäigul vool toitesse ja nii ei lähe pinged kontrollimatult kõrgeks. Aga see pole kõik :)...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-4012333171923704339?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/4012333171923704339/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=4012333171923704339&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4012333171923704339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4012333171923704339'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2010/08/h-bridgeh-sild.html' title='H-Bridge ehk H-Sild'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_o4OjmDMxZ_s/TFW7nLitivI/AAAAAAAAAF4/eQKDNfozlRY/s72-c/simple_bridge.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-5631531419603251556</id><published>2010-07-12T23:38:00.011+03:00</published><updated>2010-07-13T01:17:47.916+03:00</updated><title type='text'>Eesti Interneti Sihtasutus ebaõnnestus .ee domeeni reformiga</title><content type='html'>&lt;style type="text/css"&gt; &lt;!--  @page { margin: 0.79in }  H2 { margin-top: 0.31in; margin-bottom: 0.04in; font-family: "Arial", sans-serif; font-size: 14pt; page-break-after: auto }  H1 { margin-top: 0.31in; margin-bottom: 0.04in; font-family: "Arial", sans-serif; font-size: 17pt; page-break-after: auto }  H3 { margin-top: 0.31in; margin-bottom: 0.04in; font-family: "Arial", sans-serif; font-size: 12pt; page-break-after: auto }  P { margin-bottom: 0.08in }  A:link { so-language: zxx } --&gt; &lt;/style&gt;  &lt;br /&gt;&lt;h1 align="JUSTIFY"&gt;Avalik kiri Eesti Vabariigi Valitsusele&lt;/h1&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Eesti Interneti Sihtasutus ebaõnnestus .ee domeeni reformiga&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;12. Juuli 2010&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;Autorid: Jaan Jänesmäe, Tõnu Samuel&lt;/div&gt;&lt;h2 align="JUSTIFY"&gt;Sissejuhatus&lt;/h2&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;span lang="en-GB"&gt;Eestis on algatatud domeenireform. Reformi käigus muudeti seni lõppkasutajale tasuta olnud .ee domeen tasuliseks. Domeenide haldamisega on senise EENeti asemel hakanud tegelema Eesti Interneti SA (EIS), mille asutajad on Eesti Vabariik ja &lt;/span&gt;Eesti Infotehnoloogia ja Telekommunikatsiooni Liit&lt;span lang="en-GB"&gt; (ITL).  &lt;/span&gt; &lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;EIS on järjekindlalt ignoreerinud Eesti interneti kogukonna reaalseid vajadusi, personalipoliitika on olnud ebasege  ning võtnud suuna meeletult suurtele kuludele.  &lt;/div&gt;&lt;div align="JUSTIFY" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;span lang="en-GB"&gt;Hoolimata deklaratiivsest lubadusest Eesti internetikogukonda esindada, ei vaevuta suhtlema ega kogukonnaga arvestama. Viis päeva tagasi välja kuulutatud online intervjuu aadressil &lt;/span&gt;&lt;a href="http://majandus.delfi.ee/news/uudised/article.php?id=32024055"&gt;http://majandus.delfi.ee/news/uudised/article.php?id=32024055&lt;/a&gt;&lt;span lang="en-GB"&gt; on jäänud siiani (12. juuli 2010. kell 14) vastusteta. Ka suure pri.ee domeeni kogukonna nõudmistele (&lt;/span&gt;&lt;a href="http://sisalik.dragon.ee/pikett/"&gt;http://sisalik.dragon.ee/pikett/&lt;/a&gt;&lt;span lang="en-GB"&gt;) pole vastu tuldud. &lt;/span&gt; &lt;/div&gt;&lt;div align="JUSTIFY" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;span lang="en-GB"&gt;EIS juhtide teod on kahepalgelised. Ühelt poolt räägitakse Eesti väiksusest ja seetõttu mastaapide väiksuse tõttu vajadusest kehtestada kõrged hinnad (&lt;/span&gt;&lt;a href="http://www.ekspress.ee/news/paevauudised/eestiuudised/viis-vaararusaama-eesti-internetireformist-mis-juhtub-ja-mida-ei-juhtu.d?id=30713805&amp;amp;l=fplead"&gt;http://www.ekspress.ee/news/paevauudised/eestiuudised/viis-vaararusaama-eesti-internetireformist-mis-juhtub-ja-mida-ei-juhtu.d?id=30713805&amp;amp;l=fplead&lt;/a&gt;&lt;span lang="en-GB"&gt;). Teisalt on uskumatult suureks paisutanud EISi ning teinud suurematele riikidele omase kahetasemelise struktuuri, kus klient otse EISiga suhelda ei saagi vaid peab kasutama vahendajate abi.&lt;/span&gt;&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;Eesti domeen on 6 kalleima domeeni seas Euroopa Liidus.&lt;/div&gt;&lt;h2 align="JUSTIFY"&gt;Selle pöördumisega ühinejad teevad järgnevad ettepanekud&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Seoses  ebaprofessionaalsuse, kogukonnaga mitte arvestamise, EIS kahtlase  majandamise ja usalduse täieliku kaotusega leiame, et EIS juhatus  ja nõukogu peavad tagasi astuma. &lt;/li&gt;&lt;li&gt;EIS kui juriidiline  keha omab praeguseks mingeid varasid ja lepinguid. Õiguskindluse  säilitamise mõttes oleks õige EIS ka edaspidi jätta Eesti  rahvuslike domeenide (.ee, .pri.ee .com.ee jne) haldajaks. Samas  töökindluse jätkamiseks oleks loogiline panna EISi nõukogusse ja  juhatusse EENeti asjakohased kogemustega isikud, keda on seni  jäärapäiselt ignoreeritud.    &lt;/li&gt;&lt;li&gt;EIS peaks arvestama  ka huvigruppide, nagu pri.ee all registreeritud eraisikud (üle 12000!) erisusele  ning neile sobiva hinna ning teenuse. &lt;/li&gt;&lt;li&gt; EIS peab lõpetama  igasuguse suhte kompromiteeritud isikutega. &lt;/li&gt;&lt;li&gt;EIS peab tagama  Eesti domeenile mõistliku hinna.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2 align="JUSTIFY" lang="en-GB"&gt;Asjaolud&lt;/h2&gt;&lt;h3 align="JUSTIFY"&gt;Asjaolu 1: 10 678 435 krooni tulu&lt;/h3&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;Vastavalt EISi 2009 majandusaasta aruandele oli sihtasutuse asutamiskapital 400 000 EEK millele lisaks võttis sihtasutus 3 000 000 EEK (tähtajaga kuni 5 aastat) suuruse laenu. Lisaks sellele on sihtasutusele ettenähtud 5 999 670 EEK valitsuselt 18 kuulise investeeringuna (Vabariigi Valitsuse 28. mai 2009. a korraldus nr. 203). Lihtsate arvutuste tulemina saame kokku üle 9 miljoni krooni suuruse eelarve projekti alustamiseks ja käima lükkamiseks.  &lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;Lisaks on EIS kehtestanud registripidajatele tasud   &lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;(&lt;a href="http://www.eestiinternet.ee/upload/files/Registrilepingu_lisa_2_tasud_ja_maksetingimused.pdf"&gt;http://www.eestiinternet.ee/upload/files/Registrilepingu_lisa_2_tasud_ja_maksetingimused.pdf&lt;/a&gt;): 10 000 krooni tagastamatu lepingutasu, tagatisdeposiidi 35 000 krooni.  &lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;Hetkel (12. juuli kell 14) on EISi veebilehel väljas 20 registripidajat, kes summaarselt on tasunud EISile 200,000 tagastamatut lepingutasu ja 700 000 krooni tagatisdeposiite.&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;Lisaks peab iga domeeni eest EISile maksma ettemaksuna 285 krooni. &lt;a href="http://www.eestiinternet.ee/uudised/esimese-kahe-paeva-jooksul-registreeriti-1329-uut-domeeni/_year/2010"&gt;http://www.eestiinternet.ee/uudised/esimese-kahe-paeva-jooksul-registreeriti-1329-uut-domeeni/_year/2010&lt;/a&gt; viitab, et esimese kahe päevaga registreeriti 1329 uut domeeni. Seega on saadud tulu 378 765.&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;Kõik kokku  9 399 670+200 000+700 000+378 765=10 678 435 krooni (~641 478 EUR)&lt;/div&gt;&lt;h3 align="JUSTIFY"&gt;Asjaolu 2: Kulud riistvarale ja tarkvarale 2,460,654 krooni:&lt;/h3&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="margin-bottom: 0in;"&gt;Andmed Riigihangete Registrist:&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="margin-bottom: 0in;"&gt;&lt;br /&gt;1. Võrguserverid -  viitenumber: 117003 - hangitakse Sun SPARC Enterprise T5120 serverid  koos paigaldustöödega, maksumus: 198 040 EEK  &lt;br /&gt;&lt;br /&gt;2.  Võrguseadmed - viitenumber: 117000 - hangitakse Juniper ja Check  Point tulemüürid, seadmete esmane paigaldus, hooldusteenus ja  garantii, maksumus: 518 525 EEK ...  &lt;br /&gt;&lt;br /&gt;3. Kõvakettaseadmed -  viitenumber: 116999 - andmemassiivi EMC CLARiiON AX4-5 ja  varunduslahenduse EMC AVAMAR hankimine, maksumus: 580 500 EEK  &lt;br /&gt;&lt;br /&gt;4.  Infosüsteemid ja serverid - viitenumber: 116994 - Intel serverite  ja virtualiseerimistarkvara hankimine ja paigaldamine, maksumus: 538  000 EEK  &lt;br /&gt;&lt;br /&gt;5. Tarkvara arendusteenused - viitenumber: 117332 -  EIS-i .ee tippdomeeni infosüsteemi arendus - ja tugiteenuse  osutamine, maksumus: 625 580 EEK  Kokku: 2 460 654 EEK&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Asjaolu 3: Domeeni senine omakulu oli 45 krooni aastas&lt;/h3&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Seni .ee domeene hallanud ja kõik seotud kulud kandnud EENet on oma veebilehel (http://www.eenet.ee/EENet/2536.html) teatanud, et domeeni registreerimise omakulu on 45 krooni aastas pluss käibemaks. EENeti direktor Mihkel Kraav on väitnud sama intervjuus Õhtulehele (&lt;a href="http://www.ohtuleht.ee/index.aspx?id=386160"&gt;http://www.ohtuleht.ee/index.aspx?id=386160&lt;/a&gt;). Pole mingit põhjust arvata, et pika kogemusega EENet selles arvamuses eksiks kuuekordselt, kuigi EIS juhtkond on seda väitnud. Veelgi enam,  EENet on pakkunud EIS-le kommertsalustel sama teenust raha eest (&lt;a href="http://no.spam.ee/%7Etonu/EENet-EIS.pdf"&gt;http://no.spam.ee/~tonu/EENet-EIS.pdf&lt;/a&gt;&lt;a href="http://no.spam.ee/%7Etonu/EENet-EIS.pdf" target="_blank"&gt; &lt;/a&gt;) ning EIS maksis selle alusel EENetile sama teenuse eest 250,000 krooni kuus pluss käibemaks. See teeb aasta kuluks 3 miljonit krooni pluss 600 tuhat käibemaks. Pole põhjust arvata, et EENet reaalselt kulutas  rohkem kui EIS maksis.&lt;/div&gt;&lt;h3 align="JUSTIFY"&gt;Asjaolu 4:  EIS planeeritud tulud 12,825,000-14,250,000 aastas.&lt;/h3&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;“Arvestuslikult on praegu registreeritud ca 79 300 .ee lõpuga domeeni, kuid pärast reformi registreeritakse Kautsi hinnangul ümber vaid 45-50&amp;nbsp;000.”&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;a href="http://www.ekspress.ee/news/paevauudised/eestiuudised/viis-vaararusaama-eesti-internetireformist-mis-juhtub-ja-mida-ei-juhtu.d?id=30713805&amp;amp;l=fplead"&gt;(http://www.ekspress.ee/news/paevauudised/eestiuudised/viis-vaararusaama-eesti-internetireformist-mis-juhtub-ja-mida-ei-juhtu.d?id=30713805&amp;amp;l=fplead&lt;/a&gt;&lt;a href="http://no.spam.ee/%7Etonu/EENet-EIS.pdf" target="_blank"&gt; &lt;/a&gt; &lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;a href="http://www.ohtuleht.ee/index.aspx?id=386160" target="_blank"&gt;http://www.ohtuleht.ee/index.aspx?id=386160&lt;/a&gt;&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;a href="http://www.eenet.ee/EENet/2536.html"&gt;http://www.eenet.ee/EENet/2536.html&lt;/a&gt;)&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Korrutades saadud arvud 285 krooniga, tuleb ülal toodud vahemik  12,825,000-14,250,000 aastas.&lt;/div&gt;&lt;h3 align="JUSTIFY"&gt;Asjaolu 5: EIS valetab&lt;/h3&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;EISi väide: "Tagatipuks on Kautsi sõnul EISi kulud võrreldes teiste ELi riikide samalaadsete organisatsioonidega väiksemad, kui mitte kõige väiksemad."  &lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;a href="http://www.ekspress.ee/news/paevauudised/eestiuudised/viis-vaararusaama-eesti-internetireformist-mis-juhtub-ja-mida-ei-juhtu.d?id=30713805&amp;amp;l=fplead"&gt;http://www.ekspress.ee/news/paevauudised/eestiuudised/viis-vaararusaama-eesti-internetireformist-mis-juhtub-ja-mida-ei-juhtu.d?id=30713805&amp;amp;l=fplead&lt;/a&gt;&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Oleme teinud tabeli, kuhu oleme koondanud kõigi Euroopa domeenide hinnad koos viitega lehele, kust see hind pärineb. Tabeliga saab tutuvuda aadressil&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;a href="http://spreadsheets.google.com/ccc?key=tFdfKeatLEIIf6K_EcnSxpA&amp;amp;hl=en_GB#gid=0"&gt;http://spreadsheets.google.com/ccc?key=tFdfKeatLEIIf6K_EcnSxpA&amp;amp;hl=en_GB#gid=0&lt;/a&gt;&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Siit nähtub, et Eesti Interneti pakutav hind on kõrgeim Euroopas. Tabelis on mitmed toodud hinnad antud sellised, mida pakuvad vahendajad. Seega on EISi hindadega võrdluses vahe reaalselt veelgi suurem. Meie naabrite hinnad on Läti €10,5, Leedu €14.90, Soome €13. Isegi väga kalli elutasemega riikides nagu Taani on domeeni hind alla 100 Eesti krooni ja Norras €14.95. Siia kõrvale Eestis pakutav hinnavahemik 369EEK/€23,58 (Zone.ee) kuni 1200 krooni aasta (Cemty.ee).&lt;/div&gt;&lt;h3 align="JUSTIFY"&gt;Asjaolu 6: Isiklik ja erakondlik eelistamine, mitte professionaalne.  &lt;/h3&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Endise Res Publica ja nüüd IRLi liige Marek-Andres Kauts (&lt;a href="http://www.irl.ee/et/Inimesed-ja-organisatsioon/Inimeste-otsing/Marek-Andres-Kauts"&gt;http://www.irl.ee/et/Inimesed-ja-organisatsioon/Inimeste-otsing/Marek-Andres-Kauts&lt;/a&gt;) on seni olnud minister Juhan Partsi (Res Publica asutajaliige ja peaministri kandidaat) abi&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;(&lt;a href="http://web.archive.org/web/20080618163657/www.mkm.ee/index.php?id=7187"&gt;http://web.archive.org/web/20080618163657/www.mkm.ee/index.php?id=7187&lt;/a&gt;&lt;a href="http://web.archive.org/web/20080618163657/www.mkm.ee/index.php?id=7187"&gt;)&lt;/a&gt;&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Samuti on ta Nõmme Linnaosa Halduskogu liige, Nõmme Linnaosa Halduskogu - Arengu-, planeerimis- ja keskkonnakomisjon komisjoni aseesimees, Nõmme Linnaosa Halduskogu - Elamumajanduskomisjon komisjoni liige ning Nõmme Linnaosa Halduskogu - Arengu-, planeerimis- ja keskkonnakomisjon komisjoni liige.  &lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;a href="http://www.tallinnlv.ee/aktalav/main?action=isiku_kuuluvused_lehele&amp;amp;isik_id=1675"&gt;(&lt;/a&gt;&lt;a href="http://www.tallinnlv.ee/aktalav/main?action=isiku_kuuluvused_lehele&amp;amp;isik_id=1675"&gt;http://www.tallinnlv.ee/aktalav/main?action=isiku_kuuluvused_lehele&amp;amp;isik_id=1675&lt;/a&gt;). Marek-Andres Kauts kuulub Minu Eesti nõukotta (&lt;a href="http://www.tallinnlv.ee/aktalav/main?action=isiku_kuuluvused_lehele&amp;amp;isik_id=1675"&gt;http://www.minueesti.ee/?leht=328,334&lt;/a&gt;).&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Tema CV ei näita mingit IT erialast kogemust. Ta on alles aastal 2010 saanud kõrghariduse ning töised kogemused piirduvad parteiliste ülesannetega&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;(&lt;a href="http://www.linkedin.com/ppl/webprofile?vmi=&amp;amp;id=57431878&amp;amp;pvs=pp&amp;amp;authToken=oioB&amp;amp;authType=name&amp;amp;locale=en_US&amp;amp;trk=ppro_viewmore&amp;amp;lnk=vw_pprofile"&gt;http://www.linkedin.com/ppl/webprofile?&lt;/a&gt;&lt;a href="http://www.linkedin.com/ppl/webprofile?vmi=&amp;amp;id=57431878&amp;amp;pvs=pp&amp;amp;authToken=oioB&amp;amp;authType=name&amp;amp;locale=en_US&amp;amp;trk=ppro_viewmore&amp;amp;lnk=vw_pprofile"&gt;vmi=&amp;amp;id=57431878&amp;amp;pvs=pp&amp;amp;authToken=oioB&amp;amp;authType=name&amp;amp;locale=en_US&amp;amp;trk=ppro_viewmore&amp;amp;lnk=vw_pprofile&lt;/a&gt;).&lt;br /&gt;Ka tema Facebooki tutvusringkond näitab kuulumist poliitikute sekka. IT inimesi sealt ei leidnud.&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Marek-Andres Kautsi mobiiltelefon figureerib InnoInvestor OÜ kontaktina&lt;a href="http://www.infoatlas.ee/data.cgi?uid=00039Y9HInEQpYyzXWWc1&amp;amp;nl=1"&gt;&lt;span style="font-family: arial,helvetica;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;(&lt;a href="http://www.infoatlas.ee/data.cgi?uid=00039Y9HInEQpYyzXWWc1&amp;amp;nl=1"&gt;http://www.infoatlas.ee/data.cgi?uid=00039Y9HInEQpYyzXWWc1&amp;amp;nl=1&lt;/a&gt;), kus juhatuses on hoopis Mari-Liis Kauts.&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;EISi veebilehel oleva ainukese töötaja (peale juhatuse ja nõukogu, &lt;a href="http://eestiinternet.ee/kontaktid/registripidajate-koordinaator"&gt;http://eestiinternet.ee/kontaktid/registripidajate-koordinaator&lt;/a&gt;) Kristo Kraanati nime on seni IT ringkondades tundmatu. Küll aga on ta olnud erakonna Res Publica (IRL eelkäija) liige.&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Huvitav on ka asjaolu, et pea ühevanused Kauts ja Kraanat elavad Jaak Lippmaa vahetus läheduses Nõmme kõrvaltänavates (vastavalt Metsa, Põllu ja Tähe tänavad Nõmmel).&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;(&lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=t%C3%A4he+16,+n%C3%B5mme&amp;amp;sll=59.380305,24.679971&amp;amp;sspn=0.008634,0.027595&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=T%C3%A4he+16,+N%C3%B5mme,+11619+Tallinn,+Harjumaa,+Estonia&amp;amp;ll=59.380786,24.679585&amp;amp;spn=0.008634,0.027595&amp;amp;z=15"&gt;http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=t%C3%A4he+16,+n%C3%B5mme&amp;amp;sll=59.380305,24.679971&amp;amp;sspn=0.008634,0.027595&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=T%C3%A4he+16,+N%C3%B5mme,+11619+Tallinn,+Harjumaa,+Estonia&amp;amp;ll=59.380786,24.679585&amp;amp;spn=0.008634,0.027595&amp;amp;z=15&lt;/a&gt;)&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Siit saab järeldada, et Eesti Interneti SA-sse tööle saamise reeglid pole kuidagi seotud  professionaalsete põhjendustega vaid õigel ajal kuulumisega Res Publica ridadesse ning sealt  omakorda saavad valitud need, kes elavad Jaak Lippmaa kodule lähemal.   &lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Lisame veel kõige lõppu EISi poolt tehtud avalduse, et esimese eraisiku domeeni registreerimistaotluse esitas Juhan Parts ning imekombel registreeriti see domeen ainukesena viiendal juulil:&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;a href="http://www.eestiinternet.ee/uudised/tana-hakkas-kehtima-uus-eesti-domeenikord"&gt;(&lt;/a&gt;&lt;a href="http://www.eestiinternet.ee/uudised/tana-hakkas-kehtima-uus-eesti-domeenikord"&gt;http://www.eestiinternet.ee/uudised/tana-hakkas-kehtima-uus-eesti-domeenikord&lt;/a&gt;)&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Teised avaldused pidid ootama, kuna kõikide avalduste menetlemine peatati järgmise päevani.  &lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" style="margin-bottom: 0in;"&gt;Vastavalt Korruptsioonivastase Seaduse § 4 lg 2 p 24 (&lt;a href="https://www.riigiteataja.ee/ert/act.jsp?id=810694"&gt;https://www.riigiteataja.ee/ert/act.jsp?id=810694&lt;/a&gt;) peaks EIS nõukogu ja juhtkond ning samuti Valitususe liige Juhan Parts sama seaduse sätteid täitma. Sama seaduse paragrahv 5 alusel ei tohi ametiisik teha soodustusi, vastuteeneid ega muud korruptiivset tegu.&lt;/div&gt;&lt;h3 align="JUSTIFY"&gt;Asjaolu 7: Senise kogemuse eiramine, uue meeskonna läbikukkumine&lt;/h3&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;Õiguskantsleri pöördumisega minister Juhan Partsile 2007 aastal sai see projekt alguse. Alustuseks tehti avalike teabe päringud mitmetele .ee domeeniga seonduvatele asutustele k.a. EENet. EENet on pikemat aega olnud seisukohal, et praeguseks endine domeenikord ja reeglistik on aegunud ja vajaks uuendamist. Majandus- ja Kommunikatsiooniministeeriumi loodud töögrupp lõpetas oma töö 2008. aasta lõpus, mille tulemusena valminud raport esitati valitsusele. Antud töögrupp järeldas, et ainus pädev asutus .ee domeeni haldamise teemal on EENet, kes tegi ka omapoolsed soovitused uue reeglistiku loomisel, mida ei peetud aga  vajalikuks dokumendi lõppversioonis arvestada.&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;2009. aasta alguses asutati Eesti Interneti Sihtasutus ja sama aasta lõpus toimunud konverentsil mainiti ka esimeseks tähtajaks 1.veebruar 2010. Jaanuaris 2010 lükati antud tähtaeg edasi 1. maile ning EIS tegeles veel aktiivselt uue reeglistiku loomisega. Aprillis toimus taaskord tähtaegade edasilükkamine, seekord kuupäevaliselt seda kindlaks ei määratud. Juuni alguses teatati 30 päeva ette uuele korrale üleminekust. 5. juulil kukkus projekt taaskord läbi seoses väidetava apsakaga. Registreerimine taaskäivitati päev hiljem.&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;Projekti ebakompetentset juhtimist näitab eelkõige rohkem kui pool aastat kestnud viivitused ja augud kommunikatsioonis. Teise külje alt vaadatuna on kogu tegevus viidud kinniste uste taha ja avalikkusel pole mingit ülevaadet toimuvast. Tekkinud on mitmeid küsimusi projektiga tegelevate inimeste kompetentsuse kohta antud erialal ja teemadel, samuti miks pole kaasatud EENet-i  juba kogemustega töölisi antud projekti tarbeks.&lt;/div&gt;&lt;div align="JUSTIFY" lang="en-GB" style="line-height: 100%; margin-bottom: 0in;"&gt;&lt;br /&gt;Alla kirjutanud:&lt;br /&gt;Jaan Jänesmäe&lt;br /&gt;Tõnu Samuel&lt;br /&gt;Jaagup Irve&lt;br /&gt;&lt;br /&gt;Seda pöördumist võib oma blogides taasesitada kui seisukohaga nõustumise märki. Kõik kommentaarid ja lingid palun suunata &lt;a href="http://domeenireform.wordpress.com/2010/07/12/avalik-kiri-eesti-vabariigi-valitsusele/"&gt;http://domeenireform.wordpress.com/2010/07/12/avalik-kiri-eesti-vabariigi-valitsusele/&lt;/a&gt; lehele. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-5631531419603251556?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/5631531419603251556/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=5631531419603251556&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/5631531419603251556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/5631531419603251556'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2010/07/eesti-interneti-sihtasutus-ebaonnestus.html' title='Eesti Interneti Sihtasutus ebaõnnestus .ee domeeni reformiga'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-4551573796639244449</id><published>2009-11-05T23:50:00.013+02:00</published><updated>2009-11-06T00:52:41.985+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opencv'/><category scheme='http://www.blogger.com/atom/ns#' term='3D vision'/><title type='text'>3D rekonstruktsioon stereokaameratest</title><content type='html'>Kirjutan selle siia rohkem enesele spikerdamiseks. Samas eesti keeles sarnast materjali napib ja ma ei jäta teda oma privaatwikisse peitu.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Moonutuste eemaldamine (ingl k. Lens undistortion)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Iga kaamera moonutab pilti. Probleemi olemus tuleneb selles, et valgustundlik sensor või film on ristküliku kujuline aga läätsed tema ees kausikujulised. Selle tõttu jõuab pildi keskele kujutis sirgelt aga servade poolt on moonutatud. Hea näidisfoto on siin: &lt;br /&gt;&lt;a href="http://www.digitalcameratracker.com/images/R927-distortion.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" height="240" src="http://www.digitalcameratracker.com/images/R927-distortion.jpg" style="float: left; height: 301px; margin: 0pt 10px 10px 0pt; width: 400px;" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kui fotomaterjali pealt on vaja teha mingeid mõõtmisi siis on vaja see moonutus eemaldada. GIMP omab selleks mingit pluginat, mille lehel on ka tema &lt;a href="http://www.linuxtopia.org/online_books/graphics_tools/gimp_2.6_user_manual/plug-in-lens-distortion.html"&gt;tööpõhimõte&lt;/a&gt; lahti seletatud. Teooriat on võimalik lugeda &lt;a href="http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example.html"&gt;siin&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Joondamine (ingl k. Rectification)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Stereopildi saamiseks tuleb kaameratest tulev pilt ühele joonele saada. Stereokaamerad paiknevad tavaliselt horisontaalselt. Seega võiks teoreetiliselt nendest tuleval pildil ka horisont sama kõrgel ja sama nurga all olla. Praktikas on alati siin viga sees ja joondamisega aetakse mõlema pildi horisont sama kõrgusele ja 90 kraadise nurga alla. &lt;br /&gt;Joondamisel võib sõltuvalt kontekstist ka muuta pildi Z telje nurka. Z telje nurga all mõtlen seda kui pilti väänatakse nii:&lt;br /&gt;&lt;a href="http://www.imagefact.de/rectify/gfk/rectify_160x275.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.imagefact.de/rectify/gfk/rectify_160x275.jpg" style="cursor: pointer; float: left; height: 275px; margin: 0pt 10px 10px 0pt; width: 160px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kahe joondatud kaamera pildid peaksid olema identsed kui vaadatakse kaugele ja omavad erinevusi kohtades, kus pildil on mõni ese lähemal ja kaamerad näevad seda pisut eri nurkade all.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Kaamerate kaugus&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Kaamerate kaugus teineteisest on kriitilise tähtsusega oodatava 3D pildi kvaliteedi saamisel. Kui kaamerad on lähestikku, ei suuda me nende abil eemal olevaid kolmemõõtmelisi objekte taustast eristada. Kui kaamerate vahe on näiteks meeter, suudame eristada objekte kaugel aga ei suuda mõlema kaameraga korraga näha 20cm kaugusel olevaid asju. Selliste otsuste tegemisel on abiks &lt;a href="http://www.videredesign.com/docs/Stereo%20Parameters.xls"&gt;netis pakutavad Exceli tabelid&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Lõikamine (ingl k. crop)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Kahe kaamera pildi joondamise tulemusena tekib kaks pilti, mis päris täpselt ei kattu. Need mittekattuvad servad on kasutud ja kuuluvad eemaldamisele või ignoreerimisele.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Erinevuste kaart (ingl k. disparity map)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Kui meil on kaks joondatud pilti, saab nende alusel välja arvutada erinevused.&lt;br /&gt;OpenCV puhul saab kasutada valmis funktsiooni &lt;a href="http://opencv.willowgarage.com/documentation/stereo_correspondence_functions.html#cvFindStereoCorrespondence"&gt;cvFindStereoCorrespondence&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-4551573796639244449?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/4551573796639244449/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=4551573796639244449&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4551573796639244449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/4551573796639244449'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2009/11/3d-rekonstruktsioon-stereokaameratest.html' title='3D rekonstruktsioon stereokaameratest'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-3834897143858275180</id><published>2009-04-18T12:22:00.005+03:00</published><updated>2009-04-18T12:50:55.090+03:00</updated><title type='text'>Kaitseministeeriumi robot kammib pilte</title><content type='html'>Omapärane tegevus toimub digg.ee ja mitmes minu poolt hallatavas veebis. Host 195.80.124.199, mille pealt vastab Kaitseministeeriumi veebileht lappab mööda aadresse, kus on pildid (või on nad olnud)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:16:09 +0300] "GET http://www.digg.ee/avatars/Gravatar_30.gif HTTP/1.1" 200 1514 "-" "Mozilla/4.0 (compatible;)" TCP_HIT:NONE&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:16:21 +0300] "GET http://www.digg.ee/templates/yget/images/featurebox_bg.png HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:D&lt;br /&gt;IRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:16:32 +0300] "GET http://www.digg.ee/templates/yget/images/rss.gif HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:16:42 +0300] "GET http://www.digg.ee/templates/yget/images/tablB2.png HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:16:42 +0300] "GET http://www.digg.ee/templates/yget/images/more.png HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:17:00 +0300] "GET http://www.digg.ee/templates/yget/images/tabrB2.png HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:17:06 +0300] "GET http://www.digg.ee/dglogo2.gif HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:17:17 +0300] "GET http://www.digg.ee/modules/scriptaculous/js/pligg_effects-min.js HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_&lt;br /&gt;MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:17:23 +0300] "GET http://www.digg.ee/templates/yget/images/vote.png HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:17:23 +0300] "GET http://www.digg.ee/templates/yget/images/expand.png HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:17:23 +0300] "GET http://www.digg.ee/templates/yget/images/19de38d03fe7db3b5a64386eb392320b.gif HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compa&lt;br /&gt;tible;)" TCP_MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:17:28 +0300] "GET http://www.digg.ee/templates/yget/images/navbar.png HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DIRECT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:17:44 +0300] "GET http://www.digg.ee/templates/yget/images/vote_count.png HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DIRE&lt;br /&gt;CT&lt;br /&gt;195.80.124.199 - - [18/Apr/2009:12:17:45 +0300] "GET http://www.digg.ee/templates/yget/images/featurebox_h.png HTTP/1.1" 404 454 "-" "Mozilla/4.0 (compatible;)" TCP_MISS:DI&lt;br /&gt;RECT&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-3834897143858275180?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/3834897143858275180/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=3834897143858275180&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/3834897143858275180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/3834897143858275180'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2009/04/kaitseministeeriumi-robot-kammib-pilte.html' title='Kaitseministeeriumi robot kammib pilte'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-3011993635250070943</id><published>2009-04-06T20:44:00.013+03:00</published><updated>2010-06-02T15:59:53.737+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='andmebaas'/><category scheme='http://www.blogger.com/atom/ns#' term='optimeerimine'/><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><title type='text'>Nipid veebimeistrile. Teine osa. Andmebaasi optimeerimine</title><content type='html'>&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;Tüüpiline olukord, millega veebisaidi omanikud võitlevad, on andmebaasi päringute optimeerimine. Veebisait on aeglane ja päris täpselt ei saa aru miks. Üks võimalik põhjus on andmebaas. Minul on selle tuvastamiseks hästi lihtne meetod:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;mysql# /opt/csw/mysql5/bin/mysql -uroot -pudu  -e "show full processlist"                  &lt;br /&gt;+--------+------+-----------+------+---------+------+-------+-----------------------+&lt;br /&gt;| Id     | User | Host      | db   | Command | Time | State | Info                  |&lt;br /&gt;+--------+------+-----------+------+---------+------+-------+-----------------------+&lt;br /&gt;| 174976 | root | localhost | NULL | Query   |    0 | NULL  | show full processlist |&lt;br /&gt;+--------+------+-----------+------+---------+------+-------+-----------------------+&lt;br /&gt;mysql# &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ehk siis vaatan MySQLi protsesside nimekirja. Hetkel on see tühi. Seda käsku kümmekond korda korrates saab päris hästi aru, millised päringud seal töötavad. Kui näete mitmel korral samasugust päringut, on ta järelikult aeglane ning temaga võiks optimeerimise ette võtta. Iseasi on "rippuvad" päringud, mille staatus on "Locked". Need ei pruugi ise aeglased olla vaid ootavad mõne teise aeglase käsu taga.&lt;br /&gt;&lt;br /&gt;Näide elust. SHOW FULL PROCESSLIST abil tuvastasin aeglase SQL käsu. Proovin teda ise käivitada:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;mysql&amp;gt; SELECT link_id,digg_links.link_title,digg_links.link_title_url,COUNT(digg_tags.tag_link_id ) AS relevance, digg_tags.tag_link_id FROM digg_tags, digg_links WHERE digg_tags.tag_words IN ('prygi','voistlus', 'oko', 'leedu', 'eesti' ) AND digg_tags.tag_link_id = digg_links.link_id AND digg_links.link_status != 'discard' AND NOT digg_links.link_id = 334 GROUP BY digg_tags.tag_link_id,digg_links.link_title, digg_links.link_title_url ORDER BY relevance DESC LIMIT 10;&lt;br /&gt;+---------+-------------------------------------------------------------------------------+-------------------------------------------------------------------------------+-----------+-------------+&lt;br /&gt;| link_id | link_title                                                            |link_title_url                                                                | relevance |tag_link_id |&lt;br /&gt;+---------+-------------------------------------------------------------------------------+-------------------------------------------------------------------------------+-----------+-------------+&lt;br /&gt;|   16047 | Rumeenlased hakkasid Baltimaade õhuruumi valvama                              | Rumeenlased_hakkasid_Baltimaade_ohuruumi_valvama                              |         2 |       16047 |&lt;br /&gt;|   39717 | Leedulased tahavad prügikoristamises eestlastele ära teha                     | leedulased-tahavad-prygikoristamises-eestlastele-ara-teha                     |         2 |       39717 |&lt;br /&gt;|     104 | Soomlased põletavad Eesti lippu                                               | Soomlased-pletavad-Eesti-lippu                                                |         1 |         104 |&lt;br /&gt;|     184 | Valimisjaoskonda külastab Esto TV                                             | Valimisjaoskonda-klastab-Esto-TV                                              |         1 |         184 |&lt;br /&gt;|     219 | Elu surnukuuri eesruumis                                                      | Elu-surnukuuri-eesruumis                                                      |         1 |         219 |&lt;br /&gt;|     239 | Harju Maakohus kohustab IANA(Internet Assigned Numbers Authorty)....          | Harju-Maakohus-kohustab-IANAInternet-Assigned-Numbers-Authorty                |         1 |         239 |&lt;br /&gt;|     250 | Eesti mehe munandi suurus ja spermatosoidide hulk on Euroopas juhtival kohal. | Eesti_mehe_munandi_suurus_ja_spermatosoidide_hulk_ on_Euroopas_juhtival_kohal-|         1 |         250 |&lt;br /&gt;|     309 | Eesti saite kutsutakse üles ründama                                           | Eesti-saite-kutsutakse-les-rndama                                             |         1 |         309 |&lt;br /&gt;|     311 | 70 noort sulges Eesti-Vene piiri pooleks tunniks                              | 70-noort-sulges-EestiVene-piiri-pooleks-tunniks                               |         1 |         311 |&lt;br /&gt;|     312 | Venemaa nõuab oma kodanike vabastamist                                        | Venemaa-nuab-oma-kodanike-vabastamist                                         |         1 |         312 |&lt;br /&gt;+---------+-------------------------------------------------------------------------------+-------------------------------------------------------------------------------+-----------+-------------+&lt;br /&gt;10 rows in set (0.61 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;0,6 sekundit on ikka aeglane küll. Tuleb arvestada, et kümne samaaegse veebikliendi korral kulub nendel ootmiseks juba kuus sekundit.&lt;br /&gt;&lt;br /&gt;Edasi uurime aegluse põhjust lisades käsu ette EXPLAIN:&lt;br /&gt;&lt;pre&gt;mysql&amp;gt; EXPLAIN SELECT link_id,digg_links.link_title, digg_links.link_title_url, COUNT( digg_tags.tag_link_id ) AS relevance, digg_tags.tag_link_id FROM digg_tags, digg_links WHERE digg_tags.tag_words IN ( 'prygi', 'voistlus', 'oko', 'leedu', 'eesti' )&lt;br /&gt;AND digg_tags.tag_link_id = digg_links.link_id AND digg_links.link_status != 'discard' AND NOT digg_links.link_id = 334&lt;br /&gt;GROUP BY digg_tags.tag_link_id, digg_links.link_title, digg_links.link_title_url ORDER BY relevance DESC LIMIT 10;&lt;br /&gt;+----+-------------+------------+------+---------------+-------------+---------+-------------------------+------+----------------------------------------------+&lt;br /&gt;| id | select_type | table      | type | possible_keys | key         |key_len  | ref                     | rows | Extra                                        |&lt;br /&gt;+----+-------------+------------+------+---------------+-------------+---------+-------------------------+------+----------------------------------------------+&lt;br /&gt;|  1 | SIMPLE      | digg_links | ALL  | PRIMARY       | NULL        | NULL    | NULL                    | 4703 | Using where; Using temporary;Using filesort  |&lt;br /&gt;|  1 | SIMPLE      | digg_tags  | ref  | tag_link_id   | tag_link_id | 4       | digg.digg_links.link_id |    1 | Using where; Using index                     |&lt;br /&gt;+----+-------------+------------+------+---------------+-------------+---------+-------------------------+------+----------------------------------------------+&lt;br /&gt;2 rows in set (0.01 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Siit tuleb välja, et pärast kõiki optimeerimisi jääb ikka 4703 kirjet, mida andmebaas peab käsitsi tabelist digg_links läbi vaatama. Väike mõtlemine ja katsetamise tulemusena lisasin uue indeksi väljale tag_words tabelis digg_tags:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;mysql&amp;gt; alter table digg_tags add key tag_words (`tag_words`);&lt;br /&gt;Query OK, 14394 rows affected (14.24 sec)Records: 14394 Duplicates: 0 Warnings: 0&lt;br /&gt;mysql&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Uus katse:&lt;br /&gt;&lt;pre&gt;mysql&amp;gt; SELECT link_id,digg_links.link_title, digg_links.link_title_url,COUNT( digg_tags.tag_link_id ) AS relevance, digg_tags.tag_link_id FROM digg_tags, digg_links WHERE digg_tags.tag_words IN ( 'prygi','voistlus', 'oko', 'leedu', 'eesti' ) AND digg_tags.tag_link_id = digg_links.link_id AND digg_links.link_status != 'discard' AND NOT digg_links.link_id = 334 GROUP BY digg_tags.tag_link_id, digg_links.link_title, digg_links.link_title_url ORDER BY relevance DESC LIMIT 10;&lt;br /&gt;+---------+-------------------------------------------------------------------------------+-------------------------------------------------------------------------------+-----------+-------------+&lt;br /&gt;| link_id | link_title                                                                    | link_title_url                                                                | relevance | tag_link_id |&lt;br /&gt;+---------+-------------------------------------------------------------------------------+-------------------------------------------------------------------------------+-----------+-------------+&lt;br /&gt;|   16047 | Rumeenlased hakkasid Baltimaade õhuruumi valvama                              | Rumeenlased_hakkasid_Baltimaade_ohuruumi_valvama                              |         2 |       16047 |&lt;br /&gt;|   39717 | Leedulased tahavad prügikoristamises eestlastele ära teha                     | leedulased-tahavad-prygikoristamises-eestlastele-ara-teha                     |         2 |       39717 |&lt;br /&gt;|     104 | Soomlased põletavad Eesti lippu                                               | Soomlased-pletavad-Eesti-lippu                                                |         1 |         104 |&lt;br /&gt;|     184 | Valimisjaoskonda külastab Esto TV                                             | Valimisjaoskonda-klastab-Esto-TV                                              |         1 |         184 |&lt;br /&gt;|     219 | Elu surnukuuri eesruumis                                                      | Elu-surnukuuri-eesruumis                                                      |         1 |         219 |&lt;br /&gt;|     239 | Harju Maakohus kohustab IANA(Internet Assigned Numbers Authorty)....          | Harju-Maakohus-kohustab-IANAInternet-Assigned-Numbers-Authorty                |         1 |         239 |&lt;br /&gt;|     250 | Eesti mehe munandi suurus ja spermatosoidide hulk on Euroopas juhtival kohal. | Eesti_mehe_munandi_suurus_ja_spermatosoidide_hulk_ on_Euroopas_juhtival_kohal-|         1 |         250 |&lt;br /&gt;|     309 | Eesti saite kutsutakse üles ründama                                           | Eesti-saite-kutsutakse-les-rndama                                             |         1 |         309 |&lt;br /&gt;|     311 | 70 noort sulges Eesti-Vene piiri pooleks tunniks                              | 70-noort-sulges-EestiVene-piiri-pooleks-tunniks                               |         1 |         311 |&lt;br /&gt;|     312 | Venemaa nõuab oma kodanike vabastamist                                        | Venemaa-nuab-oma-kodanike-vabastamist                                         |         1 |         312 |&lt;br /&gt;+---------+-------------------------------------------------------------------------------+-------------------------------------------------------------------------------+-----------+-------------+&lt;br /&gt;10 rows in set (0.08 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Palju parem! 0.08 sekundit! Mida analüüs ütleb:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;mysql&amp;gt; explain SELECT link_id,digg_links.link_title,digg_links.link_title_url, COUNT( digg_tags.tag_link_id ) AS relevance,&lt;br /&gt;digg_tags.tag_link_id FROM digg_tags, digg_links WHERE digg_tags.tag_words IN ( 'prygi', 'voistlus', 'oko', 'leedu', 'eesti' )&lt;br /&gt;AND digg_tags.tag_link_id = digg_links.link_id AND digg_links.link_status != 'discard' AND NOT digg_links.link_id = 334&lt;br /&gt;GROUP BY digg_tags.tag_link_id, digg_links.link_title, digg_links.link_title_url ORDER BY relevance DESC LIMIT 10;&lt;br /&gt;+----+-------------+------------+--------+-----------------------+-----------+---------+----------------------------+------+-----------------------------------------------------------+&lt;br /&gt;| id | select_type | table      | type   | possible_keys         | key       | key_len | ref                        | rows | Extra                                                     |&lt;br /&gt;+----+-------------+------------+--------+-----------------------+-----------+---------+----------------------------+------+-----------------------------------------------------------+&lt;br /&gt;|  1 | SIMPLE      | digg_tags  | range  | tag_link_id,tag_words |tag_words  | 66      | NULL                       | 181  | Using where;Using index; Using temporary; Using filesort  |&lt;br /&gt;|  1 | SIMPLE      | digg_links | eq_ref | PRIMARY               |PRIMARY    | 4       | digg.digg_tags.tag_link_id | 1    | Using where                                               |&lt;br /&gt;+----+-------------+------------+--------+-----------------------+-----------+---------+----------------------------+------+-----------------------------------------------------------+&lt;br /&gt;2 rows in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Nüüd on tal 181 kirjet vaja käsitsi läbi vaadata. 25x vähem kui enne.&lt;br /&gt;&lt;br /&gt;Siia lõppu üks kogemus veel. Kui "SHOW FULL PROCESSLIST" näitab hulgaliselt "Unauthenticated client" kirjeid, on nimeserveriga midgi valesti. Tulemusena terve veebisait "roomab" ning reageerib päringutele mitmesekundilise viivitusega. On oluline omada kohalikku nimeserverit hästi lähedal andmebaasiserverile.&lt;br /&gt;&lt;br /&gt;Ma ei oska neid SQLi tabeliridu siin korda ajada. Hiljem uurin....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-3011993635250070943?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/3011993635250070943/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=3011993635250070943&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/3011993635250070943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/3011993635250070943'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2009/04/nipid-veebimeistrile-teine-osa.html' title='Nipid veebimeistrile. Teine osa. Andmebaasi optimeerimine'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-254288990468143809.post-8608465279404603343</id><published>2009-04-06T12:14:00.007+03:00</published><updated>2009-04-18T13:45:20.363+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='www'/><category scheme='http://www.blogger.com/atom/ns#' term='optimeerimine'/><category scheme='http://www.blogger.com/atom/ns#' term='veeb'/><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><title type='text'>Nipid veebimeistrile. Esimene osa. Sisu pakkimine</title><content type='html'>&lt;a href="http://www.digg.ee/"&gt;Digg.ee&lt;/a&gt; tegemisel olen realiseerinud palju varasemaid teadmisi veebi tegemisest. Enamus senist tööd on olnud kommertsprojektid, mille puhul ei ole sobiv kliendi süsteeme avalikkuses kommenteerida. Digg.ee puhul saan ma seda kõike uuesti rahulikult proovida ning tulemused avaldada. Loodetavasti leiate sellest sarjast nii mõnegi nipi, mida enne ei teadnud.&lt;br /&gt;&lt;br /&gt;Sisu pakkimine.&lt;br /&gt;&lt;br /&gt;Tänapäeval saadavad pea kõik brauserid veebiserverile koos päringuga päise "Accept-Encoding: deflate, gzip". Praktiliselt kõik veebiserverid ei tee aga selle saadud teadmisega aga midagi. Tegelikult annab brauser märku, et temale võib ka pakitud informatsiooni saata. Pakkimine kulutab küll serveri poolel veidi protsessori aega, kuid samas vähendab üle liinide liikuvat info mahtu. Minu kogemuse järgi on tegemist väga hea asjaga. Selle kasutamine:&lt;br /&gt;&lt;br /&gt;1. Teeb veebilehe avamise silmnähtavalt "särtsakamaks"&lt;br /&gt;2. Vähendab HTML lehtede mahtu transpordil neli korda&lt;br /&gt;3. Võtab veebiserverilt koormust maha.&lt;br /&gt;&lt;br /&gt;Särtsakamaks muutub leht juba seetõttu, et reeglina liigub info eeterneti võrgus 1500 baidiste plokkidena. Suuremad paketid lihtsalt reaalsuses ei eksisteeri. 10kB suuruse veebilehe ärtoomiseks tuleb teha vähemalt kaheksa edasi-tagasi lobisemist veebiserveri ja brauseri vahel. Iga selline edasi-tagasi käimine võtab aega ning nende summa on kasutajale täiesti tuntav viivitusena. Pakkimine annab selle efekti, et esimese 1500 baidiga tuuakse ära mitu korda rohkem infot ning brauser saab alustada veebilehe joonistamist kuigi kogu info pole kohal.&lt;br /&gt;&lt;br /&gt;Veebilehe mahu kohta konkreetne näide: digg.ee avaleht pakitult ja pakkimata Apache logis:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;192.168.0.86 - - [06/Apr/2009:12:26:33 +0300] "GET / HTTP/1.0" 200 14038&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;192.168.0.86 - - [06/Apr/2009:12:06:14 +0300] "GET / HTTP/1.0" 200 75885&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Mahu erinevus viis korda! Ja kinnitan, et pakkimise efekt on koheselt veebibrauseris kasutajale tunda.&lt;br /&gt;&lt;br /&gt;Millal on pakkimise tugi brauserites reaalselt hästi tööle saadud:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Netscape alates 6 ja kõik Firefoxi variandid&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Opera, alates versioonist 5 (praegune versioon 9.x ja 10)&lt;br /&gt;Lynx alates versioonist 2.6 (praegune 2.8.x)&lt;br /&gt;Internet Explorer 5 (praegused 7 ja 8beta)&lt;br /&gt;&lt;br /&gt;Üldiselt võib kokku võtta, et pakkimise tugi on ligi 100%. Reaalselt logis näen vahel veebilehe päringuid, mis serveeritakse pakkimata kujul kuid neid on vähe.&lt;br /&gt;&lt;br /&gt;Kuidas teha? Mitmed CMS jms tarkvarad omavad vastavat tuge aga nendega eksperimenteerimine on minul vähemalt tihti ikaldust kaasa toonid. Töötav ja universaalne lahendus on olnud Apache konfiguratsiooni lisada järgnev lõik:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;location&gt;&lt;br /&gt;      # Insert filter&lt;br /&gt;      SetOutputFilter DEFLATE&lt;br /&gt;   &lt;br /&gt;      # Netscape 4.x has some problems...&lt;br /&gt;      BrowserMatch ^Mozilla/4         gzip-only-text/html&lt;br /&gt;   &lt;br /&gt;      # Netscape 4.06-4.08 have some more problems&lt;br /&gt;      BrowserMatch ^Mozilla/4\.0[678] no-gzip&lt;br /&gt;   &lt;br /&gt;      # MSIE masquerades as Netscape, but it is fine&lt;br /&gt;      # BrowserMatch \bMSIE             !no-gzip !gzip-only-text/html&lt;br /&gt;   &lt;br /&gt;      # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48&lt;br /&gt;      # the above regex won't work. You can use the following&lt;br /&gt;      # workaround to get the desired effect:&lt;br /&gt;      BrowserMatch \bMSI[E]           !no-gzip !gzip-only-text/html&lt;br /&gt;   &lt;br /&gt;      # Don't compress images&lt;br /&gt;      SetEnvIfNoCase Request_URI \&lt;br /&gt;      &lt;span class="indent"&gt;           \.(?:gif|jpe?g|png)$ no-gzip dont-vary&lt;br /&gt;      &lt;/span&gt;      &lt;br /&gt;      # Make sure proxies don't deliver the wrong content&lt;br /&gt;      Header append Vary User-Agent env=!dont-vary&lt;br /&gt;      &lt;/location&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Lihtne :)&lt;br /&gt;&lt;br /&gt;uh, blogivara rikkus ilusa konfi ära. Aga see pole probleem, võtke sama asi &lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_deflate.html"&gt;mod_deflate lehelt&lt;/a&gt;.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Uuendus:&lt;br /&gt;&lt;br /&gt;Väike test. Elu24 laseb sisu pakkida ja efekt on vinge:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s  "http://www.elu24.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m1.727s&lt;br /&gt;user 0m0.016s&lt;br /&gt;sys 0m0.008s&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s --compressed "http://www.elu24.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m0.371s&lt;br /&gt;user 0m0.020s&lt;br /&gt;sys 0m0.016s&lt;br /&gt;tonu@tonu-laptop:~$&lt;br /&gt;&lt;br /&gt;Delfimehed seda ei tee ja tulemus on sõltumata pakkimisest alat 2 sekundi ringis:&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s --compressed "http://www.delfi.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m1.866s&lt;br /&gt;user 0m0.016s&lt;br /&gt;sys 0m0.012s&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s  "http://www.delfi.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m1.984s&lt;br /&gt;user 0m0.008s&lt;br /&gt;sys 0m0.016s&lt;br /&gt;tonu@tonu-laptop:~$ &lt;br /&gt;&lt;br /&gt;Päevaleht ei paki:&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s  "http://www.epl.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m1.501s&lt;br /&gt;user 0m0.008s&lt;br /&gt;sys 0m0.020s&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s --compressed "http://www.epl.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m1.403s&lt;br /&gt;user 0m0.012s&lt;br /&gt;sys 0m0.008s&lt;br /&gt;tonu@tonu-laptop:~$ &lt;br /&gt;&lt;br /&gt;Minut ei paki:&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s --compressed "http://www.minut.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m1.073s&lt;br /&gt;user 0m0.000s&lt;br /&gt;sys 0m0.008s&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s  "http://www.minut.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m1.011s&lt;br /&gt;user 0m0.016s&lt;br /&gt;sys 0m0.008s&lt;br /&gt;tonu@tonu-laptop:~$ &lt;br /&gt;&lt;br /&gt;Eesti Rahvusringhääling on kiire ka ilma pakkimata:&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s  "http://www.err.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m0.399s&lt;br /&gt;user 0m0.012s&lt;br /&gt;sys 0m0.012s&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s --compressed "http://www.err.ee" &gt; /dev/null&lt;br /&gt;&lt;br /&gt;real 0m0.392s&lt;br /&gt;user 0m0.008s&lt;br /&gt;sys 0m0.008s&lt;br /&gt;tonu@tonu-laptop:~$ &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Kui suur see maht siis Delfil ja ERR-le on?&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;tonu@tonu-laptop:~$ time curl -s  "http://www.delfi.ee" | wc&lt;br /&gt;   5753   13090  233782&lt;br /&gt;&lt;br /&gt;real 0m1.578s&lt;br /&gt;user 0m0.068s&lt;br /&gt;sys 0m0.016s&lt;br /&gt;tonu@tonu-laptop:~$ &lt;br /&gt;tonu@tonu-laptop:~$ time curl -s   "http://www.err.ee" | wc&lt;br /&gt;    735    1770   29030&lt;br /&gt;&lt;br /&gt;real 0m0.678s&lt;br /&gt;user 0m0.016s&lt;br /&gt;sys 0m0.008s&lt;br /&gt;tonu@tonu-laptop:~$ &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ehk siis veerand mega ja 30KB. Pakitult lähevad neli-viis korda väiksemaks. TCP pakettide arvu ja latentsi mõttes on see väga suur number.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/254288990468143809-8608465279404603343?l=tonusamuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonusamuel.blogspot.com/feeds/8608465279404603343/comments/default' title='Postita kommentaarid'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=254288990468143809&amp;postID=8608465279404603343&amp;isPopup=true' title='0 kommentaari'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/8608465279404603343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/254288990468143809/posts/default/8608465279404603343'/><link rel='alternate' type='text/html' href='http://tonusamuel.blogspot.com/2009/04/nipid-veebimeistrile-esimene-osa-sisu.html' title='Nipid veebimeistrile. Esimene osa. Sisu pakkimine'/><author><name>Tõnu Samuel</name><uri>http://www.blogger.com/profile/04006323975674243652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
