tag:blogger.com,1999:blog-58500732092807792042024-02-20T12:17:11.070+02:00Alex's ExperimentsDifferent experiments in my life.Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-5850073209280779204.post-82728838423596561082011-06-16T14:46:00.002+03:002011-06-16T15:02:47.805+03:00Подготовка интернета за городом.<div dir="ltr" style="text-align: left;" trbidi="on">Летом в этом году, как и в прошлом, я собираюсь поехать за город на дачу под Нарва-Йысу. Хотя я и еду отдыхать, интернет мне там всё равно будет нужен. В прошлом году для этих целей я воспользовался услугами <a href="http://elisa.ee/et/Eraklient/mint/409/MiNT-arvutipaketid">Elisa c пакетом Mint</a>, т.к. мне нужна была услуга только по выходным, то я решил купить палочку-модем и платить по мере использования (помнится день интернета тогда стоил порядка 25 эстонских крон). В конечном счёте я потратил кучу денег, т.к. пользовался полные дни почти все выходные + иногда забывал вылогиниться.<br />
<br />
<div>В этом году я решил посмотреть другие предложения. Самым интересным мне показались предложения от EMT. Не вдаваясь в подробности скажу, что решил таки заключить договор и взять средний пакет "М" (4MBit/1MBit). Будучи уверенным, что у меня есть уже купленный за нормальные деньги модем, я пришёл в контору в EMT и объяснил ситуацию - мол есть модем от Mint прошлогоднего - мол всё ли будет ок? Работник сказал, что палочка может быть заблокирована. Я спросил - мол, может я сначала пойду спрошу? Он почему-то не согласился, и сказал, что надо сделать договор, ткнуть и проверить (а комп и палочка у меня были с собой). Так и сделали. Не заработало.<br />
</div><br />
<div>Я пошёл к Elisa и спросил - мол заблокирована ли у вас палочка? Да, - ответили мне. Зашибись, - подумал я, а вслух посетовал, что мол мне об этом никто не говорил, когда я покупал палочку. Работник Elisa мне сказал, что в принципе взломать можно и что, мол, в интернете есть какая-то программка, которая стоит 15€.<br />
<br />
Палочка фирмы HUAWEI, модель E160E. Выглядит так:<br />
<div style="text-align: center;"><a href="http://s.lowyat.net/uploads//attach-84/post-333684-1257685541.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://s.lowyat.net/uploads//attach-84/post-333684-1257685541.jpg" /></a></div><br />
Она же работает как накопитель, где уже записано программное обеспечения для работы с Elisa сетью. В этой программе в принципе можно настроить на другую сеть и указать APN другого оператора. Но поставив EMT ничего не случилось. Ошибка и никакого интернета.<br />
<br />
После недолгого поиска я нашёл вот этот сайт: <a href="http://www.unlocked-dongle.co.uk/">http://www.unlocked-dongle.co.uk/</a> На этом сайте можно найти полезные программы типа <a href="http://www.unlocked-dongle.co.uk/View-details/Huawei-OS-X/1-Mobile-Partner-for-OS-X.html">Mobile Partner</a> (как для MACа так и для PC) Скачав и запустившись, программа потребовала ввести unlock key и сообщила, что у меня на это 10 попыток. На выше указанном сайте так же можно скачать программку <a href="http://www.unlocked-dongle.co.uk/View-details/Huawei-OS-X/3-Unlock-Code-Utility.html">Unlock Code Utility</a>. Как выяснилось, она просто умеет unlock'чить палочку, но так же требует сам unlock code.<br />
<br />
Как я и предполагал, необходимые коды <a href="http://www.unlocked-dongle.co.uk/Huawei-3G-Modem-and-Dongle-Unlocking.html">можно заиметь на том же сайте</a> всего за каких-то 6£ Надо им послать IMEI модема и всё. Я заподозрил неладное и пошибуршил интернет. <a href="http://www.ruchirablog.com/free-simple-calculate-huawei-unlock-codes/">Оказалось</a>, что такой код по IMEI можно получить совершенно бесплатно по адресу http://www.bb5.at/huawei.php?imei=********, где звёзды - это, как не сложно догадаться, ваш IMEI. Я вбил этот код и, алеллуя, оно сработало. Теперь у меня разлоченный USB modem.<br />
<br />
В самой программе Mobile Partner в настройках нашёл место, где можно сделать поиск операторов и зарегистрировать одного из них. Сделал новый профайл EMT, указав на всякий случай статический APN (internet.emt.ee) и всё, теперь у меня интернет на палочке =)<br />
<br />
На самом деле я только потом догадался, что мне это всё вообще нафиг не надо, т.к. у меня уже есть интернет в телефоне + возможность становиться точкой доступа (спасибо, Android). Я обновил свой интернет пакет на телефоне и взял безлимитный "L" пакет за 10€ (у меня был какой-то старый за 15€ лимитом в 2GB), что по бумагам даёт мне аж до 3 MBit/s (а средний пакет "M", что идёт в модем-палочку - должен давать 4 MBit/s)<br />
<br />
Я сделал измерения сидя дома в Mustamae (т.е. место где 3G явно должен быть =) (он, в общем-то, и есть).<br />
Итог:<br />
В доме (метров 5 до окна):<br />
Телефон:<br />
<img src="http://www.speedtest.net/result/1343748546.png" /><br />
<br />
USB Modem:<br />
<img src="http://www.speedtest.net/result/1343762107.png" /><br />
<br />
На балконе около окна:<br />
Телефон:<br />
<img src="http://www.speedtest.net/result/1343786716.png" /><br />
<br />
USB Modem:<br />
<img src="http://www.speedtest.net/result/1343763323.png" /><br />
<br />
А если поставить SIM-карточку для палочки в телефон (где должно быть 4 Mbit/s), то можно получить только:<br />
<div style="text-align: center;"><a href="http://www.speedtest.net/result/1343801538.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.speedtest.net/result/1343801538.png" /></a></div>Что не сильно впечатляет.<br />
<br />
</div><div><b>Вывод:</b><br />
USB Модем мне нафиг не нужен. На кой платить за два интернета + ловит сигнал телефон значительно лучше. Единственное зачем мне может понадобиться палочка - это оставить интернет жене с ребёнком, которые будут там и в будни тоже.</div></div>Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com2tag:blogger.com,1999:blog-5850073209280779204.post-48675613701801886362009-12-31T11:42:00.002+02:002010-01-04T10:17:40.836+02:00Итоги уходящего 2009-ого года.Насмотревшись как <a href="http://anton-arhipov.livejournal.com/99518.html">это делают</a> <a href="http://lafy.livejournal.com/129000.html">мои друзья</a>, решил первый раз написать отчёт за год. 26 лет уже как-никак =) Тем более, что 2009-ый год получился даже очень насыщенным на события.<br />
<br />
<b>Ланёшкин</b><br />
Прежде всего он начался с того, что 7-ого января <a href="http://picasaweb.google.com/soswow/WeddingRegistry">я женился</a> на моей <a href="http://picasaweb.google.com/soswow/Wife">любимой Ланёшке</a>. Уже через месяц мы забеременели и начали ждать ребеночка. В Октябре (28-ого) родился наш маленький богатырь (который был совсем даже не маленький (4,350 кг)). По-этому мы его и назвали по-богатырски - Мирославом.<br />
<br />
<b>Работа, Среда, Учёба</b><br />
Весной 2009-ого года (в Апреле) я первый раз поменял место работы! Я ушёл из SQA и пошёл работать в AS Tallink Group JAVA программистом. А в конце лета мы переехали с Ланёшкой из Ыйсмяе в 3-ёх комнатную квартиру в Ласнамяе.<br />
Закончил свой первый курс обучения в <a href="http://mk.ee/">Майнор</a> и начал второй курс. Всё шло неплохо и очень не сложно.<br />
<br />
<b>Увлечения</b><br />
Весь 2009-ый год ходил на встречи <a href="http://www.devclub.eu/">Девклаба</a>. Мало того, 2 раза даже удалось самому выступить, где я рассказал о своих двух любимейших вещах: о <a href="http://www.devclub.eu/2009/06/07/soswow-jquery/">jQuery</a> и о <a href="http://www.devclub.eu/2009/11/30/motshjonov-python/">Python</a>. А в конце года был даже модератором встречи (правда не очень успешно)<br />
Летом участвовал (как-бы) в программе <a href="http://code.google.com/soc/">Google Summer Of Code</a>. Я участвовал в разработке OSS проекта <a href="https://bespin.mozilla.com/">Bespin</a> компании Mozilla. Закончить свою часть не удалось, по-этому получил только половину суммы.<br />
Весь год фотографировал, хотя и не много.<br />
В Этом году завёл себе <a href="http://twitter.com/soswow">twitter</a> (написав 196 твитов) и пытаюсь пописывать в этот блог. (Когда есть что сказать)<br />
<span style="font-family: inherit;">Вернулся опять к SETI @ home, купил даже книгу Seth Shostak'а - </span><span style="line-height: 19px;"><i><span style="font-family: inherit;">Confessions of an Alien Hunter: A Scientist's Search for Extraterrestrial Intelligence.</span></i><span style="font-family: inherit;"> Страничка за страничкой её изучаю.</span></span><br />
<br />
<b>Путешествия</b><br />
Будучи работником компании занимающейся пассажирскими перевозками была возможность дважды посетить <a href="http://picasaweb.google.com/soswow/1Stockholm1">Стокгольм</a> и один раз Хельсинки. Так же летом <a href="http://picasaweb.google.com/soswow/MiniVacation">был в Москве и в Питере</a> на свадьбе у Вики.<br />
<br />
<b>Друзья</b><br />
В этом году я приобрёл много новых друзей:<br />
<br />
<ul><li>Сдружился со своим однокурсником Виктором. Хотя в самом начале он мне больше всех не понравился и я его даже побаивался (т.к. он казался гораздо умнее меня =) Но потом этот ум меня и привлек. </li>
<li>На Девклабе познакомился с большим количеством новый и очень интересных людей, с многими из которых даже сдружился.</li>
<li>На новой работе познакомился ещё с пачкой <a href="http://picasaweb.google.com/soswow/People">новых людей</a>, чему очень рад.</li>
</ul><div><b>Что я хочу от 2010 года:</b><br />
</div><div><ul><li>Теперь я Отец и Муж! И я буду посвящать больше времени воспитанию своего Сына и заботе о Жене.</li>
<li>Обязательно поучаствовать в программе Google Summer Of Code.</li>
<li>Поучаствовать в программе Google Code Jam.</li>
<li>Заняться языками. Прежде всего Английским, потом Эстонским.</li>
<li>Попрограммировать Микроконтроллеры.</li>
<li>Обязательно съездить в отпуск летом Куда-нибудь подальше, но по-интереснее.</li>
<li>Повысить ЗП до уровня, который меня устроит.</li>
<li>Купить MacBook.</li>
<li>Развивать знания и умения в Python и JavaScript.</li>
<li>Приобрести головку для фотографирования панорам (или сделать самому)</li>
</ul></div>Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com1tag:blogger.com,1999:blog-5850073209280779204.post-62211643323320209932009-08-27T20:41:00.003+03:002009-08-30T15:46:24.105+03:00Book Cover flow on JavaScriptI had lately one task to make Book Cover flow in JavaScript. It should looks like Book Cover on <a href="http://www.barnesandnoble.com/">this page</a>.<br />
Requirements were are follow:<br />
<br />
<ul><li>It's implemented in JavaScript</li>
<li>Images could be added to the queue dynamically</li>
<li>On mouse hover over flow it should stop and on over resume.</li>
<li>Every cover have own link.</li>
</ul><br />
I decide to use my loving <a href="http://docs.jquery.com/">jQuery</a> and specially <a href="http://docs.jquery.com/Effects/animate#paramsdurationeasingcallback">animation</a> feature of it. You can find demo of final version <a href="http://soswow.pri.ee/js/image_flow/">here</a>. jQuery plug-in could be <a href="http://soswow.pri.ee/js/image_flow/unpacked.js">found here</a>.<br />
<a href="http://soswow.pri.ee/js/image_flow/"><img border="0" height="170" src="http://img507.imageshack.us/img507/7613/ss20090827203721.png" width="420" /></a>Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com0tag:blogger.com,1999:blog-5850073209280779204.post-51507585231851137712009-08-27T16:08:00.011+03:002009-09-11T09:43:57.825+03:00Box with Corners and Borders and JavaScript Pin Layout.<b>Requirements:</b><br />
I am making project where I needed to make such Layout environment:<br />
<ul><li>Layout consists of boxes (divs) that are could be pinned to the borders (sides) of it's container. (for the first time there could be only one container and all divs inside it)</li>
<li>If box pinned to right border it should stay on the save length from right border. Same for left, bottom and top.</li>
<li>If box pinned to right and left at once, than it should also be always at same lengths from right and left borders. In this case only width should change. Same for top and bottom.</li>
<li>If box doesn't pinned to any border, than it should always be in the same place (in percentage to container size).</li>
</ul>Also there special requirements to the box itself:<br />
<br />
<br />
<br />
<ul><li>Box should consists in most of 10 peaces: 4 borders, 4 corners and center zone.</li>
<li>For each zone css background property could be assigned (with tiled picture or color)</li>
<li>All except center zones could be omitted.</li>
</ul><br />
<span class="preview"><img border="0" src="http://i27.tinypic.com/2a62f5h.png" /></span><br />
<a name='more'></a><br />
<br />
<b>Box with Corners and Borders</b><br />
I will start with last requirement. I've made it with CSS and JavaScript. I wrote jQuery plug-in and some CSS that helps with all this.<br />
I've made 2 example demos. For both I used <a href="http://jqueryui.com/demos/resizable/">jQuery UI resizable</a> feature. It is just to show dynamics. I didn't fit my work to work in IE like browsers. It works only in <a href="http://www.google.com/chrome">normal</a> <a href="http://www.mozilla.com/firefox">browsers</a>. =)<br />
JavaScript part only wraps given element with divs, special styles and classes. Everything else is CSS only.<br />
<br />
<a href="http://soswow.pri.ee/js/pinlayout/borderedbox.html">In first demo</a> I've used color to show different parts of box. Try to drag sides of the box to see how it goes.<br />
<a href="http://soswow.pri.ee/js/pinlayout/borderedbox2.html">In the second demo</a> I've used some kind of life demo.<br />
<br />
You can find jQuery plug-in <a href="http://soswow.pri.ee/js/pinlayout/js/jquery-borders.js">here</a>. And CSS for it <a href="http://soswow.pri.ee/js/pinlayout/css/borders.css">here</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://soswow.pri.ee/js/pinlayout/borderedbox.html"><img border="0" src="http://i27.tinypic.com/308whl0.png" /></a><a href="http://soswow.pri.ee/js/pinlayout/borderedbox2.html"><img border="0" src="http://i27.tinypic.com/2a62f5h.png" /></a></div><br />
Usage is follows:<br />
<span style="font-family: monospace; white-space: pre;"> </span>$("#box2").addBorders({<br />
<code> <span style="white-space: pre;"> </span>top:{<br />
<span style="white-space: pre;"> </span>size:10,<br />
<span style="white-space: pre;"> </span>background:"rgba(255,125,0,0.5)"<br />
<span style="white-space: pre;"> </span>},<br />
<span style="white-space: pre;"> </span>right:{<br />
<span style="white-space: pre;"> </span>size:10,<br />
<span style="white-space: pre;"> </span>background:"rgba(125,125,0,0.5)"<br />
<span style="white-space: pre;"> </span>},<br />
<span style="white-space: pre;"> </span>bottom:{<br />
<span style="white-space: pre;"> </span>size:10,<br />
<span style="white-space: pre;"> </span>background:"rgba(125,255,0,0.5)"<br />
<span style="white-space: pre;"> </span>},<br />
<span style="white-space: pre;"> </span>left:{<br />
<span style="white-space: pre;"> </span>size:10,<br />
<span style="white-space: pre;"> </span>background:"rgba(255,0,255,0.5)"<br />
<span style="white-space: pre;"> </span>},<br />
<span style="white-space: pre;"> </span>center:{background:"rgba(255,0,0,0.5)"},<br />
<span style="white-space: pre;"> </span>tl: {<span style="white-space: pre;"> </span>background:"rgba(0,0,255,0.5)"},<br />
<span style="white-space: pre;"> </span>tr: {<span style="white-space: pre;"> </span>background:"rgba(0,0,255,0.5)"},<br />
<span style="white-space: pre;"> </span>bl: {<span style="white-space: pre;"> </span>background:"rgba(0,0,255,0.5)"},<br />
<span style="white-space: pre;"> </span>br: {<span style="white-space: pre;"> </span>background:"rgba(0,0,255,0.5)"}<br />
<span style="white-space: pre;"> </span>});<br />
</code><br />
TL = Top Left Corner, TR = Top Right Corner and so on.<br />
You can omit any of the: top, right, bottom, left. If you omit top and right than top-right corner won't appear. Also as you see you don't need to provide size for corner blocks, it takes values from sides it produces.<br />
<br />
<b>JavaScript Pin Layout</b><br />
Second part of the whole requirement is Layout system, where each element could be pinned to one of the sides of the container it contains.<br />
I've implemented with JavaScript using event of the object called "propertychange" (in FF it called DOMAttrModified). This event triggered when object changes one of it's properties. I used <a href="http://www.west-wind.com/weblog/posts/478985.aspx">already written jQuery plug-in</a> that implements this part. I used it to watch for sizes of the container box. When it changes I change coordinates and dimensions of child boxes.<br />
<br />
Here you can find <a href="http://soswow.pri.ee/js/pinlayout/pinlayout.html">demo</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i31.tinypic.com/2vb6i35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="151" src="http://i31.tinypic.com/2vb6i35.png" width="200" /></a></div><br />
In this demo 4 boxes behave differently.<br />
<br />
<ul><li>Top-Left have no pins</li>
<li>Top-Right pinned to left and right sides. And have no top-bottom</li>
<li>Bottom-right pinned to left, top and bottom</li>
<li>Bottom-left pinned to every side.</li>
</ul><div><a href="http://www.soswow.pri.ee/js/pinlayout/both.html">In last</a> demo I combine both requirements.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i28.tinypic.com/14nmwl5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="152" src="http://i28.tinypic.com/14nmwl5.png" width="200" /></a></div>My jQuery plug-in is <a href="http://www.soswow.pri.ee/js/pinlayout/js/pinMe.js">here</a>. It depends on this <a href="http://www.soswow.pri.ee/js/pinlayout/js/jquery-watcher.js">plug-in</a>. Two global parameters should be set - origHeight and origWidth that define size of parent box.</div><div></div>I didn't define any licensees. If you need it I can add any.Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com0tag:blogger.com,1999:blog-5850073209280779204.post-60519734447750649702009-08-26T11:17:00.006+03:002009-08-30T15:40:02.302+03:00Canvas experiments.<b>Zoom In/Out using HTML 5 Canvas element</b><br />
<br />
I played a little with <a href="http://en.wikipedia.org/wiki/HTML_5">HTML5</a> <a href="http://en.wikipedia.org/wiki/Canvas_(HTML_element)">canvas</a>. I was thinking about how to make zoom-in/out for image in web application. If you make ordinary <a href="http://www.w3schools.com/htmL/html_images.asp">image tag</a> just with bigger properties <em>height</em> and <em>width</em>, than you get bigger blurred image. It's not suitable for me. I need effect similar to stand alone applications like in Photoshop: if I magnify image 10 times, than there should be sharp colored squares (10x10 px) representing each pixel.<br />
<span class="previewpost"><br />
<img border="0" height="147" src="http://img44.imageshack.us/img44/4669/ss20090827210335.png" width="200" /><br />
</span><br />
<span class="fullpost"><br />
Canvas element has ability to take canvas image data as array of pixel colors. Also you can define canvas data by providing such array. So I've made couple of example where I process such data with JavaScript.<br />
<br />
Here you can find <a href="http://soswow.pri.ee/canvas/canvas4.html">demo</a>. Try it with <a href="http://www.mozilla.com/firefox/">Firefox</a> or <a href="http://www.google.com/chrome">other browses</a> supported HTML 5 Cavnas element (not IE 6/7)<br />
By clicking mouse with right/left buttons you can zoom in/out. (But do it gently)<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i31.tinypic.com/2rqgkrc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="111" src="http://i31.tinypic.com/2rqgkrc.jpg" width="200" /></a></div><br />
In the second <a href="http://soswow.pri.ee/canvas/canvas5.html">demo</a> you can find same effect but you should scroll your mouse wheel (also gently) and to move picture around you need to drag it.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i29.tinypic.com/2h2nl2v.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="199" src="http://i29.tinypic.com/2h2nl2v.png" width="200" /></a></div><br />
In the third <a href="http://soswow.pri.ee/canvas/canvas6.html">demo</a> I used blurred magnification (that I mentioned earlier) but I tried to make grid to distinguish each pixel while zooming in.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i30.tinypic.com/vsjta9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://i30.tinypic.com/vsjta9.jpg" width="199" /></a></div><br />
I didn't find any suitable solution for my task. First two are very slow when you have big images and lot movements, even if you use much optimized JavaScript. Image with sizes 512x512 px (as I used in my demo) is represented as 512*512*4 = 104 8576 length's array. When you magnify it 5 times you get 5 242 880 length's array.<br />
<br />
In first demo I didn't get whole image data at once, but only needed piece of image. But it happens very often while you move mouse around and its eats lot of memory and processor time.<br />
<br />
In second demo I firstly make whole image magnification and after it you just move it around. So as you zoom in pixel array is growing exponentially, which leads to longer and longer pause.<br />
<br />
<b>Cropping Tool and Life game</b><br />
In this <a href="http://soswow.pri.ee/canvas/canvas3.html">demo</a> I've made cropping tool with canvas. You can click and drag on empty space (above image) for make rectangles. After making some rectangles you can move it around and resizing it with right bottom corner.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i32.tinypic.com/2u5dtw3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="199" src="http://i32.tinypic.com/2u5dtw3.jpg" width="200" /></a></div><br />
<br />
In this <a href="http://soswow.pri.ee/canvas/canvas.html">demo</a> you can find classic zer0-player <a href="http://en.wikipedia.org/wiki/Conway's_Game_of_Life">Life Game</a>. Try to run it by clicking Start button. If you want you can change initial droids count and life rules ("Live if there is from"). Also you can change speed by changing FPS value.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://img44.imageshack.us/img44/4669/ss20090827210335.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="http://img44.imageshack.us/img44/4669/ss20090827210335.png" width="200" /></a></div></span>Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com0tag:blogger.com,1999:blog-5850073209280779204.post-56956001346507645532008-07-18T11:08:00.000+03:002008-07-18T11:28:52.642+03:00Прошёл квалификациюВо <a href="http://code.google.com/codejam/contest/dashboard?c=agdjb2RlamFtcg8LEghjb250ZXN0cxjqOQw">вчерашнем соревновании</a> <a href="http://code.google.com/codejam/contest/scoreboard?c=agdjb2RlamFtcg8LEghjb250ZXN0cxjqOQw&show_type=all&start_pos=5221&views_time=1&views_number=1&views_file=0&csrfmiddlewaretoken=">я прошёл квалификацию</a>, и теперь меня ждёт 1-ый раунд, после которого остануться 2520 человек. Я не очень уверен, что мне это удастся, но попытаться всё таки стоит.<br />
Задания были, как ни странно сложнее, чем я ожидал. По крайней мере сложнее, чем которые там лежат для тренировки.<br />
<br />
Проект Таллинн 360, как я и ожидал замедлил ход. На данный момент я жду <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=200237889275&ssPageName=ADME:B:BOC:US:1123#ebayphotohosting">одну пробную камеру с eBay'я</a>. Если она удачно пройдёт испытания, тогда буду заказывать больше таких. И тогда уже процес пойдёт куда надо =)<br />
<br />
Сходил на днях в Нарве в киношку на два фильма: <a href="http://ru.wikipedia.org/wiki/%D0%9E%D1%81%D0%BE%D0%B1%D0%BE_%D0%BE%D0%BF%D0%B0%D1%81%D0%B5%D0%BD_%28%D1%84%D0%B8%D0%BB%D1%8C%D0%BC%29">Wanted (Русский локализованный вариант)</a>, и <a href="http://en.wikipedia.org/wiki/Hancock_%28film%29">Хэнкок</a>. <br />
<br />
Купил у Лёхи камеру Canon 350D и это подстягнуло меня опять активно заняться фотографией. Всех приглашаю <a href="http://picasaweb.google.com/soswow/">к себе в альбомчик</a>, где вы найдёте интересные фотки <a href="http://picasaweb.google.com/soswow/NewOnes/photo#5223327670819109218">кузнечика</a>, который согласился мне попазировать, а так же я решил собрать в одном месте все интересные <a href="http://picasaweb.google.com/soswow/MasjuOurCat">фотографии нашей кошки Масю</a>.<br />
<br />
Картинки для затравки:<br />
<a href="http://picasaweb.google.com/soswow/MasjuOurCat/photo#5222984180743550050" style="margin: 3px; float: left;"><img src="http://lh4.ggpht.com/soswow/SHvEcJi0NGI/AAAAAAAACxc/8UCbyFSGhTQ/s288/IMG_7693.JPG" /></a><a href="http://picasaweb.google.com/soswow/NewOnes/photo#5223327670819109218" style="margin: 3px; float: left;"><img src="http://lh4.ggpht.com/soswow/SHz815ykOWI/AAAAAAAACyw/QfVhlseR42Q/s288/IMG_8755.JPG" /></a><a href="http://picasaweb.google.com/soswow/Panorams/photo#5222808544007812658" style="margin: 3px; float: left;"><img src="http://lh3.ggpht.com/soswow/SHsksvt19jI/AAAAAAAACro/Fievz2_7gCs/s288/Narva_night_pano_1600.jpg" /></a>Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com1tag:blogger.com,1999:blog-5850073209280779204.post-70269914034299361262008-07-04T00:26:00.001+03:002008-07-04T01:08:06.831+03:00Хельсинки и ПанорамыОпять отвлекаюсь от главного замысла этого блога. Но это лучше, чем ничего не писать =)<br />
29-ого июня с Ланочкой ездили в Хельсинки на 1 день. В 8 утра выехали туда, и в 8 вечера обратно. Нам в полне хватило времени, что бы посмотреть город, и 5 часов покататься на всех аттракционах парка развлечений =)<br />
<br />
Я предварительно подготовился, просмотрев всякие там Wikipedia на момент самых нужных для посещения мест (т.к. там я ни разу не был). В итоге очень помог <a href="http://en.wikipedia.org/wiki/List_of_sites_in_Helsinki">этот</a> список интересных мест центра. Из основных моментов для посещения были или <a href="http://en.wikipedia.org/wiki/Finnish_National_Museum">какие</a>-<a href="http://en.wikipedia.org/wiki/Seurasaari">то</a> <a href="http://en.wikipedia.org/wiki/Kiasma">музеи</a>, или какой-то <a href="http://en.wikipedia.org/wiki/Heureka">представление</a>, или <a href="http://en.wikipedia.org/wiki/Korkeasaari">зоопарк</a>, или <a href="http://en.wikipedia.org/wiki/Linnanm%C3%A4ki">парк развлечений</a>. Мы выбрали последнее.<br />
В конечном итоге <a href="http://soswow.pri.ee/WhereWeWent.kml">мы прошлись</a> по большей части тех мест, <a href="http://soswow.pri.ee/tripToHelsinkiPlaces.kml">которые я выбрал для посещения</a>. (Хотя офис Гугла я так и не нашёл =( )<br />
Фото-отчёт <a href="http://picasaweb.google.com/soswow/Helsinki2008">можно посмотреть тут</a>. Почти для всех фотографиям я указал место на карте. Названия писать было лень. Может быть, когда-нибудь! =) Не скупитесь на комментарии. <br />
<br />
Также с поездки я привёз некоторый материал для склейки панорам, сделанных вручную. И у меня эти самые руки, таки, дошли до того, что бы заняться сборкой тех панорам, что у меня уже были. Я эксперементировал с разными склейщиками (в основном безплатными типа <a href="http://hugin.sourceforge.net/download/">Hugin</a>), но это занимало слишком много времени для точной ручной подгонки. Тогда я открыл для себя <a href="http://www.autopano.net/">Autopano Pro</a>. Она, конечно, платная, но очень хорошая. По крайней мере я перестал что-либо руками поправлять. Ею я и склеил практически все панорамки, которые <a href="http://picasaweb.google.com/soswow/Panorams">выставил вот тут</a>.<br />
Как я заметил выше, что-то из них новое, а что-то старое пересклеенное. <br />
Понятно, что для таких широких панорам 1600 пикселов по горизонту мало (Это максимум, который показывает Picasa Web Albums). По-этому необходимо их выложить где-то в специализированном для панорам, месте. Лучше, что бы это было что-то интерактивное. Я ещё пока не нашёл такого места. Как только, так сразу в комментах к ним появяться ссылки на полноэкранные варианты.<br />
<br />
Картинки для привлечения внимания:<br />
<div style="text-align: left;"><a href="http://picasaweb.google.com/soswow/Panorams/photo#5218710194969231378" style="clear: left; margin-bottom: 1em; float: left; margin-right: 1em;"><img src="http://lh3.ggpht.com/soswow/SGyVRbzZwBI/AAAAAAAACTM/T0Bv8KGvmIQ/s144/kuhnja3.jpg" style="" /></a> <a href="http://picasaweb.google.com/soswow/Helsinki2008/photo#5218886519454251506"><img src="http://lh6.ggpht.com/soswow/SG01o3slOfI/AAAAAAAACeM/fFepq6J_FsA/s144/Picture%20246.jpg" /></a></div>Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com0tag:blogger.com,1999:blog-5850073209280779204.post-49934702484656419262008-06-19T11:02:00.003+03:002008-06-19T11:59:06.020+03:00Alien NumbersВчера сделал одно из тестовых заданий из прошлых соревнований GJC. Называется Alien Numbers. Суть задания заключается в переводе чисел из одной системы исчисления в другую. Задаётся число в первой системе, первая система, вторая и надо найти тоже число во второй системе. Система задаётся в виде символов, которые используются в ней.<br /><br />Ну на пример в десятичной системе это выглядит как 0123456789, в двоичной 01 в 16-иричной 0123456789ABCDEF и т.д. Но никто не запрещает использовать сколько угодно знаков (даже символы типа №%:?*)<br /><br />Вот и получается, что 9 из десятичной системы в системе oF8 выглядит как Foo =)<br />А как уже потом показал небольшой Fun, можно закодировать фразу типа HELLO_WORLD, которая представляет из себя на самом деле число в системе ABCDEFGHIJKLMNOPQRSTUVWXYZ_. И если это всё перевести в десятичную систему, то получиться число 1474967912327400 =)<br />Или наоборот число в десятичной системе 1539883028604641423645393490470186061541638512686 в той же буквенной будет ... ? =) А это если кто захочет, может попробовать сам, ибо свои разработки я прилагаю.<br /><br /><a href="http://soswow.pri.ee/python/GJC/AlienNumbers/GJC_AlienNumbers.rar"><span style="font-weight: bold;">GJC_AlienNumbers.rar</span></a> - тут лежит сам файл .py, несколько пробных тестовых файлов с заданиями, а так же в папочке dist можно найти .exe файл.<br />Использовать .py можно тем, у кого стоит python.<br /><pre>python AlienNumbers.py -i input.txt -o output.txt</pre>или, если кто-то мне доверяет =), то может запустить .exe<br /><pre>AlienNumbers.exe -i input.txt -o output.txt</pre>На этом я пока отлажу, пожалуй, игры с GJC. Надо заняться Tallinn 360 + один проект, о котором я расскажу, когда об этом будет иметь смысл говорить =)<br /><br />Кстати, .exe делается такой штукой как <a href="http://www.py2exe.org/">py2exe</a><br /><br />п.с.<br />Чё-то мне сутра сегодня <a href="http://soswow.pri.ee/shoke.jpg">вот такое</a> примерещилось =)))Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com1tag:blogger.com,1999:blog-5850073209280779204.post-422166378656541312008-06-18T15:10:00.001+03:002008-06-19T14:19:49.711+03:00Google Code Jam 2008Прочитал вчера новость на <a href="http://googleblog.blogspot.com/2008/06/google-code-jam-is-back.html">Google Blog</a>, о начале регистрации на конкурс <a href="http://code.google.com/codejam/">Google Code Jam 2008</a>. Я уже который год хочу принять в чём-то подобном участие. Сначала хотел быть одним из студентов-трудоголиков и писать Open Source Code в рамках программы <a href="http://code.google.com/soc/2008/">Google Summer of Code</a>, но т.к. до сих пор официальным студентом не стал, GCJ для меня единственный шанс. Как раз недавно поучаствовал в небольшом соревновании <a href="http://treasurehunt.appspot.com/">Google Treasure Hunt 2008</a>, в котором было всего 4 небольших задания, по заданию на неделю. Я все, в принципе, с удовольствием решил на Python, но не в рамках выигрышного времени (хотя результаты ещё не объявили. Вот жду =))<br />Кстати, вопросы ещё активны, и если кто хочет, может попробовать и свои силы тоже =)<br />А если кому-то ну просто не понятно зачем нужно посмотреть на мои решения, то прошу:<br /><ul><li><a href="http://soswow.pri.ee/python/GoogleHunt/PrimeNumbers.py">Про простые числа</a></li><li><a href="http://soswow.pri.ee/python/GoogleHunt/RobotMatrix.py">Про робота в матрице</a></li><li><a href="http://soswow.pri.ee/python/GoogleHunt/FileSearcher.py">Про поиск файлов</a></li><li><a href="http://soswow.pri.ee/python/GoogleHunt/RoutingTable.py">Про Routing Tables</a></li></ul>В общем 8 тестовых заданий по GCJ уже есть, и можно приступать к их решению. Но это всё надо делать так, что бы не отвлекаться от Таллинн 360, а то будет опять как всегда ... появиться новая идея, а старую я заброшу. Благо, на данный момент, у меня есть люди, которые меня подстегнут в нужный момент (Dima, Hello!), а также есть люди, выразившие желание поучаствовать со мной в GCJ (Alex, Hello! =)Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com1tag:blogger.com,1999:blog-5850073209280779204.post-5285211386725372942008-06-14T16:54:00.003+03:002008-06-14T18:18:18.924+03:00Что мы имеемИтак, на данный момент у меня есть:<br /><br /><a href="http://pyserial.sourceforge.net/">pySerial</a> - Python либа, с помощью которой можно читать COM порты.<br />Вот такого кода достаточно:<pre>import serial<br /><br />ser = serial.Serial(0)<br />line = ser.readline()<br />ser.close()<br /><br />print line</pre>Это мне поможет читать информацию с GPS reciever'а, от куда по портам будет литься инфа в формате <a href="http://www.gpsinformation.org/dale/nmea.htm">NMEA</a>. Строка получается в виде:<br /><pre>$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47</pre>Разбираться с форматом буду сам, наверное. По крайней мере особых либ для парсинга этого формата я не нашёл.<br /><br /><a href="http://videocapture.sourceforge.net/">VideoCapture</a> - Python библиотека для чтения данных с таких девайсов как web camera. Достаточно написать вот так:<pre>from VideoCapture import Device<br /><br />cam = Device(0)<br />cam.setResolution(1024,768)<br />cam.saveSnapshot('images.jpg', quality = 100)</pre>, что бы сохранить то, что сейчас на вебкамере в файл.<br />Правда, неизвестно как оно всё будет себя вести при больших количествах камер.<br /><br /><a href="http://gpsgate.com/index.php?id=13">GPS Gate</a> - Программулина, с помощью которой можно делать много чего интересного с GPS устройствами и сигналом от них. Но самая нужная из этого всего, это функция симуляции GPS сигнала (например в движении). А это нужно, что бы писать софт для GPS не выходя из-за стола =)<br /><br />Далее надо разобраться по части склейки панорам.Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com1tag:blogger.com,1999:blog-5850073209280779204.post-72181761043492128302008-06-12T17:09:00.003+03:002008-06-12T18:46:23.305+03:00ВведениеЕсли вы зашли сюда случайно и вы со мной не знакомы и\или не знаете что это за блог, то этот абзац для вас. Меня зовут Александр. Мне часто в голову приходят разные идеи проектов, интересных и не очень. И почти всегда эти проекты заканчиваются тем, умирают под натиском других идей и мыслей, которые потихоничку заполаняют мой мозг.<br />Так вот одним из таких проектов, которым у меня болит голова последние недели 2 является идея о создании эквивалента <a href="http://en.wikipedia.org/wiki/Google_Street_View">Google Street View</a> своими руками в пределах города в котором я живу, а именно Таллинна. Идею мне подали ребята, которые точно так же на коленке сделали подобие Google Street View, только <a href="http://www.kartamania.ru/kartamania/">для Москвы</a>. Всю программную часть собираюсь писать по возможности сам на <a href="http://en.wikipedia.org/wiki/Python_%28programming_language%29">Python</a>.<br />Сегодня мой друг и напарник <a href="http://dmitrypolushkin.blogspot.com">Дмитрий </a>посоветовал мне вести блог, что бы другие участники сети могли при желание перенять мой опыт. Я решил таки попробовать, хотя знаю, что вести журналы это не для меня. И что блоги и ЖЖ у меня в руках обычно мучительно умирают. Но я всё же попробую, тем более я собирался всё написанное выставлять в качестве Open Source.<br />На данный момент имеются масса вопросов, ответы на которые я потихоничку собираю. Например есть такие вопросы:<br /><ul><li>Как сделать установку с камерами?</li><ul><li>Какие камеры использовать?</li><ul><li>6-8х Web Camera</li><li>3-4x SLR Camera c FishEye объективами<br /></li></ul></ul><ul><li>Максимальное разрешение.</li><li>Угол обзора</li><li>Количество камер</li><li>Надо ли делать 180<span style="font-size:85%;"><sup>0</sup></span> по вертикали, или хватит горизонтального 360, а по вертикали достаточно и градусов 57</li><li>Где их купить?</li><ul><li>Мне нужны только линзы, схемы с матрицами. Корпуса и провода мне не нужны, по этому есть ли возможность купить только комплектующие</li></ul></ul><ul><li>Возможные проблемы с синхронизацией съёмки.</li></ul><li>Вопросы связанные с GPS и движения<br /></li><ul><li>Какой и где GPS Receiver купить?</li><li>Как лучше расчитать маршрут движения таким образом, что бы количество повторных проездов было минимально.<br /></li></ul><li>Вопросы касательно ПО</li><ul><li>Склейка панорам</li><ul><li>Делать склейку апосля или сразу?<br /></li></ul><li>Запись картинок с координатами GPS</li><ul><li>В каком виде сохранять инфу. В базу или файлики на диске</li></ul></ul></ul>О некоторых решениях и ответах, которые у меня уже имеются я расскажу попозже.Aleksandr Motsjonovhttp://www.blogger.com/profile/07399289955297941231noreply@blogger.com3