<?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-29417621</id><updated>2012-01-18T13:40:59.564+04:00</updated><category term='screenshort'/><category term='fun'/><category term='jing'/><category term='креатив'/><category term='sql'/><category term='java'/><category term='native'/><category term='ideas'/><category term='Lifehack'/><category term='screencast'/><title type='text'>Andrew Fink press center</title><subtitle type='html'>Делай, что должен, и будь, что будет!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>51</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-29417621.post-5604789563996903077</id><published>2011-12-04T11:07:00.001+04:00</published><updated>2011-12-04T13:40:43.722+04:00</updated><title type='text'>Памятка по установке JRebel</title><content type='html'>Прежде всего хочу сказать, что настраивать-то особо нечего ;-)&lt;br /&gt;Можно посмотреть презентацию "для вдохновения" &lt;a href="http://zeroturnaround.com/jrebel/presentations/" target="_blank"&gt;zeroturnaround.com/jrebel/presentations&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Я использую IntelliJ IDEA, для других IDE инструкция может слегка отличаться, см&amp;nbsp;&lt;a href="http://zeroturnaround.com/resources/" target="_blank"&gt;zeroturnaround.com/resources&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;1. Идем в IDE settings | plugins и находим среди доступных JRebel Plugin, Download and Install, Apply (restart).&lt;br /&gt;&lt;br /&gt;С сайта&amp;nbsp;&lt;a href="http://zeroturnaround.com/jrebel/current/" target="_blank"&gt;zeroturnaround.com/jrebel/current&lt;/a&gt; ничего качать не нужно, все включено в плагин. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. В IDE settings появится пункт JRebel, там нажимаем Launch JRebel Configuration Wiazard...&lt;br /&gt;Первый пункт активация - проще и дешевле начать с evolution.&lt;br /&gt;Второй пункт license пропускаем -&amp;nbsp; evolution сам сгенерирует и активизирует лицензию на 30 дней.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. пункт Choose settings выбираем какая IDE используется, тогда следующие пункты будут показывать инструкции по мелкой оптимальной подстройке этой IDE.&lt;br /&gt;&lt;br /&gt;Следует выставить три 'галочки' в IDE по инструкциям в последующих пунктах.&lt;br /&gt;&lt;br /&gt;Закончили с установкой и конфигурированием.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. В Project view проекта в pop-up menu выбираем Generate rebel.xml&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.zeroturnaround.com/wp-content/uploads/2009/09/idea8PluginRebelXmlShot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://www.zeroturnaround.com/wp-content/uploads/2009/09/idea8PluginRebelXmlShot.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Далее как сделал я и как удобно мне, возможно вам тоже понравится :-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Сохраняем rebel.xml в [webroot]/WEB-INF/classess&lt;br /&gt;Это единственный, довольно простой конфигурационный файл JRebel.&lt;br /&gt;&lt;br /&gt;Основные настройки описаны в&amp;nbsp;&lt;a href="http://zeroturnaround.com/jrebel/how-to-configure-rebel-xml/" target="_blank"&gt;zeroturnaround.com/jrebel/how-to-configure-rebel-xml&lt;/a&gt; &lt;br /&gt;На всякий случай ссылка на полное описание (скорее всего не понадобится): &lt;a href="http://zeroturnaround.com/jrebel/configuration/" target="_blank"&gt;zeroturnaround.com/jrebel/configuration&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Настройки по умолчанию мне не подошли т.к.&lt;br /&gt;a. я использую &lt;a href="http://click.apache.org/" target="_blank"&gt;Apache Click&lt;/a&gt;, который при старте достает некоторые ресурсы в [webroot], а так как по умолчанию используется [webroot] в исходниках, то система контроля версий обнаруживает кучу новых файлов.&lt;br /&gt;&lt;br /&gt;b. в проекте много модулей, которые компилируются в jar-ы и кладутся в [webroot]/WEB-INF/lib&lt;br /&gt;&lt;br /&gt;Поэтому пришлось прописать папку target/название_web_app - как [webroot],&lt;br /&gt;и несколько target/production/название_модуля - как путь для поиска классов, где:&lt;br /&gt;* target стандартное maven-название папки куда все компилируется,&lt;br /&gt;* production - папка принудительно создаваемая IDEA,&lt;br /&gt;* название_web_app - путь который вы прописали в Web Application exploded artifact, e.g. voip, smsrouter, etc,&lt;br /&gt;* название_модуля - IDEA создает для каждого модуля свои подпапки в production.&lt;br /&gt;&lt;br /&gt;Итоговый файл:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd"&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;classpath&amp;gt;&lt;br /&gt;  &amp;lt;dir name="C:/j/voip.dev/bh/target/production/core"/&amp;gt;&lt;br /&gt;  &amp;lt;dir name="C:/j/voip.dev/bh/target/production/demo"/&amp;gt;&lt;br /&gt;  &amp;lt;dir name="C:/j/voip.dev/bh/target/production/mca"/&amp;gt;&lt;br /&gt;  &amp;lt;dir name="C:/j/voip.dev/bh/target/production/tts"/&amp;gt;&lt;br /&gt; &amp;lt;/classpath&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;web&amp;gt;&lt;br /&gt;  &amp;lt;link target="/"&amp;gt;&amp;lt;!-- если эту папку zip-ануть, получится .war --&amp;gt;&lt;br /&gt;   &amp;lt;dir name="C:/j/voip.dev/bh/target/voip" /&amp;gt;&lt;br /&gt;  &amp;lt;/link&amp;gt;&lt;br /&gt; &amp;lt;/web&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;/application&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Готово!&lt;br /&gt;&lt;br /&gt;Далее просто запускаем Tomcat не обычной зеленой стрелочкой, а стрелочкой с "jr".&lt;br /&gt;Вносим изменения в код, компилируем (IDEA перед этим сохраняет) Ctrl+Shift-F9 или Ctrl-F9, F5 в браузере и видим обновление.&lt;br /&gt;&lt;br /&gt;PS: если хочется ускорить первый старт Tomcat, то мой предыдущий совет "скопировать папку VAADIN из vaadin.jar в [webroot]" по прежнему применим.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Кроме того, возможно вам захочется избавиться от сериализации HTTP сессии между рестартами Tomcat (пользы от этой сериализации в случае Vaadin не очень много), для этого в [webroot]/META-INF нужно поместить файл context.xml вида:&lt;br /&gt;&lt;pre&gt;&amp;lt;?xml version='1.0' encoding='utf-8'?&amp;gt;&lt;br /&gt;&amp;lt;Context antiJARLocking="true" &amp;gt;&lt;br /&gt;  &amp;lt;!-- Default set of monitored resources --&amp;gt;&lt;br /&gt;  &amp;lt;WatchedResource&amp;gt;WEB-INF/web.xml&amp;lt;/WatchedResource&amp;gt;&lt;br /&gt; &lt;br /&gt;  &amp;lt;!-- disable session persistence across Tomcat restarts --&amp;gt;&lt;br /&gt;  &amp;lt;Manager pathname="" /&amp;gt;&lt;br /&gt;&amp;lt;/Context&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Аттрибут antiJARLocking="true" опционален (можно убрать). Он нужен если web приложение не освобождает какие-то классы и не выгружается Tomcat (свой код лучше от такого чистить, но бывают такие библиотеки третьих сторон).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-5604789563996903077?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/5604789563996903077/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=5604789563996903077' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5604789563996903077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5604789563996903077'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/12/jrebel.html' title='Памятка по установке JRebel'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-6589588944003942365</id><published>2011-12-02T13:04:00.001+04:00</published><updated>2011-12-02T13:06:14.350+04:00</updated><title type='text'>Робот полотер</title><content type='html'>Читаю &lt;b&gt;Робот-полотер Mint - обзор &lt;/b&gt;@ &lt;a href="http://exler.ru/expromt/10-11-2011.htm" target="_blank"&gt;exler.ru/expromt/10-11-2011.htm&lt;/a&gt;&amp;nbsp;и нахожусь в задумчивости.&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/29417621-6589588944003942365?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/6589588944003942365/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=6589588944003942365' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6589588944003942365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6589588944003942365'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/12/blog-post.html' title='Робот полотер'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-420272347687975244</id><published>2011-12-01T10:20:00.001+04:00</published><updated>2011-12-01T10:28:43.104+04:00</updated><title type='text'>Разное про Java, Web и Vaadin</title><content type='html'>1. Для качественного ускорения web разработки на Java можно использовать замечательный продукт JRebel &lt;a href="http://zeroturnaround.com/jrebel/" target="_blank"&gt;zeroturnaround.com/jrebel&lt;/a&gt; (&lt;a href="http://zeroturnaround.com/blog/jrebel-101-what-jrebel-is-and-how-it-makes-java-development-lightning-fast/" target="_blank"&gt;кратко, что это&lt;/a&gt;). Он позволяет практически полностью отказаться от длительного re-deploy процесса.&lt;br /&gt;Внес исправление в код, перекомпилировал - web приложение уже обновилось (вроде PHP,Python,Ruby). Продукт платный, но есть интересный способ использовать бесплатно: &lt;a href="https://social.jrebel.com/" target="_blank"&gt;social.jrebel.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Кроме того они сделали вкусную zip java lib: &lt;a href="http://zeroturnaround.com/blog/zeroturnaround-releases-yazlj-yet-another-zip-library-for-java/" target="_blank"&gt;новость&lt;/a&gt; &lt;a href="https://github.com/zeroturnaround/zt-zip" target="_blank"&gt;repo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Если не использовать JRebel и разрабатывать используя &lt;a href="http://vaadin.com/" target="_blank"&gt;Vaadin&lt;/a&gt;, то можно обнаружить, что при первом запуске vaadin приложения после старта Tomcat, оно висит несколько секунд (примерно 10 на моём ПК). Исследование показало, что "висит" не сам Vaadin, а вызванный в com.vaadin.terminal.gwt.server.AbstractApplicationServlet#serveStaticResourcesInVAADIN Tomcat.&lt;br /&gt;vaadin.jar довольно большой и чтение ресурсов из него длительная операция.&lt;br /&gt;Чтобы избавится от этой задержки достаточно скопировать папку VAADIN из vaadin.jar в web app root (там где WEB-INF, META-INF, etc).&lt;br /&gt;Если Вам помог этот совет проголосуйте за мой совет на &lt;a href="http://stackoverflow.com/questions/3904735/how-to-improve-vaadin-startup-speed-in-debug-mode/8285514#8285514" target="_blank"&gt;stackoverflow.com/questions/3904735&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. JavaScript is assembly language for the web ИЛИ кто ещё не написал свой веб-Си?&lt;br /&gt;GWT (Google Web Toolkit) - золотой стандарт компиляции в JS, все знают, многим хочется повторить.&lt;br /&gt;&lt;br /&gt;Ладно Google начал страдать NIH синдромом и решил изобрести JavaScript (его придумали/сделали не они) &lt;a href="http://www.dartlang.org/" target="_blank"&gt;dartlang.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Но так, чтобы ВСЕ бросились компилировать в JS (включая больных и убогих)...&lt;br /&gt;На 20ом языке начинает пробивать смех:&lt;br /&gt;&lt;a href="https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS" target="_blank"&gt;github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Даже QBASIC не забыт!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Унифицированный способ запускать различные контейнеры e.g. Tomcat из своего кода&lt;br /&gt;&lt;a href="http://cargo.codehaus.org/" target="_blank"&gt;cargo.codehaus.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Для копирования DTO между разными уровнями в web приложении пригодится&lt;br /&gt;&lt;a href="http://dozer.sourceforge.net/" target="_blank"&gt;dozer.sf.net&lt;/a&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/29417621-420272347687975244?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/420272347687975244/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=420272347687975244' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/420272347687975244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/420272347687975244'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/12/java-web-vaadin.html' title='Разное про Java, Web и Vaadin'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-6791829245063425767</id><published>2011-09-08T12:08:00.000+04:00</published><updated>2011-09-08T12:08:20.041+04:00</updated><title type='text'>Java7 try-with-resources</title><content type='html'>Хорошее подробное описание &lt;strong&gt;&lt;em&gt;try-with-resources&lt;/em&gt;&lt;/strong&gt; в Java 7:&lt;br /&gt;&lt;a href="http://www.oracle.com/technetwork/articles/java/trywithresources-401775.html" target="_blank"&gt;Better Resource Management with Java SE 7: Beyond Syntactic Sugar&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-6791829245063425767?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/6791829245063425767/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=6791829245063425767' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6791829245063425767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6791829245063425767'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/09/java7-try-with-resources.html' title='Java7 try-with-resources'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-5824294236440033698</id><published>2011-07-07T11:17:00.001+04:00</published><updated>2011-07-07T11:18:23.300+04:00</updated><title type='text'>Интересное про память и Java</title><content type='html'>&lt;a href="http://www.javaspecialists.eu/archive/Issue193.html" target="_blank"&gt;javaspecialists.eu/archive/Issue193.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Вообще имеет смысл прочитать все его выпуски.&lt;br /&gt;&lt;br /&gt;В частности же:&lt;br /&gt;&lt;br /&gt;на 64-bit серверах с 64-bit java полезно попробовать опцию   &lt;br /&gt;-XX:+UseCompressedOops&lt;br /&gt;64bit архитектура == 64bit указатели (vs 32bit = в 2 раза больше).&lt;br /&gt;С этой опцией JVM указатели (не все) оптимизирует == &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/29417621-5824294236440033698?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/5824294236440033698/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=5824294236440033698' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5824294236440033698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5824294236440033698'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/07/java.html' title='Интересное про память и Java'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-8997349707949576041</id><published>2011-07-07T11:10:00.003+04:00</published><updated>2011-07-07T11:11:14.952+04:00</updated><title type='text'>В Java7 будет сексуально выглядящий Javadoc</title><content type='html'>&lt;a href="http://download.java.net/jdk7/docs/api/" target="_blank"&gt;http://download.java.net/jdk7/docs/api/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Хотя лично мне нравится &lt;a href="http://javadoc.allimant.org/" target="_blank"&gt;chm версия&lt;/a&gt;: упакованная, быстрая, со сквозным индексом и поиском.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-8997349707949576041?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/8997349707949576041/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=8997349707949576041' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/8997349707949576041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/8997349707949576041'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/07/java7-javadoc.html' title='В Java7 будет сексуально выглядящий Javadoc'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-1602818648618977251</id><published>2011-07-07T10:59:00.003+04:00</published><updated>2011-07-07T11:06:57.754+04:00</updated><title type='text'>Работа территориально распределенных коллективов</title><content type='html'>Для удаленной работы одного GMail/GTalk бывает недостаточно.&lt;br /&gt;Skype ~ GTalk только без архива на сервере и более распространненый.&lt;br /&gt;&lt;br /&gt;JIRA (и другие аналогичные продукты), Wiki, &lt;a href="http://magicprinc.blogspot.com/2011/05/blog-post.html" target="_blank"&gt;Jing&lt;/a&gt; - уже почти всё что нужно.&lt;br /&gt;&lt;br /&gt;Недавно наткнулся на интересный продукт:&lt;br /&gt;&lt;a href="http://www.teamviewer.com/ru/solutions/meetings.aspx" target="_blank"&gt;Team Viewer&lt;/a&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/29417621-1602818648618977251?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/1602818648618977251/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=1602818648618977251' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1602818648618977251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1602818648618977251'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/07/blog-post_07.html' title='Работа территориально распределенных коллективов'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-2531014798328205431</id><published>2011-07-07T09:03:00.006+04:00</published><updated>2011-07-07T09:18:01.690+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>fun</title><content type='html'>Стараюсь всякий нетехнический бред писать в ЖЖ.&lt;br /&gt;Но убогость ЖЖ просто доканывает.&lt;br /&gt;Картинку по простому нельзя разместить. Обязательно ритуал вида "найдите три китайских девственницы, поститесь с ними три года, на четверый в самую большую луну пойдите на..."&lt;br /&gt;&lt;br /&gt;В blogger просто зашел и разместил!&lt;br /&gt;В блог добавляется preview, при клике на картинке открывается полная версия.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Манул IKEA по сборке Стоунхенджа и говнотвиттер:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-rHfTX4JkKXw/ThU9lUrlDtI/AAAAAAAAAJw/DP5WNou9C3Q/s1600/ikea.jpg" imageanchor="1" target="_blank"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-rHfTX4JkKXw/ThU9lUrlDtI/AAAAAAAAAJw/DP5WNou9C3Q/s320/ikea.jpg" width="209" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-wZe5U9Nxqv4/ThU907rWyeI/AAAAAAAAAJ0/2Po3kZ3ypQg/s1600/exitbuildingbeforetweetingaboutit.jpg" imageanchor="1"  target="_blank"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-wZe5U9Nxqv4/ThU907rWyeI/AAAAAAAAAJ0/2Po3kZ3ypQg/s320/exitbuildingbeforetweetingaboutit.jpg" width="191" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS: ну и немного о технике...&lt;br /&gt;Эта гребля с ЖЖ напомнила мне о книге, которую я рекомендую прочитать всем.&lt;br /&gt;&lt;a href="http://www.ashmanov.com/pap/bubble" target="_blank"&gt;Жизнь внутри пузыря&lt;/a&gt;.&lt;br /&gt;Она как бы историческая и про интернет, но работая в большой "реальной" корпорации "я плакалъ".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-2531014798328205431?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/2531014798328205431/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=2531014798328205431' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2531014798328205431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2531014798328205431'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/07/fun.html' title='fun'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-rHfTX4JkKXw/ThU9lUrlDtI/AAAAAAAAAJw/DP5WNou9C3Q/s72-c/ikea.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-5064930331950994562</id><published>2011-07-04T10:09:00.001+04:00</published><updated>2011-07-04T10:13:38.423+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><title type='text'>Сравнение схем БД</title><content type='html'>Я работаю с MSSQL и MySQL и часто приходится сравнивать изменения в БД.&lt;br /&gt;&lt;br /&gt;* Делаю так: скриптую БД с разбивкой всех объектов на индивидуальные файлы, после чего сравниваю, используя diff tool с возможностью сравнения директорий.&lt;br /&gt;Очень просто и удобно.&lt;br /&gt;Сама папка находится под DVCS Mercurial/HG т.е. можно смотреть историю изменений.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Знаю про другой способ (работает в т.ч. между серверами разных версий т.к., например, скрипты MSSQL 2008 и 2000 довольно сильно отличаются).&lt;br /&gt;Для MySQL: &lt;a href="http://www.devart.com/ru/dbforge/mysql/studio/"&gt;devart.com/ru/dbforge/mysql/studio&lt;/a&gt; &lt;br /&gt;Для MSSQL: &lt;a href="http://www.devart.com/ru/dbforge/sql/datacompare/"&gt;devart.com/ru/dbforge/sql/datacompare&lt;/a&gt;&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/29417621-5064930331950994562?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/5064930331950994562/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=5064930331950994562' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5064930331950994562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5064930331950994562'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/07/blog-post.html' title='Сравнение схем БД'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-6828356355217837717</id><published>2011-05-15T15:52:00.003+04:00</published><updated>2011-08-18T10:01:00.564+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jing'/><category scheme='http://www.blogger.com/atom/ns#' term='screenshort'/><category scheme='http://www.blogger.com/atom/ns#' term='screencast'/><title type='text'>Скриншоты и скринкасты - просто и удобно</title><content type='html'>Потребовалось отправить в Jetbrains screen-cast бага (что он существует ;-).&lt;br /&gt;&lt;br /&gt;Провел небольшое исследование: чем быстро и просто записать короткий screen-cast (изображение части экрана, курсор, звук с микрофона).&lt;br /&gt;Нашел несколько вариантов, в итоге выбрал &lt;a href="http://www.techsmith.com/jing/"&gt;jing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Просто (ничего не надо настраивать), удобно. &lt;br /&gt;Делает помимо видео, фотки куска экрана (PrtScn и последующее вырезание в редакторе достало).&lt;br /&gt;&lt;br /&gt;Думаю о дальнейшем использовании.&lt;br /&gt;&lt;br /&gt;PS: для скриншотов есть OpenSource &lt;a href="http://sf.net/projects/greenshot/"&gt;sf.net/projects/greenshot&lt;/a&gt; - сегодня рассылка SF-ная принесла&lt;br /&gt;&lt;br /&gt;UPD2: http://camstudio.org/ OpenSource утилита для записи скринкастов&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-6828356355217837717?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/6828356355217837717/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=6828356355217837717' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6828356355217837717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6828356355217837717'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/05/blog-post.html' title='Скриншоты и скринкасты - просто и удобно'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-4035641134304105726</id><published>2011-04-05T17:39:00.002+04:00</published><updated>2011-04-06T10:09:13.641+04:00</updated><title type='text'>2011: Сменил default кодировку консоли cmd.exe на cp1251</title><content type='html'>Как известно default&amp;nbsp; кодировка/codepage windows консоли cmd.exe DOS 866.&lt;br /&gt;На дворе 2011 и я решился сменить её на кодировку остальной системы cp1251.&lt;br /&gt;Узнать какая кодировка выставлена, можно набрав в cmd.exe команду chcp.&lt;br /&gt;Сменить "на лету" можно chcp 1251.&lt;br /&gt;С UTF-8 chcp 65001, как мы уже выяснили не работает.&lt;br /&gt;&lt;br /&gt;Чтобы сменить на постоянной основе требуется:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Start-&amp;gt;Run-&amp;gt;regedit&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage&lt;br /&gt;сменить кодировку в OEMCP с 866 на 1251&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;После чего потребуется перезапуск.&lt;br /&gt;&lt;br /&gt;Найдено &lt;a href="http://codesnippets.joyent.com/posts/show/414"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Пора избавляться от старого барахла.&lt;br /&gt;Если очень захочется запустить что-то старое DOS-овское "chcp 866" в помощь.&lt;br /&gt;&lt;br /&gt;Замеченые минусы:&lt;br /&gt;давно надо было у архиваторов выставить кодировку файлов UTF-8, пришлось некоторые архивы пережать.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-4035641134304105726?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/4035641134304105726/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=4035641134304105726' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/4035641134304105726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/4035641134304105726'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/04/2011-default-cmdexe-cp1251.html' title='2011: Сменил default кодировку консоли cmd.exe на cp1251'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-1002178446748015328</id><published>2011-03-22T16:29:00.009+03:00</published><updated>2011-04-01T16:18:00.255+04:00</updated><title type='text'>Mercurial - Hg</title><content type='html'>Начал читать &lt;a href="http://hginit.com/"&gt;http://hginit.com&lt;/a&gt;&lt;br /&gt;Читая раздел для SVNщиков утер слезу - до чего верно пишет.&lt;br /&gt;&lt;br /&gt;После этого полезно &lt;a href="http://mercurial.selenic.com/guide/"&gt;mercurial.selenic.com/guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;В UTF-8 не работает (глюк windows). Поэтому не chcp 65001 (меняет кодировку консоли на UTF-8), а chcp 1251 - ваш друг.&lt;br /&gt;Для работы удобнее всего оказался cmd.exe /X /K chcp 1251 &amp;amp;&amp;amp; cd "путь"&lt;br /&gt;&lt;br /&gt;Отличная утилита&amp;nbsp;&lt;a href="https://bitbucket.org/zzsergant/hgwin/downloads"&gt;HgWin&lt;/a&gt;, вызывается из командной строки (hgwin cmd) и открывает GUI окошко. Если сразу в GUI, то TortoiseHG вполне.&lt;br /&gt;&lt;br /&gt;Отличная короткая статья об организации процесса подходящего и для моих проектов: &lt;a href="http://stevelosh.com/blog/2010/05/mercurial-workflows-stable-default/" target="_blank"&gt;http://stevelosh.com/blog/&lt;wbr&gt;&lt;/wbr&gt;2010/05/mercurial-workflows-&lt;wbr&gt;&lt;/wbr&gt;stable-default/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Относительно коммитов решил, что буду коммитить часто. Как ограничение "вечером не должно оставаться незакоммиченной работы".&lt;br /&gt;Чтобы не зафлудить репозитарий сырым кодом буду применять следующее соглашение:&lt;br /&gt;&lt;br /&gt;1. закомичиваемый код должен компилироваться (этого можно достичь даже вечером, пустые методы с todo написать и тд)&lt;br /&gt;2. если тесты не прошли или нет времени на все тесты, то commit message должен начинаться с "?": ?Обзвон нескольких телефонов в списке&lt;br /&gt;3. если тесты проходят и по ощущениям код хороший, то commit message не начинается с ? и ! т.е. любые другие символы&lt;br /&gt;4. если код отлично прошел тесты на DEV SERVER и его можно пытаться выкладывать на PRODUCTION, то commit message начинается с !&lt;br /&gt;5. на бой выкладываются только ревизии с commit message начинающиеся на !&lt;br /&gt;6. после выкладки на бой (вроде полетело, чуток поглядели - летит) тегируем версию "YYYY-MM-DD major.minor примечания"&lt;br /&gt;7. после некого интервала (ничего не вылезло, клиенты не звонят с воплями) мержим default в stable&lt;br /&gt;&lt;br /&gt;x. если вдруг потом обнаружен баг, переключаемся на "YYYY-MM-DD&lt;br /&gt;major.minor примечания" в stable, правим / build, test, func/sys test, deploy / tag "ymd major.minor примечания"2, merge это исправление в default&lt;br /&gt;&lt;br /&gt;y. если хочется надолго всё сломать - локальный feature clone. Из которого потом pull, merge в local#default и rm -rf feature clone&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS1:&lt;br /&gt;Мучился вопросом: как бранчи случайно названные одинаково разными программистами не пересекаются?&lt;br /&gt;Ответ: пересекаются! Рекомендуют именовать приватные бранчи "программист-название бранча".&lt;br /&gt;&lt;a href="http://nubyonrails.com/articles/five-features-from-mercurial-that-would-make-git-suck-less" target="_blank"&gt;http://nubyonrails.com/&lt;wbr&gt;&lt;/wbr&gt;articles/five-features-from-&lt;wbr&gt;&lt;/wbr&gt;mercurial-that-would-make-git-&lt;wbr&gt;&lt;/wbr&gt;suck-less&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Про бранчи vs клоны общий совет такой:&lt;br /&gt;для собственных нужно лучше делать локально клоны.&lt;br /&gt;Именованые бранчи для длительных линий разработки, типа есть три версии программы 1.0, 2.0, 3.0. Переход на новую версию стоит денег и не все пользователи переходят, сидят на 1.0 и 2.0, однако баги, возможно какие-то вкусняшки им давать необходимо (они купили). Дескать это хорошее применение для бранчей.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS2:&lt;br /&gt;Разумеется все теоретики запада против хранения генерируемых файлов в репозитарии - их можно моментально создать, любой версии, когда понадобятся (class, jar, war, ear, javadoc).&lt;br /&gt;Сгенерированные исходники (Google Protobuf, из WSDL) - нельзя менять, но хранить в VCS можно. Для анализа, что менялось или "почему всё сломалось". Но менять нельзя!&lt;br /&gt;Если в сгенерированные исходники надо внести изменения - советуют от них наследоваться, либо использовать композицию, тогда сгенерированный код может следовать за обновлениями, а не&amp;nbsp; останется на века в той версии где подправили.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-1002178446748015328?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/1002178446748015328/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=1002178446748015328' title='Комментарии: 7'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1002178446748015328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1002178446748015328'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/03/hg.html' title='Mercurial - Hg'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-2602649767060180957</id><published>2011-02-27T14:54:00.006+03:00</published><updated>2011-06-03T16:08:52.134+04:00</updated><title type='text'>Java tips #1</title><content type='html'>* Использую следующие дополнительные параметры запуска javac в IDE:&lt;br /&gt;&lt;pre&gt;-J -ea -Xlint:all -Xlint:-serial -J -XX:+AggressiveOpts -J -XX:+UseFastAccessorMethods&lt;/pre&gt;&lt;br /&gt;можно использовать "облегченную" версию -Xlint:all -Xlint:-serial&lt;br /&gt;Javac сообщает гораздо больше интересного (хинты) о&amp;nbsp; коде.&lt;br /&gt;&lt;br /&gt;Вообще у JVM просто &lt;a href="http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html"&gt;огромное количество настроек&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;А&amp;nbsp; resource patterns у меня&lt;br /&gt;&lt;pre&gt;?*.properties;?*.xml;?*.gif;?*.png;?*.jpeg;?*.jpg;?*.html;?*.htm;?*.dtd;?*.tld;?*.conf;?*.mp3;?*.wav;?*.mid;?*.midi;?*.ftl;?*.css;?*.js;?*.ico&lt;/pre&gt;&lt;br /&gt;* Jdbc batches действительно ускоряют массовые операции&lt;br /&gt;&lt;a href="http://www.factorypattern.com/how-to-use-jdbc-addbatch-method-with-mysql-for-improved-performance/"&gt;How To Use JDBC addBatch Method with MySQL for Improved Performance&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Правда у большинства JDBC Drivers (MySQL единственное известное мне исключение) нельзя в batch получить autoinc PK, т.е. они не подойдут, либо использовать ручную генерацию PK.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-2602649767060180957?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/2602649767060180957/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=2602649767060180957' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2602649767060180957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2602649767060180957'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/02/java-tips-1.html' title='Java tips #1'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-7260618232649419901</id><published>2011-02-18T12:32:00.001+03:00</published><updated>2011-02-18T12:35:26.191+03:00</updated><title type='text'>Шрифты</title><content type='html'>Читая один блог, наткнулся на рассуждения о шрифтах, какие лучше для чтения и программирования. &lt;br /&gt;Посмотрев на календарь, увидел, что там 2011 год. &lt;br /&gt;Решил, что, наверное, надо тоже сменить Tahoma и Courier New, на более современные разработки, тем более, что у меня с оказией Vista, а там идут новые секретные шрифты разработки M$.&lt;br /&gt;&lt;blockquote&gt;Calibri, Cambria, Candara, Consolas, Constantia and Corbel - according to Poynter Online, the new ClearType Font Collection incorporates improved Clear Type and OpenType technologies, and a boatload of research, to improve the structure and the clarity of the letter forms. Basically, that means a story will be easier to read because the letters and words won't be as soft and mushy looking.&lt;br /&gt;&lt;br /&gt;* Calibri - sans serif, suitable for documents, e-mail, Web design, and magazines&lt;br /&gt;* Cambria - serif, a formal type for business documents, e-mail, and Web design&lt;br /&gt;* Candara - sans serif, with vertical strokes not as reader-friendly perhaps&lt;br /&gt;* Consolas - monospaced, suitable for displaying programming code&lt;br /&gt;* Constantina - serif, very clean and readable, created for use in print or on the screen&lt;br /&gt;* Corbel - sans serif, clean and works as an alternative to Arial, Trebuchet or Verdana&lt;/blockquote&gt;Для разработки в IDE и редакторах (notepad++) поставил Consolas.&lt;br /&gt;Чуть не заболели глаза, стал разбираться - оказывается это шрифты под ClearType (в настройках дисплея), который у меня был выключен, т.к. он превращал Tahoma и Courier New в пытку, а тут видишь наоборот.&lt;br /&gt;После включения сглаживания ClearType Consolas стал выглядеть очень мило и прилично. Из приятных бонусов: 1 не похожа на l(L малое), а у 0 (нуля) есть черточка, как в старые добрые времена.&lt;br /&gt;&lt;br /&gt;Для остального долго мучился (вроде и так не так и это не так), выбрал Constantia serif и Corbel sans serif (основной) в Chrome и Constantia/Calibri в FF.&lt;br /&gt;Потратил полдня, пока привыкаю, но в целом вроде мило.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-7260618232649419901?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/7260618232649419901/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=7260618232649419901' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/7260618232649419901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/7260618232649419901'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/02/blog-post_18.html' title='Шрифты'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-4378729668741453423</id><published>2011-02-11T17:00:00.001+03:00</published><updated>2011-04-02T23:43:18.431+04:00</updated><title type='text'>MySQL links and tips</title><content type='html'>&lt;b&gt;Links&lt;/b&gt; &lt;br /&gt;1. Сам MySQL и документацию (жаль в chm перестали делать) брать здесь:&lt;br /&gt;&lt;a href="http://dev.mysql.com/downloads/mysql/"&gt;http://dev.mysql.com/downloads/mysql/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Java JDBC Driver:&lt;br /&gt;&lt;a href="http://dev.mysql.com/downloads/connector/j/"&gt;http://dev.mysql.com/downloads/connector/j/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Простая, легкая консоль (я пользуюсь ею для повседневных нужд - это free OS урезная редакция):&lt;br /&gt;&lt;a href="http://code.google.com/p/sqlyog/"&gt;http://code.google.com/p/sqlyog/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Очень навороченная, крутейшая консоль+enterprise manager+отчеты&lt;br /&gt;(можно в некоторых случаях отчеты делать не в web UI, а используя эту студию):&lt;br /&gt;&lt;a href="http://www.devart.com/ru/dbforge/mysql/studio/"&gt;http://www.devart.com/ru/dbforge/mysql/studio/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Вот список возможностей:&lt;br /&gt;&lt;a href="http://www.devart.com/ru/dbforge/mysql/studio/features.html"&gt;http://www.devart.com/ru/dbforge/mysql/studio/features.html&lt;/a&gt;&lt;br /&gt;в частности:&lt;br /&gt;# Генерация отчетов данных&lt;br /&gt;# Построение сводных таблиц&lt;br /&gt;&lt;br /&gt;У них, кстати, много ещё вкусного free4personal для cp1251 users:&lt;br /&gt;&lt;a href="http://www.devart.com/ru/dbforge/"&gt;http://www.devart.com/ru/dbforge/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Советую подписаться на MySQL newsletter (на сайте MySQL легко найти)&lt;br /&gt;бывают интересные статьи, советы, новости, интервью с экспертами.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. Блог о тюнинге MySQL&lt;br /&gt;&lt;a href="http://www.mysqlperformanceblog.com/" target="_blank"&gt;http://www.&lt;wbr&gt;&lt;/wbr&gt;mysqlperformanceblog.com/&lt;/a&gt;&lt;br /&gt;Лучше читать записи постарее (в новых много слишком заумного и про их порт).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Performance super mini faq&lt;/b&gt;&lt;br /&gt;В my.ini/my.cnf файле конфигурации есть опция innodb_flush_log_at_trx_commit, внимательно почитайте про неё.&lt;br /&gt;innodb_flush_log_at_trx_commit=0&amp;nbsp; - вполне разумный выбор IMHO&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Vars&lt;/b&gt;&lt;br /&gt;К сожалению, в запросе MySQL трудно написать сложную программу с if, while и тд, как это можно сделать в t-sql. В MySQL всё должно представлять из себя выражение см на примере &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if"&gt;if&lt;/a&gt;.&lt;br /&gt;Но переменные это что-то! Их не надо муторно объявлять с типом и можно использовать в самых удивительных местах.&lt;br /&gt;Пример (чтобы в Java работало несколько statement; в запросе не забудьте allowMultiQueries=true в JDBC Connection String/URL):&lt;br /&gt;&lt;br /&gt;set @a = null; set @b = null; set @c = null;&lt;br /&gt;&lt;br /&gt;select @a, @b, @c;-- null, null, null - всё чисто и готово к эксперименту&lt;br /&gt;&lt;br /&gt;select 'boo!', @a+@b+@c&lt;br /&gt;FROM (SELECT @a := 1, @b := 2, @c := 3) t; -- boo!, 6 т.е. from отработал раньше&lt;br /&gt;&lt;br /&gt;select @a, @b, @c;-- 1,2,3 значения сохранились&lt;br /&gt;&lt;br /&gt;select @a, @b, @c from (select @a := @a*10, @b:=@b*20, @c:=@c*30) t;-- 10,40,90 опять from отработал раньше&lt;br /&gt;&lt;br /&gt;select @a, @b, @c;-- 10,40,90 и значения сохранились&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SqlWatch&lt;/b&gt;&lt;br /&gt;Отличная утилита http://code.google.com/p/sqlwatch/ !&lt;br /&gt;Ставится как "JDBC proxy", предоставляет широкие возможности для профилирования sql запросов приложения.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-4378729668741453423?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/4378729668741453423/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=4378729668741453423' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/4378729668741453423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/4378729668741453423'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/02/mysql-links-and-tips.html' title='MySQL links and tips'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-2244503145626861808</id><published>2011-02-09T18:38:00.002+03:00</published><updated>2011-02-11T16:28:27.394+03:00</updated><title type='text'>Займемся самолечением</title><content type='html'>&lt;b style="color: red;"&gt;Важно!&lt;/b&gt; Предупреждение! &lt;span style="font-size: x-small;"&gt;Я не доктор и от медицины далек. Если вы заболели, лучше обратиться к врачу. Диагноз ставит врач. Лечение назначает врач (внимательно изучите, что он вам назначил).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Антибиотики назначает &lt;b&gt;только&lt;/b&gt; врач! Не занимайтесь самолечением!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Нижеследующие советы представляют собой опыт моей семьи &lt;i&gt;для информации&lt;/i&gt;&lt;/span&gt;, &lt;span style="font-size: x-small;"&gt;если врач постоянно пичкает вас антибиотиками&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Коллеги просто напугали своими обширными познаниями в медицине на уровне "солнце вращается вокруг земли".&lt;br /&gt;Решил изложить, что я знаю о креветках и отправлять всех читать этот пост.&lt;br /&gt;&lt;br /&gt;Итак, горькая правда состоит в том, что современная &lt;span style="font-size: large;"&gt;&lt;b&gt;медицина не умеет лечить большинство вирусных инфекций&lt;/b&gt;&lt;/span&gt; (перечитайте ещё раз).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: red;"&gt;Организм заболевшего человека через некоторое время САМ обучается бороться с проникнувшим вирусом и побеждает его.&lt;/span&gt;&lt;br /&gt;Очень важно, что температура, которая бывает при этом – это помощник организма &lt;/b&gt;(она в т.ч. убивает вирусы)&lt;b&gt;, показатель того, что организм борется.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Всё &lt;i&gt;"лечение"&lt;/i&gt;, которое даёт в данном случае медицина сводится к тому, чтобы снять интоксикацию, симптомы или осложнения = ПОСЛЕДСТВИЯ.&lt;br /&gt;&lt;br /&gt;Так любимые многими &lt;a href="http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D1%82%D0%B8%D0%B1%D0%B8%D0%BE%D1%82%D0%B8%D0%BA%D0%B8"&gt;антибиотики&lt;/a&gt; НЕ воздействуют на вирусы!&lt;br /&gt;Они убивают &lt;i&gt;бактерии&lt;/i&gt;, в том числе &lt;i&gt;полезные&lt;/i&gt;, нанося при этом серьезный удар по организму.&lt;br /&gt;Их назначают в том случае, если, например, после гриппа у вас развилась бактериальная ангина.&lt;br /&gt;Пить их нужно, &lt;i&gt;в крайнем случае&lt;/i&gt;, если осложнение таки появилось и оно серьезное.&lt;br /&gt;Назначает прием антибиотиков и их конкретный тип - только врач! (Внимательно изучите назначение, если оно из книжек времен Брежнева - обсудите с врачем более современные и щадащие средства!)&lt;br /&gt;&lt;br /&gt;Существенным прорывом науки в борьбе в вирусами являются прививки: это (всё сложнее, но для простоты) убитые или ослабленные вирусы. Организм учится определять и убивать их в тренировочном режиме, после чего в боевом это происходит быстрее.&lt;br /&gt;При этом они не дают 100% гарантии и сами могут приводить к осложнениям ;-)&lt;br /&gt;&lt;br /&gt;80% так называемых лекарств в аптеках - это &lt;b&gt;вообще не лекарства&lt;/b&gt;, а препараты для снятия симптомов заболевания т.е. вы болеете, заражаете коллег, но выглядите внешне почти здоровым (всякие терафлю и тд).&lt;br /&gt;Пользы от их применения нет вообще никакой. Т.к. они зачастую только вредят, например, снижая температуру.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Что делать, если заболели?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp; заболев лежать, много пить (вода, чай с травами, шиповником), есть много витамина С, много спать.&lt;br /&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp; по возможности (до 38-39 градусов) не сбивать температуру&lt;br /&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp; не жрать без необходимости антибиотики&lt;br /&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp; чистить нос &lt;a href="http://www.lanix.ru/lanix2009/health_catalog_item.php?id=360767024&amp;amp;c=a&amp;amp;b=coclean"&gt;Coclean &lt;/a&gt;&lt;br /&gt;5.&amp;nbsp;&amp;nbsp;&amp;nbsp; капать в нос &lt;a href="http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B8%D0%BF%D0%BF%D1%84%D0%B5%D1%80%D0%BE%D0%BD"&gt;Гриппферон&lt;/a&gt;&lt;br /&gt;6.&amp;nbsp;&amp;nbsp;&amp;nbsp; пить &lt;a href="http://ru.wikipedia.org/wiki/%D0%A0%D0%B8%D0%BC%D0%B0%D0%BD%D1%82%D0%B0%D0%B4%D0%B8%D0%BD"&gt;Ремантадин (римантадин)&lt;/a&gt;&lt;br /&gt;7.&amp;nbsp;&amp;nbsp;&amp;nbsp; пить настойку Эхиноцеии Пурпурной и &lt;a href="http://www.arbidol.ru/"&gt;Арбидол&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Что делать, чтобы минимизировать риск заболевания?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b style="color: red;"&gt;Тренировать собственные защитные функции организма.&lt;/b&gt;&lt;br /&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp; прививка&lt;br /&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp; закаливание, например, контрастный душ (и кожа подтянется)&lt;br /&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp; зарядка / физические нагрузки&lt;br /&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp; прогулки на свежем воздухе&lt;br /&gt;5.&amp;nbsp;&amp;nbsp;&amp;nbsp; чистить нос Coclean&lt;br /&gt;6.&amp;nbsp;&amp;nbsp;&amp;nbsp; капать в нос Гриппферон (профилактические дозы)&lt;br /&gt;7.&amp;nbsp;&amp;nbsp;&amp;nbsp; пить настойку Эхиноцеии и Арбидол&amp;nbsp; (профилактические дозы)&lt;br /&gt;8.&amp;nbsp;&amp;nbsp;&amp;nbsp; чистка организма&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-2244503145626861808?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/2244503145626861808/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=2244503145626861808' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2244503145626861808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2244503145626861808'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/02/blog-post.html' title='Займемся самолечением'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-5660190484842179181</id><published>2011-01-19T08:47:00.003+03:00</published><updated>2011-03-19T12:07:27.645+03:00</updated><title type='text'>Технологические планы на 2011</title><content type='html'>&lt;ul&gt;&lt;li&gt;Изучить и начать использовать &lt;a href="http://mercurial.selenic.com/"&gt;mercurial.selenic.com (Hg)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Изучить и начать использовать &lt;a href="http://maven.apache.org/"&gt;maven.apache.org&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Перейти с Log4j на давно изученный &lt;a href="http://logback.qos.ch/"&gt;logback.qos.ch&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Хорошенько сравнить &lt;a href="http://mybatis.org/java.html"&gt;mybatis&lt;/a&gt; со Spring JDBC + мои доработки - использовать победителя&lt;/li&gt;&lt;li&gt;Улучшить знание CSS&lt;/li&gt;&lt;li&gt;Улучшить знание JavaScript&lt;/li&gt;&lt;li&gt;IDEA 10 и только ручки&lt;/li&gt;&lt;li&gt; StAX (и углублять JAXB)&lt;/li&gt;&lt;li&gt;Активнее использовать&amp;nbsp; &lt;a href="http://www.jboss.org/hornetq"&gt;JBoss HornetQ&lt;/a&gt; (может есть MQ лучше? RabbitMQ и ActiveMQ не впечатлили)&lt;/li&gt;&lt;li&gt;Активнее использовать &lt;a href="http://ehcache.org/"&gt;Ehcache&lt;/a&gt; (вкусное в 2.4, попробовать распределенный) + Spring 3.1 cache abstraction&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-5660190484842179181?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/5660190484842179181/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=5660190484842179181' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5660190484842179181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5660190484842179181'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2011/01/2011.html' title='Технологические планы на 2011'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-6746052986261766586</id><published>2010-12-19T13:58:00.003+03:00</published><updated>2011-01-09T14:33:13.025+03:00</updated><title type='text'>My Spring config style</title><content type='html'>Не понимаю фанатов Guice. Голый DI без классов удобной интеграции и XML ;-)&lt;br /&gt;&lt;br /&gt;Если очень хочется обойтись вообще без XML в &lt;a href="http://www.springframework.org/"&gt;Spring&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;org.springframework.web.context.support.AnnotationConfigWebApplicationContext&lt;br /&gt;&lt;br /&gt;Кстати, в javadoc к нему: "Note: In case of multiple @Configuration classes, later @Bean definitions will override ones defined in earlier loaded files. This can be leveraged to deliberately override certain bean definitions via an extra Configuration class"&lt;br /&gt;&lt;br /&gt;То же самое в org.springframework.context.support.ClassPathXmlApplicationContext: In case of multiple config locations, later bean definitions will override ones defined in earlier loaded files. This can be leveraged to deliberately override certain bean definitions via an extra XML file…&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Я конфигурирую Spring так:&lt;br /&gt;&lt;br /&gt;- org.springframework.web.context.support.XmlWebApplicationContext&amp;nbsp; &lt;br /&gt;&lt;br /&gt;- конфигурируется в web.xml &lt;br /&gt;&amp;nbsp; &lt;listener&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;&lt;br /&gt;&amp;nbsp; &lt;/listener&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- всё что требует гибкой настройки находится в Spring XML.&lt;br /&gt;&lt;br /&gt;- всё что окружение-зависимо в .conf файлах читаемых org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&lt;br /&gt;&lt;br /&gt;- включены аннотации &lt;context:annotation-config&gt;, наиболее активно используются @Autowired, @Required&lt;/context:annotation-config&gt;&lt;br /&gt;&lt;br /&gt;- очевидные, однозначные вещи конфигурируются через @Component, @Service, @Repositary (т.е. в XML не присутствуют) через:&lt;br /&gt;&lt;br /&gt;&lt;context:component-scan base-package="some.package." scope-resolver="org.apache.click.extras.spring.PageScopeResolver"&gt; &lt;/context:component-scan&gt;&lt;br /&gt;&lt;br /&gt;IDEA проверяет правильность конфига и соотвествие его Java коду. Получаем замену скриптовым языкам с проверкой на этапе написания/компиляции.&lt;br /&gt;&lt;br /&gt;PS: интересная презентация о следующих версиях Spring 3.1, 3.2&lt;br /&gt;&lt;a href="http://www.infoq.com/presentations/Spring-3.0-3.1-3.2"&gt;http://www.infoq.com/presentations/Spring-3.0-3.1-3.2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PPS: с оказией прошу поддежать включение поддержки JavaScript (rhino) в поставку Spring&lt;br /&gt;&lt;a href="https://jira.springframework.org/browse/SPR-1933"&gt;https://jira.springframework.org/browse/SPR-1933&lt;/a&gt;&lt;br /&gt;свежая версия &lt;a href="https://jira.springframework.org/secure/attachment/16144/org.springframework.scripting.rhino_100205.zip"&gt;https://jira.springframework.org/secure/attachment/16144/org.springframework.scripting.rhino_100205.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;в комментариях есть примеры работы: многопоточной, с передачей объектов из приложения и тд - сказка!&lt;br /&gt;Сейчас со Spring поставляются bsh, JRuby, Groovy - кому первые два нужны неясно.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-6746052986261766586?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/6746052986261766586/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=6746052986261766586' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6746052986261766586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6746052986261766586'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2010/12/my-spring-config-style.html' title='My Spring config style'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-400969844235775163</id><published>2010-12-03T12:59:00.017+03:00</published><updated>2011-02-28T08:56:15.355+03:00</updated><title type='text'>Java NG</title><content type='html'>В продолжение "хотелок" в Java.&lt;br /&gt;&lt;br /&gt;Я считаю, что язык надо упрощать, а не усложнять (как это делает Scala).&lt;br /&gt;Список пожеланий, что хотелось бы улучшить, добавить:&lt;br /&gt;(в тексте [] используются для простого html == меньше больше)&lt;br /&gt;&lt;br /&gt;1. добавить всё что есть в Project Coin: small language changes &lt;br /&gt;много мелких синтаксических сахарков, делающих код более простым и наглядным.&lt;br /&gt;В частности 'array getter/setter': v = myList[i]; mymap["key1"] = value == компилятор подставляет вызов get и put соответственно. &lt;br /&gt;Если методов get/put/set не находится, то можно использовать любые другие проаннотированные @ArrayProperty&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. всё что есть в проекте Google Guava &lt;a href="http://code.google.com/p/guava-libraries/%20"&gt;http://code.google.com/p/guava-libraries/ &lt;/a&gt;&lt;br /&gt;плюс статические и fallback методы у интерфейсов т.е. "перенос" максимум кода из статических методов в instance методы (mySet.filter(..), map1.transform, etc).&lt;br /&gt;Пояснение про fallback: это статические методы в интерфейсе вида T filter (Set this, Filter _) - если у instance метода filter(Filter) нет, &lt;br /&gt;то используется fallback метод из интерфейса.&lt;br /&gt;myset.filter(myfilter).transform(myfunc) выглядит нагляднее и лучше работает с автокомплитом в отличии от transform(filter(myset, myfilter), myfunc)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. возможность не писать ";" там где IDE и компилятор справятся без ; т.е. сделать точку с запятой более опциональной&lt;br /&gt;Например: после и перед } , после )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. простые замыкания (а не предлагаемый ужас), например: #{тело метода } или #(аргумент1, арг2, ){ тело } + именование параметров по умолчанию _ / _0, _1, _2, etc.&lt;br /&gt;Последнее выражение в теле замыкания == return это выражение.&lt;br /&gt;Также простое указание метода реализующего тело замыкания #this.имяМетода или #имяМетода или #другойОбъект.имяМетода (примеры ниже).&lt;br /&gt;&lt;br /&gt;Примеры использования:&lt;br /&gt;&lt;br /&gt;new Thread(#{log.info("hello!")}).start() == new Thread(new Runnable(){@Override public void run () { log.info("hello!"); }}).start() &lt;br /&gt;&lt;br /&gt;mySet.filter(#{_ != null}) ==&amp;nbsp; mySet.filter(new Predicate[SomeType](){ @Override public void boolean apply (@Nullable SomeType _) { return _ != null; }});&lt;br /&gt;&lt;br /&gt;vs текущее Iterables.filter(mySet, ....многобукв);&lt;br /&gt;&lt;br /&gt;list.sort(#(a,b){a-b})&amp;nbsp; задание читателю ;-)&lt;br /&gt;&lt;br /&gt;"ссылка на метод"&lt;br /&gt;new Button("Нажми меня",&amp;nbsp;&amp;nbsp;&amp;nbsp; #myThisButtonClickListener) где в том же объекте объявлен реализующий тело интерфейса listener-а метод&lt;br /&gt;&lt;br /&gt;public void myThisButtonClickListener (Button.ClickEvent event) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; final Window subw = new Window("суб-окошечко");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; getMainWindow().addWindow(subw);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;== new Button("Нажми меня",&amp;nbsp;&amp;nbsp;&amp;nbsp; #{myThisButtonClickListener(_)}) &lt;br /&gt;&lt;br /&gt;Многие уже сейчас реализуют это через reflection т.е. можно указать объект (this в данном случае) и имя метода в виде строки "myThisButtonClickListener"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. конструкцию let[def/val/var], для тел методов, которая бы сама выводила тип переменной _в левую сторону_ vs текущая тенденция &lt;br /&gt;выводить в правую (diamond operator и все эти Джошуа Блоковские static list, newMap и тд).&lt;br /&gt;Пример использования.&lt;br /&gt;let myvar = new ConcurrentHashMap[ТУТ БОЛЬШОЙ СПИСОК С Generics]()&lt;br /&gt;final let s = "hello"&lt;br /&gt;далее по коду работать с этими переменными как с обычными типизированными&lt;br /&gt;&lt;br /&gt;for (let i : mybiggenericmap.entrySet()) {&lt;br /&gt;&amp;nbsp; let k = i.key;&lt;br /&gt;&amp;nbsp; for (let j = k; j&lt;max; j++)="" {=""&gt;&amp;lt;MAX; j++) {&lt;br /&gt;&lt;/max;&gt;&lt;br /&gt;&lt;br /&gt;6. авто свойства: если у класса есть getter getFoo(), то можно обращаться a = obj.foo, а если есть setter setFoo(T value), то obj.foo = v1. Внутри самого класса обращение к foo должно работать с переменной T foo, а this.foo - с getters/setter.&lt;br /&gt;Автобилдеры?&amp;nbsp; myedit.width = 80, hight = 16, styleName = "sexy, main", value = 42;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7. массивы implements Iterable (можно будет применять filter, transform) и for работающий по Iterable/Iterator/Enumeration т.е. всеядный for, а не только массив и Iterable как сейчас.&lt;br /&gt;Кроме того станут возможными унифицированные API: public double sum(Iterable&lt;number&gt; collectionOrArray) .&lt;/number&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8. полезные идеи из JavaFX (полный отказ от чистого JavaFX - это хорошо)&lt;br /&gt;У JavaFX 2.0 очень трезвый и разумный roadmap &lt;a href="http://javafx.com/roadmap/"&gt;http://javafx.com/roadmap/&lt;/a&gt;&lt;br /&gt;Очень рекомендую на него поглядеть, много вкусного.&lt;br /&gt;&lt;br /&gt;9. JRebel встроенный в JVM. JRebel хорошо, а out-of-box он бы imho дал такой синергетический эффект, что здорово бы улучшил индустрию.&lt;br /&gt;Самый сильный козырь скриптовых языков быстрый цикл редактирование-тестирование в web, с JRebel этот козырь получили бы все языки JVM.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;10. /regexp Pattern/ прямая поддержка в Java коде т.е. данная конструкция должна выглядеть как скомпилированный Pattern.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;11. === безопасный вызов equals т.е.: a = b&amp;nbsp; - присваивание, a == b - сравнение ссылок и простых типов, left === b - сравнение объектов (и простых типов):&amp;nbsp; if (left == b) {&amp;nbsp; return true;&amp;nbsp; } if (left == null || b == null) { return false;&amp;nbsp; }&amp;nbsp; return left.equals(b);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Это сделало бы язык проще и уменьшило бы количество действительно ненужного кода, не превращая язык в Perl.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-400969844235775163?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/400969844235775163/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=400969844235775163' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/400969844235775163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/400969844235775163'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2010/12/java-ng.html' title='Java NG'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-1294940691899520704</id><published>2010-10-26T09:54:00.003+04:00</published><updated>2010-10-26T10:02:52.732+04:00</updated><title type='text'>Редкоиспользуемые, но полезные ссылки</title><content type='html'>&lt;span style="font-size:130%;"&gt;Генератор "брендов". &lt;/span&gt;&lt;br /&gt;"наш сервис поможет вам придумать уникальное     название для вашей фирмы. Ваш новый бренд сразу     заявит о вас, как о современной, инновационной     и интеллектуальной компании"&lt;br /&gt;&lt;a href="http://www.brendogenerator.ru/"&gt;http://www.brendogenerator.ru/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;S как доллар&lt;/span&gt;&lt;br /&gt;"многие люди ломают голову, как правильно диктовать адреса сайтов и  электронной почты. Мы сделали сайт, который раз и навсегда ставит точку в  этом вопросе.  &lt;p&gt;Сайт «Эс как доллар» — верный помощник секретаря, менеджера и бухгалтера"&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.skakdollar.ru/"&gt;http://www.skakdollar.ru/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;Давай я поищу в Google за тебя&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://lmgtfy.com/"&gt;http://lmgtfy.com/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-1294940691899520704?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/1294940691899520704/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=1294940691899520704' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1294940691899520704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1294940691899520704'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2010/10/blog-post.html' title='Редкоиспользуемые, но полезные ссылки'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-1267039461080069487</id><published>2010-07-25T14:57:00.003+04:00</published><updated>2010-07-25T17:02:05.981+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java NG</title><content type='html'>Сейчас много говорят о новых языках работающих в JVM: Groovy, Scala, Clojure, JavaScript (Rhino), etc.&lt;br /&gt;&lt;br /&gt;Мне нравятся Clojure и Rhino, остальные попахивают over-engineering'ом или "только для гиков/держать подальше от production".&lt;br /&gt;Т.е. я не против "пусть цветут все цветы", но реальной замены Java пока нет и не наблюдается (очень серьезный конкурент это C# - активно развивается, но развивается IMHO по принципу "запихнем в язык всё что увидим").&lt;br /&gt;&lt;br /&gt;Развивать Java надо (Sun развивал Java медленно, медленнее его разве что Borland с Delphi), но не пихая туда всё подряд, не усложняя язык, а наоборот упрощая.&lt;br /&gt;&lt;br /&gt;Мой список пожеланий выглядит так:&lt;br /&gt;&lt;br /&gt;  1. всё что есть в проекте &lt;a href="http://openjdk.java.net/projects/coin/"&gt;Coin&lt;/a&gt;&lt;br /&gt;  2. всё что есть в проекте &lt;a href="http://code.google.com/p/guava-libraries/"&gt;Guava&lt;/a&gt;&lt;br /&gt;  3. простые замыкания (а не предлагаемый ужас), например: #{тело метода } или #(аргумент1, арг2, ){ тело }. Пример использования: new Thread(#{log.info("hello!"); }).start();&lt;br /&gt;  4. конструкцию let, для тел методов, которая бы сама выводила тип переменной. Пример: let myvar = new ConcurrentHashMap&amp;lt;Integer, Set&amp;lt;MyType&amp;gt;&amp;gt;(10); или final let s = "hello"; далее по коду работать с этими переменными как с обычными типизированными&lt;br /&gt;  5. авто свойства: если у класса есть getter getFoo(), то можно обращаться a = obj.foo, а если есть setter setFoo(T value), то obj.foo = v1. Внутри самого класса обращение к foo должно работать с переменной T foo, а this.foo - с getters/setter.&lt;br /&gt;6. (мелочи) массивы implements Iterable и for each работающий по Iterable/Iterator/Enumeration&lt;br /&gt;&lt;br /&gt;Это сделало бы язык проще и уменьшило бы количество действительно ненужного кода, не превращая язык в Perl.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-1267039461080069487?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/1267039461080069487/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=1267039461080069487' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1267039461080069487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1267039461080069487'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2010/07/java-ng.html' title='Java NG'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-2773897981503964800</id><published>2009-10-22T12:00:00.001+04:00</published><updated>2009-10-22T12:03:44.684+04:00</updated><title type='text'>Sysinternals Junction</title><content type='html'>Открыл для себя утилиту Junction от Sysinternals.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx"&gt;http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://download.sysinternals.com/Files/Junction.zip"&gt;http://download.sysinternals.com/Files/Junction.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Замечательная штука!&lt;br /&gt;Для пользователя  это полный аналог linux hardlinks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-2773897981503964800?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/2773897981503964800/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=2773897981503964800' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2773897981503964800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2773897981503964800'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2009/10/sysinternals-junction.html' title='Sysinternals Junction'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-8996217727204800868</id><published>2009-10-22T11:56:00.001+04:00</published><updated>2009-10-22T11:58:21.742+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lifehack'/><title type='text'>Lifehack: Минздрав has you Neo</title><content type='html'>Вчера мне потребовалось купить обычной марганцовки.&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;Стоимость аптечки ~ 200 руб., т.е. в несколько раз дороже пакетика марганцовки, но за удовольствие обмануть систему приходится платить.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-8996217727204800868?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/8996217727204800868/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=8996217727204800868' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/8996217727204800868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/8996217727204800868'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2009/10/lifehack-has-you-neo.html' title='Lifehack: Минздрав has you Neo'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-1267778494811733107</id><published>2009-03-13T20:25:00.003+03:00</published><updated>2009-03-13T20:30:12.418+03:00</updated><title type='text'>Karaoke SelfMade</title><content type='html'>Как сделать из почти любого mp3 - караоке т.е. только звук без вокалиста:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;качаем утилиты &lt;a href="http://sox.sf.net/"&gt;http://sox.sf.net&lt;/a&gt;  и &lt;a href="http://www.mpg123.de/"&gt;http://www.mpg123.de&lt;/a&gt;&lt;/li&gt;&lt;li&gt;достаем их из архива в PATH&lt;br /&gt;&lt;/li&gt;&lt;li&gt;sox.exe копируем в play.exe&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mpg123 -w имя_файла.wav имя_файла.mp3  - перекодировать имя_файла.mp3 в имя_файла.wav&lt;/li&gt;&lt;li&gt;play имя_файла.wav oops&lt;/li&gt;&lt;/ol&gt;Где oops:&lt;br /&gt;Out Of Phase Stereo effect. Mixes stereo to twin-mono where each mono channel contains the&lt;br /&gt;difference between the left and right stereo channels. This is sometimes known as the ‘karaoke’&lt;br /&gt;effect as it often has the effect of removing most or all of the vocals from a recording.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-1267778494811733107?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/1267778494811733107/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=1267778494811733107' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1267778494811733107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/1267778494811733107'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2009/03/karaoke-selfmade.html' title='Karaoke SelfMade'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-7131533993750387180</id><published>2009-01-21T12:27:00.010+03:00</published><updated>2009-01-21T12:53:03.502+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='native'/><title type='text'>Java идеальна для системного программирования</title><content type='html'>Копия моего поста &lt;a href="http://community.livejournal.com/ru_java/750688.html"&gt;http://community.livejournal.com/ru_java/750688.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Смотрите на мир незашоренными глазами:&lt;br /&gt;Java идеальна для написания системных утилит.&lt;br /&gt;Java действительно прекрасный выбор для системного программирования.&lt;br /&gt;&lt;br /&gt;Главное понять, что некоторые различия ОС не обработаны заботливым изготовителем JRE и не поданы на блюдечке, а их потребуется обрабатывать &lt;span style="font-weight: bold;"&gt;вручную, точно также&lt;/span&gt; как это делают в Delphi/C++.&lt;br /&gt;&lt;br /&gt;Т.е. отсуствующие в JRE методы реализуете вызовами к ОС (проверяя что за ОС).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Стандартный способ JNI: слишком много писать - это как писать в машинном коде.&lt;/li&gt;&lt;/ul&gt;Как надо:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Если надо работать с процедурным API (ex: WinAPI) то есть:&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;&lt;a class="snap_shots" href="https://jna.dev.java.net/"&gt;https://jna.dev.java.net/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="snap_shots" href="http://www.jinvoke.com/"&gt;http://www.jinvoke.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="snap_shots" href="http://fivedots.coe.psu.ac.th/%7Ead/winJava/"&gt;http://fivedots.coe.psu.ac.th/~ad/winJa&lt;wbr&gt;va/&lt;/a&gt; (несколько глав книги &lt;span style="font-weight: bold;"&gt;Windows Programming Using Java&lt;/span&gt; - они используют JInvoke, но думаю будет полезно и для JNA и для Linux ;-)&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;Если надо работать с ООП API (ex: COM) то есть:&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="https://com4j.dev.java.net/"&gt;https://com4j.dev.java.net/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jacob-project.sf.net/"&gt;http://jacob-project.sf.net&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;a class="snap_shots" href="https://jna.dev.java.net/"&gt;https://jna.dev.java.net/&lt;img id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; max-height: 2000px; max-width: 2000px; min-width: 0px; min-height: 0px; font-style: normal; font-weight: normal; font-family: &amp;quot;trebuchet ms&amp;quot;,arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url(http://i.ixnp.com/images/v3.64/theme/silver/palette.gif); background-color: transparent; visibility: visible; width: 14px; height: 12px; background-position: -1128px 0pt; background-repeat: no-repeat; text-decoration: none; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v3.64/t.gif" /&gt;&lt;/a&gt;&lt;br /&gt;JNA provides Java programs easy access to native shared libraries (DLLs on Windows) without writing anything but Java code—no JNI or native code is required. This functionality is comparable to Windows' Platform/Invoke and Python's ctypes. Access is dynamic at runtime without code generation.&lt;br /&gt;&lt;br /&gt;JNA allows you to call directly into native functions using natural Java method invocation. The Java call looks just like it does in native code. Most calls require no special handling or configuration; no boilerplate or generated code is required.&lt;br /&gt;&lt;br /&gt;The JNA library uses a small native library stub to dynamically invoke native code. The developer uses a Java interface to describe functions and structures in the target native library. This makes it quite easy to take advantage of native platform features without incurring the high overhead of configuring and building JNI code for multiple platforms.&lt;br /&gt;&lt;br /&gt;While some attention is paid to performance, correctness and ease of use take priority.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a class="snap_shots" href="http://www.jinvoke.com/"&gt;http://www.jinvoke.com/&lt;img id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; max-height: 2000px; max-width: 2000px; min-width: 0px; min-height: 0px; font-style: normal; font-weight: normal; font-family: &amp;quot;trebuchet ms&amp;quot;,arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url(http://i.ixnp.com/images/v3.64/theme/silver/palette.gif); background-color: transparent; visibility: visible; width: 14px; height: 12px; background-position: -1128px 0pt; background-repeat: no-repeat; text-decoration: none; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v3.64/t.gif" /&gt;&lt;/a&gt;&lt;br /&gt;J/Invoke - easy Java native interoperability&lt;br /&gt;&lt;br /&gt;J/Invoke enables Java developers to easily invoke native methods (such as the Win32 API or C-based Windows DLLs and Unix dynamic libraries) with pure Java code.&lt;br /&gt;&lt;br /&gt;Unlike error-prone JNI programming that is hard to use and deploy, J/Invoke lets you access native libraries by simply declaring native methods, and calling them from pure Java.&lt;br /&gt;&lt;br /&gt;Java programmers can save time, avoid errors and increase productivity by using J/Invoke to&lt;br /&gt;&lt;br /&gt;* Call native libraries from pure Java, without using JNI&lt;br /&gt;* Use OS features and APIs (like the Win32 API), not available through Java&lt;br /&gt;* Integrate Java applications with native libraries (Windows DLLs, Mac OS X, Linux and Solaris dynamic libraries)&lt;br /&gt;* Provide Java API for native DLLs or other non-Java libraries&lt;br /&gt;&lt;br /&gt;Do all this and more with pure, simple Java - no need to mess with C/C++ programming with error-prone and hard to use JNI, deploying intermediate DLLs, and dealing with parameter conversions between Java and native types.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; &lt;i style="font-style: italic;"&gt;Хм.. Для меня системное&lt;/i&gt;&lt;span style="font-style: italic;"&gt; программирование — это программирование &lt;/span&gt;&lt;i style="font-style: italic;"&gt;систем&lt;/i&gt;&lt;span style="font-style: italic;"&gt;, возможно операционных! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt;&lt;br /&gt;1)  &lt;a class="snap_shots" href="http://www.jnode.org/"&gt;http://www.jnode.org/&lt;img id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; max-height: 2000px; max-width: 2000px; min-width: 0px; min-height: 0px; font-style: normal; font-weight: normal; font-family: &amp;quot;trebuchet ms&amp;quot;,arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url(http://i.ixnp.com/images/v3.64/theme/silver/palette.gif); background-color: transparent; visibility: visible; width: 14px; height: 12px; background-position: -1128px 0pt; background-repeat: no-repeat; text-decoration: none; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v3.64/t.gif" /&gt;&lt;/a&gt;&lt;br /&gt;Java New Operating System Design Effort.&lt;br /&gt;JNode is a simple to use &amp;amp; install Java operating system for personal use.&lt;br /&gt;It runs on modern devices.&lt;br /&gt;Any java application will run on it, fast &amp;amp; secure!&lt;br /&gt;(open source, LGPL)&lt;br /&gt;&lt;br /&gt;2. &lt;a class="snap_shots" href="http://en.wikipedia.org/wiki/JavaOS"&gt;http://en.wikipedia.org/wiki/JavaOS&lt;img id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; max-height: 2000px; max-width: 2000px; min-width: 0px; min-height: 0px; font-style: normal; font-weight: normal; font-family: &amp;quot;trebuchet ms&amp;quot;,arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url(http://i.ixnp.com/images/v3.64/theme/silver/palette.gif); background-color: transparent; visibility: visible; width: 14px; height: 12px; background-position: -1142px 0pt; background-repeat: no-repeat; text-decoration: none; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v3.64/t.gif" /&gt;&lt;/a&gt;&lt;p&gt;&lt;wbr&gt;3. &lt;a class="snap_shots" href="http://www-jpc.physics.ox.ac.uk/"&gt;http://www-jpc.physics.ox.ac.uk/&lt;img id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; max-height: 2000px; max-width: 2000px; min-width: 0px; min-height: 0px; font-style: normal; font-weight: normal; font-family: &amp;quot;trebuchet ms&amp;quot;,arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url(http://i.ixnp.com/images/v3.64/theme/silver/palette.gif); background-color: transparent; visibility: visible; width: 14px; height: 12px; background-position: -1128px 0pt; background-repeat: no-repeat; text-decoration: none; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v3.64/t.gif" /&gt;&lt;/a&gt;&lt;br /&gt;JPC is an x86 PC emulator written entirely in Java. Open Source!&lt;br /&gt;АААААААААААА111111111111!!!!!!!!!!!!&lt;br /&gt;&lt;br /&gt;Researchers at Oxford have built an x86 emulator that runs purely on Java, making it ideal for security researchers who want to analyze and archive viruses, host honeypots and defend themselves against buggy or malicious software without hosing their machines. The JPC also emulates a host of other environments, giving technophiles the ability to play Asteroids and other software that's sat on shelves for years collecting dust.&lt;br /&gt;&lt;br /&gt;What's more, JPC will run on any device with a Java virtual machine, so cell phones, set-top boxes and RISC systems are all fair game, according to researchers in the university's physics department, where the project was developed.&lt;br /&gt;&lt;br /&gt;"Some might see JPC as part of a nefarious plot by mad scientists who want to harness every last CPU in the world for their research - but we prefer to see JPC as Java-hardened protection against their buggy programs," they say. JPC's Java-based architecture gives it cross-platform capability, the security of running code in the Java sandbox and the flexibility of configuring virtualization platforms and software libraries.&lt;br /&gt;&lt;br /&gt;The researchers boast its x86 emulation, at 10 per cent native speed, puts it among the fastest x86 emulators. (Note: an earlier version of this story incorrectly reported JPC emulated other environments.)&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-7131533993750387180?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/7131533993750387180/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=7131533993750387180' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/7131533993750387180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/7131533993750387180'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2009/01/java.html' title='Java идеальна для системного программирования'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-7213168399796536239</id><published>2009-01-21T10:08:00.005+03:00</published><updated>2009-01-21T13:35:19.834+03:00</updated><title type='text'>Весь креатив в Москве...</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://3.bp.blogspot.com/_qkuqWSortcs/SXbJ2gd8THI/AAAAAAAAAEo/LDKodsROuY0/s1600-h/image-upload-6-790240.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_qkuqWSortcs/SXbJ2gd8THI/AAAAAAAAAEo/LDKodsROuY0/s320/image-upload-6-790240.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;Оригинал:  &lt;a href="http://picasaweb.google.ru/lh/photo/gxo0HpsrgfeXNgWOTLJduQ?feat=directlink"&gt;http://picasaweb.google.ru/lh/photo/gxo0HpsrgfeXNgWOTLJduQ?feat=directlink&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-7213168399796536239?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/7213168399796536239/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=7213168399796536239' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/7213168399796536239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/7213168399796536239'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2009/01/blog-post_9893.html' title='Весь креатив в Москве...'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qkuqWSortcs/SXbJ2gd8THI/AAAAAAAAAEo/LDKodsROuY0/s72-c/image-upload-6-790240.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-2863665931981155624</id><published>2009-01-21T10:01:00.001+03:00</published><updated>2009-01-21T10:01:26.499+03:00</updated><title type='text'>Дорога на Абаву</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://4.bp.blogspot.com/_qkuqWSortcs/SXbIRVMG4tI/AAAAAAAAAEg/qeKi0cKXvbY/s1600-h/image-upload-2-785030.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_qkuqWSortcs/SXbIRVMG4tI/AAAAAAAAAEg/qeKi0cKXvbY/s320/image-upload-2-785030.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Вероятно с Белорусского вокзала...&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-2863665931981155624?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/2863665931981155624/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=2863665931981155624' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2863665931981155624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/2863665931981155624'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2009/01/blog-post_21.html' title='Дорога на Абаву'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qkuqWSortcs/SXbIRVMG4tI/AAAAAAAAAEg/qeKi0cKXvbY/s72-c/image-upload-2-785030.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-7385920090689824990</id><published>2007-12-01T20:39:00.000+03:00</published><updated>2007-12-01T20:40:50.807+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='креатив'/><title type='text'>Был в Москве</title><content type='html'>Родилась пара шуток:&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;- Самые крутые ДПСники на рублевке!&lt;br /&gt;- Ага, САМОГО(!) штрафуют.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Москвичи очень хорошо относятся к неграм и ненавидят черных.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-7385920090689824990?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/7385920090689824990/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=7385920090689824990' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/7385920090689824990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/7385920090689824990'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2007/12/blog-post.html' title='Был в Москве'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-9081746461152396762</id><published>2007-11-17T12:50:00.000+03:00</published><updated>2007-11-17T13:34:52.428+03:00</updated><title type='text'>Дешевый межгород с sipnet.ru</title><content type='html'>Все необходимое для подключения, настройки и контроля находится на страничке &lt;a href="http://www.sipnet.ru/"&gt;http://www.sipnet.ru/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Прежде всего нужно зарегистрироваться:&lt;br /&gt;&lt;a href="https://customer.sipnet.ru/cabinet/register"&gt;https://customer.sipnet.ru/cabinet/register&lt;/a&gt;&lt;br /&gt;тонкости:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;нужно заполнять все поля (можно совершенно левой информацией, главное заполнить и запомнить Имя/Логин, Пароль, Электронная почта т.к. туда придет активация и Контрольное число)&lt;/li&gt;&lt;li&gt;даты вводятся в формате дд/мм/гггг. Пр: 23/02/2007&lt;/li&gt;&lt;/ul&gt;После регистрация на указанный email придет письмо с ссылкой для активации (проверка что вы не робот).&lt;br /&gt;&lt;br /&gt;После этого вы можете заходить в свой "личный кабинет": справа-внизу на главной странице &lt;a href="http://www.sipnet.ru/"&gt;http://www.sipnet.ru/&lt;/a&gt; есть поля для ввода имени и пароля.&lt;br /&gt;&lt;br /&gt;В личном кабинете наверху указан ваш SIP ID - по сути ваш "номер телефона". Например мой: &lt;span class="yellow_big_text"&gt;2983927&lt;br /&gt;На него можно позвонить из других SIP сетей в Internet набрав: &lt;/span&gt;&lt;span class="yellow_big_text"&gt;2983927@sipnet.ru&lt;/span&gt;&lt;br /&gt;Внимательно запишите его на бумажку т.к. именно его надо указывать для зачисления денег на счет в Евросети.&lt;br /&gt;&lt;br /&gt;В личном кабинете идете в раздел: &lt;a href="https://customer.sipnet.ru/cabinet/downloads"&gt;&lt;span style="text-decoration: underline;"&gt;Скачать файлы&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Выбираете &lt;a href="https://customer.sipnet.ru/cabinet/dl_sippoint"&gt;SIPpoint&lt;/a&gt; (Программный агент для SIPNET). Скачиваете, запускаете для установки.&lt;br /&gt;&lt;br /&gt;Запускаете SIPPoint. Заходите в Файл|Параметры.&lt;br /&gt;Вводите ваш SIP-адрес: sipid@sipnet.ru, в моем случае: &lt;span class="yellow_big_text"&gt;2983927&lt;/span&gt;@sipnet.ru&lt;br /&gt;Учетное имя: sipid, в моем случае &lt;span class="yellow_big_text"&gt;2983927&lt;br /&gt;Пароль: пароль указанный при регистрации&lt;br /&gt;OK. После чего телефон должен зарегистрироваться на сайте - иконка станет зеленой и в строке статуса будет "В сети".&lt;br /&gt;&lt;/span&gt;Переходите на закладку "Телефоны", вводите номер в формате код_страны код_города номер, например: 74951234567 или 79173411111 и звоните, звоните, звоните!&lt;br /&gt;&lt;br /&gt;У них идет акция и звонки на стационарные телефоны&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Россия, Москва&lt;/td&gt; &lt;td style="font-weight: bold; color: rgb(255, 204, 102);"&gt;$0.000&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Россия, Санкт-Петербург&lt;/td&gt; &lt;td style="font-weight: bold; color: rgb(255, 204, 102);"&gt;$0.000&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;На счету сразу есть 1$, но я рекомендую положить туда рублей 100. Иначе иногда в разговор будет вставляться реклама ;-)&lt;br /&gt;Чтобы позвонить другому пользователю SIPNET, например мне, надо набрать его sipid.&lt;br /&gt;&lt;br /&gt;Для качественной связи нужна гарнитура (наушники и микрофон) или USB-телефон (продаются в той же Евросети), например такой: &lt;a href="http://skypemate.ru/catalogue/?wid=4"&gt;http://skypemate.ru/catalogue/?wid=4 &lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Если SIPPoint Вас утомит, то есть другие варианты программных телефонов:&lt;br /&gt;&lt;a href="http://www.sipnet.ru/orderandpay/software.html"&gt;http://www.sipnet.ru/orderandpay/software.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Инструкция по их настройке есть в Internet, но по сути главные параметры там: sipnet.ru,  sipid@sipnet.ru и пароль.&lt;br /&gt;&lt;br /&gt;PS: не забывайте о том, что голос генерирует довольно большой трафик. Многое зависит от того, куда и с какого телефона Вы звоните. Поэтому рекомендую провести несколько тестовых звонков, чтобы оценить качество и посмотреть какой счет выставит Вам Ваш Internet-провайдер.&lt;br /&gt;Скорее всего, на текущий момент развития Internet в России, качество будет приемлимым, а совокупная стоимость звонка (плата sipnet + плата за трафик) заметно ниже стоимости такого же звонка с городского или мобильного телефона.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-9081746461152396762?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/9081746461152396762/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=9081746461152396762' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/9081746461152396762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/9081746461152396762'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2007/11/sipnetru.html' title='Дешевый межгород с sipnet.ru'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-5536010742083687133</id><published>2007-11-17T12:41:00.000+03:00</published><updated>2007-11-21T19:21:35.996+03:00</updated><title type='text'>Mobile World War!</title><content type='html'>&lt;a href="http://code.google.com/android/"&gt;http://code.google.com/android/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.openhandsetalliance.com/"&gt;http://www.openhandsetalliance.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Blog:&lt;br /&gt;&lt;a href="http://android-developers.blogspot.com/2007/11/android-first-week.html"&gt;http://android-developers.blogspot.com/2007/11/android-first-week.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;оттуда интересная статья:&lt;br /&gt;&lt;a href="http://www.onlamp.com/pub/a/onlamp/2007/11/12/google-calling-inside-the-gphone-sdk.html"&gt;http://www.onlamp.com/pub/a/onlamp/2007/11/12/google-calling-inside-the-gphone-sdk.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://devphone.com/category/android"&gt;http://devphone.com/category/android&lt;/a&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/29417621-5536010742083687133?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/5536010742083687133/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=5536010742083687133' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5536010742083687133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5536010742083687133'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2007/11/mobile-world-war.html' title='Mobile World War!'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-5769167987579549811</id><published>2007-11-13T13:04:00.000+03:00</published><updated>2007-11-17T12:41:15.498+03:00</updated><title type='text'>Java и JVM - туда и обратно</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Programming Languages for the Java Virtual Machine&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.robert-tolksdorf.de/vmlanguages.html" target="_blank"&gt;http://www.robert-tolksdorf.de&lt;wbr&gt;/vmlanguages.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java  Implementations&lt;/span&gt;&lt;br /&gt;Старый каталог: &lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.dwheeler.com/java-imp.html" target="_blank"&gt;http://www.dwheeler.com/java&lt;wbr&gt;-imp.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IBM: &lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.ibm.com/developerworks/java" target="_blank"&gt;http://www.ibm.com/developerwo&lt;wbr&gt;rks/java&lt;/a&gt;&lt;br /&gt;BEA: &lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.bea.com/framework.jsp?CNT=index.htm&amp;amp;FP=/content/products/weblogic/jrockit/" target="_blank"&gt;http://www.bea.com/framework&lt;wbr&gt;.jsp?CNT=index.htm&amp;amp;FP=/content/products/weblogic/jrockit/&lt;/a&gt;&lt;br /&gt;GNU: &lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.gnu.org/software/java/" target="_blank"&gt;http://www.gnu.org/software&lt;wbr&gt;/java/&lt;/a&gt; &lt;br /&gt;  bonus:  &lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.gnu.org/software/java/java-software.html" target="_blank"&gt;http://www.gnu.org/software&lt;wbr&gt;/java/java-software.html&lt;/a&gt;&lt;br /&gt;Google: &lt;a href="http://en.wikipedia.org/wiki/Dalvik_virtual_machine"&gt;http://en.wikipedia.org/wiki/Dalvik_virtual_machine&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-5769167987579549811?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/5769167987579549811/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=5769167987579549811' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5769167987579549811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/5769167987579549811'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2007/11/java-jvm.html' title='Java и JVM - туда и обратно'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-6978677078040067295</id><published>2007-10-14T16:20:00.000+04:00</published><updated>2007-10-16T20:24:08.436+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><title type='text'>Преимущества Java для разработки server side jobs.</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt; Преимущества&lt;/span&gt;:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt; 1.&lt;/span&gt; Широко известная возможность Java программ работать на разных платформах БЕЗ ПЕРЕКОМПИЛЯЦИИ.&lt;br /&gt;Т.е. тщательно оттестированная программа, с большой вероятностью (если зависимости от платформы не внес по небрежности сам программист, но это находится и правится)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;будет работать везде&lt;/span&gt;, где есть эта и выше версия JRE.&lt;br /&gt;С использованием .conf-файлов, можно вынести все платформозависимые части из исходников (ex: пути к shell скриптам, regexp для разбора вывода shell скриптов, etc).&lt;br /&gt;С использованием wrappers, таких как: &lt;a href="http://wrapper.tanukisoftware.org/" target="_blank"&gt;http://wrapper.tanukisoftware.org/&lt;/a&gt; можно запустить программу как сервис Windows или демон Linux/Solaris/HPUX/etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. &lt;/span&gt;Дополнительный уровень абстракции (JVM и байт-код), позволяют меньше беспокоиться о том, что&lt;br /&gt;- сервис “завалит” всю платформу или&lt;br /&gt;- будет найдена уязвимость позволяющая получить права root unsafe коду.&lt;br /&gt;Использование JDBC драйверов написанных полностью на Java, позволяет сократить количество ПО, которое требуется установить на сервер.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.&lt;/span&gt; В отличие от (обычно) монолитного .exe файла, в который слито все, что нужно для работы. Классы Java образуют истинную модульность, &lt;span style="font-weight: bold; font-style: italic;"&gt;позволяя&lt;/span&gt; модифицировать (обновлять) небольшие куски приложения, ДИНАМИЧЕСКИ определять что будет загружено и догружать по мере необходимости (в том числе из БД, сети).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.&lt;/span&gt; Для Java существует большое количество функционально богатых широко протестированных библиотек логирования, с возможностью удобно группировать логируемую информацию по категории (обычно полный.путь.к.классу.Класс) и важности (trace, debug, info, warn, error). Без каких-либо изменений в исходном коде, логирование может быть отфильтровано, перенаправлено на консоль, по почте, в syslog, БД, файл, и даже лог windows. Новые библиотеки, такие как &lt;a href="http://slf4j.org/"&gt;http://slf4j.org/&lt;/a&gt; позволяют варьировать фактическую библиотеку логирования на конечной системе и практически до нуля снизить потерю производительности от логирования (параметризованые сообщения и отключение лишних логов).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5.&lt;/span&gt; Исключения Java помимо традиционных ТИПА исключения и поясняющего сообщения (message) содержат:&lt;br /&gt;а) полный стек на момент создания исключения (stackTrace), включающий названия классов, методов, исходных файлов и номера строк в них;&lt;br /&gt;б) «причину» (cause) - другое исключение (которое также может содержать cause), которое явилось причиной создания этого, что позволяет не тащить на верхние уровни абстракции низкоуровневые исключения, но при желании иметь возможность детально разобраться в том, что случилось.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; 6.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Наиболее важным достижением&lt;/span&gt; (можно сказать уникальным на сегодняшний день) Java можно считать т.н. &lt;span style="font-weight: bold;"&gt;checked exceptions&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Если Вы встретите того, кто уверяет, что checked exceptions это плохо, смело плюньте ему в глаза.&lt;/span&gt;&lt;br /&gt;Для разработки надежных устойчивых приложений checked exceptions полезны чрезвычайно!&lt;br /&gt;&lt;br /&gt;Поясню на примере: в простом коде, открывающем соединение к БД, выполняющем запрос и генерирующем по полученным данным файл, порядка 80% строк могут сгенерировать исключения (драйверов БД нет, ошибка подключения к БД, ошибка работы с БД, ошибка работы с файлом и т.д.).&lt;br /&gt;В случае Java и checked exceptions компилятор предупредит Вас обо всех проблемных участках и предложит что-то сделать (игнорировать, передавать наверх в чистом виде, передавать наверх «обернув», обрабатывать), т.е. полученный код сразу, после того как скомпилируется, будет устойчив к большинству ошибок! Это разительно отличается от ситуации, например, в Delphi, где любой вызов стандартной библиотеки, библиотеки логирования, библиотеки доступа к БД и т.д. может закончиться неожиданным исключением. Частично Вы найдете описание генерируемых исключений в документации, частично будете отлавливать в течении длительного времени, в процессе рабочей эксплуатации.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7.&lt;/span&gt; Мелкая радость для тех, кто в теме: sleep, wait, join и т.д. можно прервать из другого потока и они сгенерируют InterruptedException. На Delphi у меня была собственная библиотека с наследником Thread и заменой sleep (используя события).&lt;script language="JScript" src="/j2se6/H2HHinclude.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;К замеченным &lt;span style="font-weight: bold;"&gt;недостаткам&lt;/span&gt; Java можно отнести:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; Крайне потребительское отношение к оперативной памяти. Java очень любит память ;-(&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; Меньший объем предложений хостинга в сравнении с PHP и Perl.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;p.s.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Мелкие хотелки по синтаксису языка (syntax sugar ;-)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt;    is вместо instanceof.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; Объект as Тип вместо (Тип)объект т.к. приходится почти всегда делать ((Тип)объект).метод.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. &lt;/span&gt;   in для любых типов и .. для перечислимых типов, т.е:&lt;br /&gt;чтобы можно было писать if (myStr in ("bla", "БЛА", "BLA", "бла")), if (myInt in (1,5,7..300)),&lt;br /&gt;case 1..300: case 400:.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.&lt;/span&gt; чтобы в switch () case могли участвовать любые объекты, а не только целые и enum.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-6978677078040067295?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/6978677078040067295/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=6978677078040067295' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6978677078040067295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/6978677078040067295'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2007/10/java-server-side-jobs.html' title='Преимущества Java для разработки server side jobs.'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-116435159392818924</id><published>2006-11-24T09:54:00.000+03:00</published><updated>2006-11-24T09:59:53.940+03:00</updated><title type='text'>Удобный доступ к сайтам в zip архиве</title><content type='html'>Обнаружил интересную возможность: нормально просматривать сайт, сохраненный в локальном zip архиве.&lt;br /&gt;Т.е. имеем скачанный ручками, teleport Pro или иным способом сайт.&lt;br /&gt;Он представляет из себя кучу мелких файликов (сжирающих на NTFS кратное 4к место и безобразно выглядящих).&lt;br /&gt;Если сжимаем в ZIP становится красиво и компактно, но сложно пользоваться (ссылки не работают, картинки не показываются).&lt;br /&gt;&lt;br /&gt;Решение:&lt;br /&gt;ставим &lt;a href="http://java.sun.com/javase/downloads/ea.jsp"&gt;JDK&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;после чего задаем в Firefox путь вида:&lt;br /&gt;jar:file:///D:/DOC/mysite.zip!/dir1//index.htm&lt;br /&gt;&lt;br /&gt;работает практически прозрачно (есть мелкие глюки с JS)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-116435159392818924?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/116435159392818924/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=116435159392818924' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/116435159392818924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/116435159392818924'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/11/zip.html' title='Удобный доступ к сайтам в zip архиве'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-116071329140401745</id><published>2006-10-13T08:15:00.000+04:00</published><updated>2006-10-13T08:23:45.343+04:00</updated><title type='text'>На память: нужна ли лицензия контент-провайдеру?</title><content type='html'>&lt;b&gt;Очередным субъектом налоговых претензий ФНС стали "Мобильные ТелеСистемы". &lt;br /&gt;Наряду с "ВымпелКомом" МТС придется отстаивать правоту отнесения расходов на услуги контент-провайдеров к расходам по налогу на прибыль.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;Александр Титов - выпускник МГЮА; общий стаж юридической &lt;br /&gt;практики более 4-х лет. Работал в юридическом отделе Управления Россвязьнадзора &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;&amp;quot;Операторы связи&amp;quot; Общероссийской общественной организации &amp;quot;Деловая Россия&amp;quot;. &lt;br&gt;&lt;br /&gt;&lt;a href='/news/column/?author=6'&gt;Читать все колонки автора&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;Продолжение под катом...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;div id="body" style="display: block;"&gt;&lt;br /&gt;&lt;p align="justify"&gt;Федеральная налоговая служба (ФНС) насчитала МТС недоимку по итогам проверки отчетности за 2003-2004 гг. в размере 1,28 млрд. руб., в том числе 0,3 млрд. руб. штрафов и пеней, сообщается в пресс-релизе компании. Первоначальный размер претензий составлял 1,14 млрд. руб. (без пеней и штрафов), но с учетом возражений МТС сумма была снижена до 976 млн руб. Основная сумма претензий связана с неправильным, по мнению налоговых инспекторов, исчислением налогов по взаиморасчетам МТС с контент-провайдерами. Контент-провайдеры работают без лицензий на оказание услуг связи, поэтому налоговики не признают вознаграждение, которое выплачивает им МТС, расходами и считают, что оператор должен был заплатить с этого вознаграждения налог на прибыль, &lt;a href="http://www.sotovik.ru/news/news_24390.html"&gt;поясняет&lt;/a&gt; пресс-секретарь оператора Кирилл Алявдин.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;Если не рассматривать налоговых аспектов данных претензий, то принципиальным является вопрос лицензирования контент-провайдеров. Как ранее сообщалось, разъяснение Мининформсвязи о том, что лицензию на телематические услуги должны получать не только операторы, но и взаимодействующие с их сетями фирмы, появилось только в 2005 году. Данный тезис является неоднозначным. В функции Мининформсвязи не входят вопросы лицензирования, и разъяснения в этой сфере Министерство давать не может. Сфера лицензирования отнесена п.5.4 Положения о Федеральной службе по надзору в сфере связи, утвержденного постановлением Правительства РФ от 30 июня 2004 г. N 318 к компетенции Россвязьнадзора, который в соответствии с п. 6.2 названного положения уполномочен давать разъяснения государственным органам, органам местного самоуправления, юридическим и физическим лицам по вопросам, отнесенным к сфере ведения службы. Таким образом, налоговые органы могут руководствоваться только позицией Россвязьнадзора в вопросе лицензирования контент-провайдинга.&lt;br /&gt;Хозяйствующий субъект должен решать вопрос необходимости получения лицензии на тот или иной вид деятельности исходя из четких положений законодательства. В соответствии с 29 статьей Федерального закона от 7 июля 2003 г. N 126-ФЗ "О связи" деятельность юридических лиц и индивидуальных предпринимателей по возмездному оказанию услуг связи осуществляется только на основании лицензии на осуществление деятельности в области оказания услуг связи. Перечень наименований услуг связи, вносимых в лицензии, и соответствующие перечни лицензионных условий устанавливаются Правительством Российской Федерации и ежегодно уточняются.&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Итак, закон устанавливает три критерия, по которым определяется необходимость получения лицензии на деятельность в области оказания услуг связи. Первым из них является - лицензироваться должна услуга связи. Вторым является указание на такую услугу в перечне наименований услуг связи, вносимых в лицензии. И третьим критерием является возмездность услуги связи.&lt;br /&gt;Анализируя деятельность контент-провайдеров по указанным в законе критериям можно отметить следующее:&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;strong&gt;1.&lt;/strong&gt; Определение услуги связи приводится в статье 2 Федерального закона от 7 июля 2003 г. N 126-ФЗ "О связи". Под услугой связи понимается деятельность по приему, обработке, хранению, передаче, доставке сообщений электросвязи или почтовых отправлений. Рассматривая данное определение услуги, необходимо установить какие конкретно из перечисленных видов деятельности осуществляет контент-провайдер. Если услуга контент-провайдера осуществляется с использованием, принадлежащим ему технических средств то контент-провайдер осуществляет деятельность по приему запросов абонентов о получении контента, обработке запроса и передаче контента абоненту. Запрос абонента и конент являются сообщениями электросвязи. Доставку контента осуществляет оператор сети подвижной связи. Таким образом, можно констатировать, что деятельность контент-провайдеров соответствует данному критерию, если услуга оказывается на принадлежащих ему технических средствах. Если же техническое обеспечение оказания услуги возложено не на контент-провайдера, а на самого оператора подвижной связи или сервис-провайдера, то деятельность контент-провайдера по продаже контента не образует услугу связи.&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;strong&gt;2.&lt;/strong&gt; Перечень наименований услуг связи, вносимых в лицензии, определен постановлением Правительства Российской Федерации от 18 февраля 2005 г. N 87 "Об утверждении перечня наименований услуг связи, вносимых в лицензии, и перечней лицензионных условий". В перечень лицензируемых услуг связи пунктом 16 включены телематические услуги связи. Раздел XVI перечня лицензионных условий определяет лицензионные условия осуществления деятельности в области оказания телематических услуг связи. Подпункт в) пункта 4 раздела предполагает обеспечение при оказании телематических услуг связи предоставления абоненту и (или) пользователю доступа к информации мировых и региональных информационно-телекоммуникационных сетей, в том числе к сети Интернет. Деятельность контент-провайдеров может быть квалифицирована как деятельность по предоставлению абоненту и (или) пользователю доступа к информации информационно-телекоммуникационной сети. Соответственно она может рассматриваться в качестве лицензируемой телематической услуги связи.&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;strong&gt;3.&lt;/strong&gt; И последним принципиально важным критерием является критерий возмездности. В письме Минсвязи России N5279 "О позиции Минсвязи России по проблеме доступа в сеть Интернет из библиотек" регулятор рекомендовал библиотекам, оказывающим читателям услуги доступа в Интернет за плату, отказаться от взимания такой платы, чтобы избежать необходимости получения лицензии на оказание услуг связи. Таким образом, сам по себе факт оказания услуги не приводит к необходимости получения лицензии, если только за эту услугу не взимается плата.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;Применительно к сервисам контент-провайдеров предполагающим только продажу контента, необходимо отметить, что ценность в этой услуге образует сам контент, а не деятельность по обеспечению его передачи в память сотового телефона т.е. услуга связи. Абонент платит за передачу ему конент-провайдером права однократной записи объекта интеллектуальной собственности (рингтона, логотипа, фото и т.п.) в память его телефона. Сама же услуга связи, при этом присутствует, однако такая услуга может быть принята контент-провайдером по стоимости равной нулю, т.е. оказываться бесплатно в целях обеспечения абоненту получения контента в память телефона. Сама по себе продажа контента не требует получения лицензии на деятельность в области связи; оборот прав на объекты авторского и смежных прав регулирует Закон РФ от 9 июля 1993 г. N 5351-I "Об авторском праве и смежных правах" и ряд других нормативно-правовых актов в области интеллектуальной собственности.&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Высказывая собственную точку зрения, предположу, что контент-провайдер может избежать необходимости получения лицензии на телематические услуги связи, декларируя эти услуги в качестве безвозмездных, направленных на техническое обеспечение продажи контент-провайдером самого контента (точнее права его записи в сотовый терминал) абонентам.&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-116071329140401745?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/116071329140401745/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=116071329140401745' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/116071329140401745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/116071329140401745'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/10/blog-post_12.html' title='На память: нужна ли лицензия контент-провайдеру?'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-116059306907334972</id><published>2006-10-11T22:55:00.000+04:00</published><updated>2006-10-19T16:57:19.313+04:00</updated><title type='text'>Google Office</title><content type='html'>Можно сказать, что пакет сетевых программ Google Office готов.&lt;br /&gt;Есть&lt;br /&gt;* замечательная почта и менеджер контактов: &lt;a href="http://gmail.com" target="_blank"&gt;http://gmail.com&lt;/a&gt;,&lt;br /&gt;* календарь и органайзер: &lt;a href="http://calendar.google.com" target="_blank"&gt;http://calendar.google.com&lt;/a&gt;,&lt;br /&gt;* IM с функциями IP телефонии и голосовой почты: &lt;a href="http://talk.google.com" target="_blank"&gt;http://talk.google.com&lt;/a&gt;,&lt;br /&gt;* записная книжка и todo list: &lt;a href="http://www.google.com/notebook" target="_blank"&gt;http://www.google.com/notebook&lt;/a&gt;&lt;br /&gt;* решение для бизнеса: &lt;a href="https://www.google.com/a/" target="_blank"&gt;https://www.google.com/a/&lt;/a&gt;&lt;br /&gt;* для территориально распределенного бизнеса, конечно, карты: &lt;br /&gt;&lt;a href="http://earth.google.com/" target="_blank"&gt;http://earth.google.com/&lt;/a&gt;, &lt;a href="http://maps.google.com/" target="_blank"&gt;http://maps.google.com/&lt;/a&gt;, &lt;a href="http://sketchup.google.com/" target="_blank"&gt;http://sketchup.google.com/&lt;/a&gt;&lt;br /&gt;и, наконец, недавно объявленный, Word + Excel в одном флаконе:&lt;br /&gt;&lt;a href="http://docs.google.com" target="_blank"&gt;http://docs.google.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Короткий, но познавательный тур по данному продукту&lt;br /&gt;&lt;a href="http://www.google.com/google-d-s/tour1.html" target="_blank"&gt;http://www.google.com/google-d-s/tour1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Главное достоинство всех продуктов доступность отовсюду, с чего угодно и возможность командной работы.&lt;br /&gt;&lt;br /&gt;Также как человек, который работал с корпоративными web based системами, должен отметить, что продукты Google приятно быстрые.&lt;br /&gt;&lt;br /&gt;Update:&lt;br /&gt;* calendar.google.com позволяет отправлять SMS на телефоны СНГ-операторов&lt;br /&gt;* &lt;a href="http://www.computerra.ru/print/gid/rtfm/internet/290369/"&gt;Как разместить карту путешествия на своем сайте.&lt;/a&gt; Вариант использования для транспортных компаний и такси: где находится Ваш груз, Ваша машина, сколько машин в вашем районе.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-116059306907334972?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/116059306907334972/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=116059306907334972' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/116059306907334972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/116059306907334972'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/10/google-office.html' title='Google Office'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-116011480296918131</id><published>2006-10-06T10:04:00.000+04:00</published><updated>2006-10-06T10:08:04.773+04:00</updated><title type='text'>Спам бывает правдивым!</title><content type='html'>Сегодня ко мне прорвался спам:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;«Сначала было слово»… (Библия)&lt;br /&gt;Сенсационное открытие, сделанное доктором метафизических наук Валерием Семёновичем Пригожиным, перевернуло представления об окружающей нас реальности. Дело в том, что ему после двенадцати летних исследований и экспериментов, удалось открыть тайну слова, а в частности и «слово - притягивающее деньги».&lt;br /&gt;Ему удалось раскрыть секрет кодировки реальности, в том числе и человека, при помощи первозданных символов, которые складываются, в определённые слова «команды». Данные слова «команды», позволяют менять окружающую человека реальность, (события) соответственно введённой в сознание человека «команде». Этот процесс похож на программирование компьютера, только происходит он на психобиологическом уровне.&lt;br /&gt;Также, Валерию Семёновичу, удалось открыть и сам процесс ввода слова «команды» в сознание человека. Теперь существует, составленный автором открытия, «рецепт», в котором подробно, но ёмко и коротко, описывается весь процесс ввода в человека, необходимой ему «команды».&lt;br /&gt;Теперь, впервые в истории, мы имеем «рецепт», в котором не говориться – «Что делать», а говориться – «Как делать». Это открытие уже проверенно на большом количестве людей и уже дало потрясающие результаты. Как получить «рецепт», вы можете узнать ЗДЕСЬ&lt;br /&gt;ЗДЕСЬ: Чтобы получить «рецепт», вам необходимо отправить письмо «заявку» с пометкой: «РЕЦЕПТ», на почтовый адрес: 124489; г.Москва, Зеленоград корп. 601 а; а\я 51. ООО «УльтроН» В конверт вы вкладываете купюру достоинством в 500 рублей (сумма имеет значение, это вы увидите из «рецепта»), при этом вы должны чётко осознавать, то, что вы жертвуете эту сумму за «слово, притягивающее деньги». (Это крайне необходимо, что вы тоже сможете увидеть из «рецепта»).&lt;br /&gt;Так же в конверт вы вкладываете листок с адресом электронной почты, на который, после обработки информации, вы и получите «рецепт».&lt;br /&gt;СЧАСТЬЯ ВАМ И ПРОЦВЕТАНИЯ!!!&lt;/span&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;    Hа хвастуна не нужен нож, ему немножко подпоешь&lt;br /&gt;    И делай сним, что хошь.&lt;br /&gt;&lt;br /&gt;Покуда живы жадины вокруг,&lt;br /&gt;Удачи мы не выпустим из рук.&lt;br /&gt;&lt;br /&gt;Какое небо голубое,&lt;br /&gt;Мы не сторонники разбоя:&lt;br /&gt;Hа жадину не нужен нож,-&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;Hа дурака не нужен нож,-&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/29417621-116011480296918131?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/116011480296918131/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=116011480296918131' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/116011480296918131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/116011480296918131'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/10/blog-post.html' title='Спам бывает правдивым!'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115931150171423986</id><published>2006-09-27T02:53:00.001+04:00</published><updated>2006-10-06T09:53:12.210+04:00</updated><title type='text'>http://www.google.ru/search?q=free+cms</title><content type='html'>&lt;a href="http://rucms.ru/index.php" target="_blank"&gt;http://rucms.ru/index.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cmslist.ru/free/" target="_blank"&gt;http://www.cmslist.ru/free/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.opensourcecms.com/" target="_blank"&gt;http://www.opensourcecms.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115931150171423986?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115931150171423986/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115931150171423986' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115931150171423986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115931150171423986'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/09/httpwwwgooglerusearchqfreecms_26.html' title='http://www.google.ru/search?q=free+cms'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115632569694237585</id><published>2006-08-23T13:33:00.000+04:00</published><updated>2006-08-23T13:37:07.050+04:00</updated><title type='text'>Ленивая оптимизация программ на Delphi/BCB</title><content type='html'>Обычно говоря про оптимизацию, мы подразумеваем бессонные ночи в обнимку с профайлером, поиск более эффективных алгоритмов и изучение сгенерированного кода в дизассемблере.&lt;br /&gt;На этом фоне выделяются два замечательных проекта, которые позволяют ускорить работу программы, просто добавив пару модулей в uses dpr файла.&lt;br /&gt;&lt;br /&gt;1)    альтернативный менеджер памяти FastMM&lt;br /&gt;&lt;a href="http://fastmm.sf.net/" target="_blank"&gt;http://fastmm.sf.net/&lt;/a&gt;&lt;br /&gt;последняя версия 4.70&lt;br /&gt;настолько хорош, что Borland заменила им стандартный менеджер в BDS2006.&lt;br /&gt;В составе идет замена borlndmm.dll (Shared Memory Manager) позволяющая заметно ускорить работу самой IDE.&lt;br /&gt;&lt;br /&gt;2)    проект FastCode, FastMove.&lt;br /&gt;&lt;a href="http://www.fastcodeproject.org/" target="_blank"&gt;http://www.fastcodeproject.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fastcode.sourceforge.net/" target="_blank"&gt;http://fastcode.sourceforge.net/&lt;/a&gt;&lt;br /&gt;Я использовал только FastMove, но качать придется и FastCode, т.к. FastMove использует один небольшой модуль из него.&lt;br /&gt;Замена стандартных функций Delphi (таких как move) на ускоренные аналоги (MMX, etc) с патчем в runtime.&lt;br /&gt;&lt;br /&gt;Т.е. в обоих случаях в своих исходниках ничего менять не нужно, кроме как добавить&lt;br /&gt;Uses FastMove, FastMM4 в начале dpr файла.&lt;br /&gt;&lt;br /&gt;Вчера, наконец, дошли руки – написал тестовую программу, работающую с сокетами (отправляющую и принимающую бинарные пакеты). Ускорение работы с FastMove+FastMM4 практически двукратное, совершенно на ровном месте (я особо не выделяю память и не использую move)!&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/29417621-115632569694237585?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115632569694237585/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115632569694237585' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115632569694237585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115632569694237585'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/08/delphibcb.html' title='Ленивая оптимизация программ на Delphi/BCB'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115616974696566281</id><published>2006-08-21T18:15:00.000+04:00</published><updated>2006-08-21T18:17:39.136+04:00</updated><title type='text'>writely.com или AJAX наносит ответный удар</title><content type='html'>&lt;a title="www.writely.com" target="blank_" href="http://www.writely.com"&gt;www.writely.com&lt;/a&gt; &lt;br&gt;Нет слов!!!&lt;br&gt;&lt;br&gt;PS: пост написан из него&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115616974696566281?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115616974696566281/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115616974696566281' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115616974696566281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115616974696566281'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/08/writelycom-ajax.html' title='writely.com или AJAX наносит ответный удар'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115545975237461903</id><published>2006-08-13T13:02:00.000+04:00</published><updated>2006-08-23T13:40:01.766+04:00</updated><title type='text'>Что мешает Java-счастью. Взгляд со стороны.</title><content type='html'>Я не являюсь Java разработчиком, можно сказать, что я присматриваюсь. &lt;br /&gt;На текущий момент есть всего две альтернативы Java или .NET. &lt;br /&gt;Мне верится, что "правда" за свободным сообществом Java разработчиков. &lt;br /&gt;Небольшое изучение вопроса показало его (общества, Java) болевые точки. &lt;br /&gt;Буду рад, если кто-то более знающий прокомментирует мои наблюдения.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;1. Разброд в рядах. Та же самая болезнь, которая вредит unix/linux/остальным подобным проектам. Конкурент - Microsoft - монолитен, согласован и напоминает шеренгу спартанцев. &lt;br /&gt;В рядах же не-Microsoft разработчиков беснуется Новодворская Ричард Столман, тянут в разные стороны разобщенные группы фанатов PHP, C, Python, Perl и т.д., развивается кукушонок Mono.&lt;br /&gt;На заре "раздела мира" похожая ситуация, когда производители UNIX, существенно превосходивших DOS-Windows, воевали между собой – привела к победе Microsoft.&lt;br /&gt;Наиболее опасным я считаю две вещи:&lt;br /&gt;1) Отсутствие Java доминирования. Заслуга Microsoft в том, что там поняли, как важно иметь ОДИН язык разработки (пусть вас не смущает рекламная шелуха про любые языки на .NET – фактически язык один C#). Из бытовых примеров правильности такого подхода мы видим Английский Язык (до развала СССР ещё Русский Язык). Когда люди ДУМАЮТ на одном языке – количество переходит в качество. Снижаются накладные расходы на переводчиков, издание книг об одном и том же на разных языках, люди более коммуникабельны и т.д. Microsoft жестко и даже с потерей доходов указало фанатам C++, а особенно VB – что их место у параши. "Или учишь C# или остаешься разработчиком второго сорта". В другом же лагере махровым цветом цветут С-сектанты и куча мелких языковых народностей.&lt;br /&gt;2) Mono - проект кукушонок или для желающих троянский конь. Как некогда на заседание антимонопольного суда представитель Microsoft пришел с дистрибутивом Linux, так и Mono является такой же обманкой кросс-платформенности .NET. Рассмотрим живой пример: менеджер нового проекта решает, на чем вести разработку: Linux+Mono+Delphi.Net или Microsoft Windows+.NET+C#. Linux+Mono+Delphi.Net прекрасны, функциональны и открыты, но они вторичны. Менеджеру не нужны будущие потенциальные проблемы несовместимости с новыми версиями .NET. Никто не знает Microsoft лучше Microsoft. Если вы считаете, что пример надуман – вспомните odbc, ole db, ado, ado.net или VB vs Delphi. Всем людям с нормальной психикой было ясно, что Delphi в разы превосходит убогий чудовищный VB, тем не менее, сформирован огромный лагерь умственно отсталых VB разработчиков, которые даже любят это убожество.&lt;br /&gt;Вывод: в качестве решения вижу создание крепкой дружной коалиции, в лице коммерческих организаций (Google, Sun, IBM, Oracle) и open source разработчиков (Linux,  Apache, Open Office, Mozilla) выступающих единым фронтом, с единым мнением и комплексными интегрированными решениями: Linux+Java+Web.&lt;br /&gt;&lt;br /&gt;2. Оптимизация быстродействия и требования к ресурсам.&lt;br /&gt;Эта тема чрезвычайно интересна тем, что мнения по ней сугубо полярны.&lt;br /&gt;Java разработчики: "программы на Java работают ничуть не медленнее, чем программы на C++/Delphi, а зачастую даже быстрее. Требования к ресурсам у них минимальны".&lt;br /&gt;Пользователи Java разработок: "все безумно тормозит и жрет уйму ресурсов".&lt;br /&gt;Небольшой поиск в Internet приносит материалы (охотно поверю, что рекламные) о том, что .NET приложения быстрее, чем приложения на Java.&lt;br /&gt;Мне кажется, что сообществу Java/Sun/IBM следует привлечь хороших специалистов двух типов:&lt;br /&gt;a) по оптимизации кода, менеджерам памяти и т.д.&lt;br /&gt;b) по маркетингу и PR ;-)&lt;br /&gt;Вывод: всегда есть, что улучшить! Вот горячий пример этого года: fastmm.sf.net – менеджер памяти для Delphi/BCB ускоряющий работу программ в РАЗЫ.&lt;br /&gt;&lt;br /&gt;3. Интерфейс пользователя.&lt;br /&gt;Больной вопрос, поскольку Java выросла из UNIX мира, где интерфейсы рисуют студенты второкурсники с гипертрофированной манией величия и отсутствием вкуса. Сейчас ситуация улучшается и desktop приложения на Java уже выглядят как плохенькие Windows приложения, но нельзя на этом останавливаться. Без завоевания Desktop все остальные победы временные. Любимый пример Java-разработчиков в таких случаях Borland JBuilder. Безусловно, отличная IDE! Недостижимый для большинства Java-разработчиков идеал, но начинающий разработчик на Delphi сделает такую IDE (без функционала, конечно :-) за несколько часов. &lt;br /&gt;Вывод: поскольку Windows занимает доминирующие позиции на Desktop, и пользователи избалованы стильным дизайном от Microsoft – красивый стильный GUI для Java приложения должен стать не достижением, а нормой (видно что разработчики OpenOffice это поняли и результат не замедлил сказаться).&lt;br /&gt;&lt;br /&gt;4. Кросс-платформенность в ширь и в глубь.&lt;br /&gt;"В ширь" - означает большее количество платформ доступных по умолчанию.&lt;br /&gt;Наиболее кричащий пример Pocket PC. Если для коммуникаторов на борту идет какая-то х.з J2ME, то для остальных ситуация просто удручающая. Нужно срочно исправлять положение: для мощных КПК разработать стандартную J2SE, для слабых/мобильных стандартную J2ME.&lt;br /&gt;&lt;br /&gt;"В глубь" легче пояснить шуткой про Амфибию, которая плохая лодка и плохой автомобиль. Кросс-платформенность не должна означать, что на всех платформах программа работает одинаково плохо ;-)&lt;br /&gt;На вскидку два примера:&lt;br /&gt;1) "как запустить это чертово Java приложение". Я скачал и установил у себя свежий JRE, но ни .class файлы, ни .jar файлы не запускаются по клику. От запуска программ строкой в Command Line вида "java -ClassPath . bla.bla.bla" надо уходить, на дворе не 1980 год! (да, да, да! JBuilder запускается по клику – возьмите с полки пирожок).&lt;br /&gt;&lt;br /&gt;2) Java daemon под Windows (NT service). Я не нашел простого быстрого способа запустить приложение на Java как сервис. Имеется в виду не только "запуск", но и получение и обработка событий suspend, resume, stop, а также работа с EventLog.&lt;br /&gt;Это совершенно нормальные требования и если отмахиваться от них, то Java так и останется чем-то далеким и пугающим.&lt;br /&gt;Вывод: расти в ширь и в глубь, не слушать крики "а нас все устраивает, у нас связка Oracle+Tomcat+IE" т.е. основательно идти на PDA и Desktop.&lt;br /&gt;&lt;br /&gt;PS: Если кто-то говорит Java, .NET какая разница – мы на всем пишем. Знайте перед вами типичная "амфибия" ;-) &lt;br /&gt;Настоящий профессионализм подразумевает многолетнюю практику, когда человек думает на языке и в терминах используемой библиотеки классов. &lt;br /&gt;Любой Job-сайт показывает, что на должность простого кодера требуют 2 года опыта, архитектора до 5 и выше.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115545975237461903?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115545975237461903/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115545975237461903' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115545975237461903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115545975237461903'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/08/java.html' title='Что мешает Java-счастью. Взгляд со стороны.'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115409364226797628</id><published>2006-07-28T17:30:00.000+04:00</published><updated>2006-07-28T17:34:02.276+04:00</updated><title type='text'>Русский мисосуп</title><content type='html'>Мясной бульон "как слеза", с крупно покрошенными туда отварным яйцом и сырыми кольцами лука, вприкуску с черным хлебом, густо намазанным русской горчицей...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115409364226797628?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115409364226797628/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115409364226797628' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115409364226797628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115409364226797628'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/07/blog-post.html' title='Русский мисосуп'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115337645612294355</id><published>2006-07-20T10:19:00.000+04:00</published><updated>2006-07-20T10:20:56.130+04:00</updated><title type='text'>Рекордно короткая программа на Pascal печатающая свой исходный код (с) magicode</title><content type='html'>&lt;pre&gt;&lt;br /&gt;const S='const S=;begin Write(Copy(S,1,8),#39,S,#39,Copy(S,9,99));end.';begin Write(Copy(S,1,8),#39,S,#39,Copy(S,9,99));end.&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/29417621-115337645612294355?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115337645612294355/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115337645612294355' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115337645612294355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115337645612294355'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/07/pascal-magicode.html' title='Рекордно короткая программа на Pascal печатающая свой исходный код (с) magicode'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115311711296222121</id><published>2006-07-17T10:17:00.000+04:00</published><updated>2006-07-17T10:18:32.970+04:00</updated><title type='text'>Link: Коллекция лучшего бесплатного софта на все случаи жизни</title><content type='html'>&lt;a href="http://forum.ru-board.com/misc.cgi?action=printtopic&amp;forum=5&amp;amp;topic=4474"&gt;http://forum.ru-board.com/misc.cgi?action=printtopic&amp;forum=5&amp;amp;topic=4474&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115311711296222121?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115311711296222121/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115311711296222121' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115311711296222121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115311711296222121'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/07/link.html' title='Link: Коллекция лучшего бесплатного софта на все случаи жизни'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115253715505340841</id><published>2006-07-10T17:08:00.000+04:00</published><updated>2006-07-10T17:13:34.810+04:00</updated><title type='text'>О как! Open XML Translator</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style=";font-size:78%;" &gt;[06.07.06]&lt;/span&gt;&lt;br /&gt;&lt;i&gt;Microsoft спонсирует разработку открытого конвертера из MS Office Open XML в OpenDocument&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Корпорация Microsoft объявила о создании проекта Open XML Translator, целью которого является разработка инструментов для преобразования документов из форматов Microsoft Office Open XML в OpenDocument (ODF). Как сообщается в пресс-релизе, это является реакцией на требования некоторых госструктур, которые выразили желание обмениваться документами с респондентами, использующими ODF. Конечные продукт будет доступен в виде подключаемого модуля для различных версий Microsoft Office, более того — транслятор будет открытым проектом (лицензия BSD) с хостингом на Sourceforge: &lt;a href="http://sourceforge.net/projects/odf-converter"&gt;http://sourceforge.net/projects/odf-converter&lt;/a&gt;. Финальную версию планируется выпустить к концу года.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Подробности &lt;a href="http://www.microsoft.com/presspass/press/2006/jul06/07-06OpenSourceProjectPR.mspx"&gt;здесь&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ссылки по теме:&lt;br /&gt;&lt;a href="http://www.linuxcenter.ru/news/2006/07/06/6369.phtml"&gt;http://www.linuxcenter.ru/news/2006/07/06/6369.phtml&lt;/a&gt;&lt;br /&gt;&lt;a href="http://openoffice.ru/"&gt;http://openoffice.ru/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.openoffice.org/"&gt;http://www.openoffice.org/&lt;/a&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://i-rs.ru/"&gt;http://i-rs.ru/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115253715505340841?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115253715505340841/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115253715505340841' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115253715505340841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115253715505340841'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/07/open-xml-translator.html' title='О как! Open XML Translator'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115203756264550623</id><published>2006-07-04T21:42:00.000+04:00</published><updated>2006-07-04T22:26:02.676+04:00</updated><title type='text'>No mabila, no cry!</title><content type='html'>Ехал в поезде с Герой Моралесом&lt;br /&gt;&lt;a href="http://jahdivision.ru/"&gt;http://jahdivision.ru/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jahdivision.rinet.ru/foto.htm"&gt;http://jahdivision.rinet.ru/foto.htm&lt;/a&gt;&lt;br /&gt;Дядька чумовой! Внешне - натурально негр с ямайки. Я был усталый, даже не сфоткался с ним ;-(&lt;br /&gt;Играет рэгги, живет рэгги.&lt;br /&gt;CD все раздарил на «Груше», поэтому мне не досталось.&lt;br /&gt;До того он мне фотошоп Артемия Лебедева с улетающей SIMкой напомнил,&lt;br /&gt;что я тоже под коньячок в тему ввернул "no mabila, no cry!" и в целом жег.&lt;br /&gt;Под разговор выпили коньяку, потом жигулевского пива, потом в Сызрани купили икры жереха и ещё пива, потом я отказывался от Гиннеса, потом отрубился ;-)&lt;br /&gt;Вообщем хороший человек, приятная поездка, да и жизнь зачастую хорошая штука!&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;Травы не было ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115203756264550623?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115203756264550623/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115203756264550623' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115203756264550623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115203756264550623'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/07/no-mabila-no-cry.html' title='No mabila, no cry!'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115176639856358919</id><published>2006-07-01T19:04:00.000+04:00</published><updated>2006-07-01T19:06:38.570+04:00</updated><title type='text'>Пора учить Java, JavaScript и AJAX...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/5741/3133/1600/GoogleExcel.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/5741/3133/320/GoogleExcel.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;просто нет слов&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115176639856358919?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115176639856358919/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115176639856358919' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115176639856358919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115176639856358919'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/07/java-javascript-ajax.html' title='Пора учить Java, JavaScript и AJAX...'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115165772455660434</id><published>2006-06-30T12:46:00.000+04:00</published><updated>2006-06-30T12:55:24.566+04:00</updated><title type='text'>Google Earth реклама. Спешите! Время действия предложения ограничено! ;-)</title><content type='html'>Есть известный и популярный, но не прекращающий набирать обороты сервис от Google:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Google Earth&lt;/span&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/"&gt;http://maps.google.com/&lt;/a&gt; - через браузер&lt;br /&gt;&lt;a href="http://earth.google.com/"&gt;http://earth.google.com/&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;span style="font-weight: bold;"&gt;Идея 1&lt;/span&gt;:&lt;br /&gt;Ещё есть время воспользоваться уникальным шансом - раскрасить крыши нескольких домов так, чтобы из космоса это выглядело как логотип Вашей компании.&lt;br /&gt;Очень вероятно, что фото-спутник пройдет над Уфой в ближайшее время.&lt;br /&gt;В следующий раз спутник пройдет не ранее чем через 1-2 года (по материалам Internet).&lt;br /&gt;Все это время реклама будет на карте, хотя фактически её может уже и не быть.&lt;br /&gt;Её потенциально и практически бесплатно могут увидеть все жители Вашего города!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Идея 2&lt;/span&gt;:&lt;br /&gt;У Google есть сопутствующий проект:&lt;br /&gt;&lt;a href="http://sketchup.google.com/"&gt;http://sketchup.google.com/&lt;/a&gt;&lt;br /&gt;Создание 3D моделей окружающей нас действительности.&lt;br /&gt;Можно создать 3D модели офисов продаж / магазинов Вашей компании во всех городах их присутствия.&lt;br /&gt;Возможно каких-то ещё достопримечательностей городов (ex: Ладья, Ракета, Салават Юлаев) с надписью "Sponsored by …".&lt;br /&gt;Пока карты не замусорены зданиями - это будет здорово смотреться.&lt;br /&gt;&lt;br /&gt;Рекомендую увидеть замечательную презентацию как быстро и просто это сделать (можно смотреть и без знания английского):&lt;br /&gt;&lt;a href="http://download.sketchup.com/downloads/training/tutorials50/The_Story/The_Story.html"&gt;http://download.sketchup.com/downloads/training/tutorials50/The_Story/The_Story.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115165772455660434?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115165772455660434/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115165772455660434' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115165772455660434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115165772455660434'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/06/google-earth.html' title='Google Earth реклама. Спешите! Время действия предложения ограничено! ;-)'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115132973230731447</id><published>2006-06-26T17:45:00.000+04:00</published><updated>2006-06-26T17:57:01.153+04:00</updated><title type='text'>Google Trends</title><content type='html'>Недавно компания Google запустила очередной интересный сервис:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Google Trends (тенденции)&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.google.com/trends" target="_blank"&gt;http://www.google.com/trends&lt;/a&gt;&lt;br /&gt;который позволяет изучить в разрезе регионов, языков, городов и времени - запросы пользователей по некой тематике.&lt;br /&gt;Изучить корреляцию нескольких запросов между собой и их корреляцию с мировыми новостями по соответствующей тематике.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;К сожалению, в запросах не указываются точные даты, количества запросов, погрешность и объем обработанных данных – предполагаю, что это будет в дальнейшем реализовано в виде платного сервиса (к вопросу о том, как бесплатный Google зарабатывает такие большие деньги). &lt;br /&gt;Также слабо представлен сегмент "русских" запросов и новостей.&lt;br /&gt;Тем не менее, сервис будет полезен маркетологам и менеджерам уже сейчас.&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Очень рекомендую "попробовать" сервис, т.к. в данном случае действительно лучше один раз увидеть&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Буквально несколько примеров.&lt;br /&gt;&lt;br /&gt;* Заходим на &lt;a href="http://www.google.com/trends" target="_blank"&gt;http://www.google.com/trends&lt;/a&gt;&lt;br /&gt;Вводим i-mode, Opera Mini&lt;br /&gt;Получаем результат:&lt;br /&gt;&lt;a target="_blank" href="http://www.google.com/trends?q=i-mode%2C+Opera+Mini&amp;ctab=0&amp;amp;geo=all&amp;date=all"&gt;http://www.google.com/trends?q=i-mode%2C+Opera+Mini&amp;ctab=0&amp;amp;geo=all&amp;date=all&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Из которого видно, что i-mode непрерывно терял популярность с начала сбора статистики Google (2003 год), а популярность Opera Mini непрерывно растет,&lt;br /&gt;и уже значительно превзошла i-mode.&lt;br /&gt;К сожалению, на графике нет точных дат, но я предполагаю, что два всплеска совпадают с датами выхода OperaMini 1 и 2 соответственно.&lt;br /&gt;&lt;br /&gt;* Вводим: wap&lt;br /&gt;&lt;a target="_blank"  href="http://www.google.com/trends?q=wap&amp;amp;ctab=1&amp;geo=all&amp;amp;date=all"&gt;http://www.google.com/trends?q=wap&amp;amp;ctab=1&amp;geo=all&amp;amp;date=all&lt;/a&gt;&lt;br /&gt;Видно, что интерес к WAP непрерывно падает. Видно как мировые новости касающиеся технологии WAP вызывают вспышки интереса.&lt;br /&gt;&lt;br /&gt;* Вводим: IpTV&lt;br /&gt;&lt;a target="_blank" href="http://www.google.com/trends?q=iptv&amp;ctab=2&amp;amp;geo=all&amp;date=all"&gt;http://www.google.com/trends?q=iptv&amp;ctab=2&amp;amp;geo=all&amp;date=all&lt;/a&gt;&lt;br /&gt;Видим колоссальный рост интереса. Вкладка «по регионам» позволяет определить где настал бум IpTV: Корея, Тайланд&lt;br /&gt;&lt;br /&gt;* Вводим: wimax,wi-fi&lt;br /&gt;&lt;a target="_blank" href="http://www.google.com/trends?q=wimax%2Cwi-fi&amp;amp;ctab=1&amp;geo=all&amp;amp;date=all"&gt;http://www.google.com/trends?q=wimax%2Cwi-fi&amp;amp;ctab=1&amp;geo=all&amp;amp;date=all&lt;/a&gt;&lt;br /&gt;Wi-Fi до сих пор популярнее WiMAX, но интерес стабилизировался.&lt;br /&gt;Рост интереса к WiMAX тоже снизился.&lt;br /&gt;А вот в России интерес интерес к Wi-Fi существенно превышает интерес к WiMAX.&lt;br /&gt;&lt;br /&gt;Интересные результаты дали:&lt;br /&gt;sms, wap, mms&lt;br /&gt;&lt;br /&gt;Очень показательно:&lt;br /&gt;ATM, VoIP&lt;br /&gt;SDH, MPLS&lt;br /&gt;Прощай старый мир! ;-)&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;Ну и, конечно, всякие забавные измерения тоже становятся возможными:&lt;br /&gt;измерение популярности брендов, полов, имен, курортов и т.д. ;-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115132973230731447?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115132973230731447/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115132973230731447' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115132973230731447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115132973230731447'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/06/google-trends.html' title='Google Trends'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115132809738377982</id><published>2006-06-26T16:36:00.000+04:00</published><updated>2006-06-26T17:44:50.496+04:00</updated><title type='text'>5 километров зимой в гору</title><content type='html'>&lt;p class="MsoNormal"&gt;Только ленивый не разместил это нетленное произведение на своем ЖЖ.&lt;br /&gt;&lt;br /&gt;Являясь его фанатом и держась в русле толпы, для сохранения в веках и быстрого позиционирования коллег - размещаю его у себя (заодно освоив Blogger "How can I create expandable post summaries? ;-)&lt;/p&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Но сначала поклон классикам. Оказывается, как и многие другие культовые рассказы эпохи FIDO/Floppy Net'а, рассказ уходит своими корнями в зарубежную литературу:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;a href="http://mincao.livejournal.com/533347.html"&gt;http://mincao.livejournal.com/533347.html &lt;/a&gt;&lt;br /&gt;Помните этот стон про то, как тяжело было родителям в их детстве и как легко нам?? А знаете, откуда это пошло?&lt;br /&gt;&lt;br /&gt;"- Вон что, а я и не знал. Отец Эдисона был сирота?&lt;br /&gt;- Ну, ясно... все они сироты, когда орут на тебя с утра пораньше. И в школу-то они ходили за шесть миль, не меньше, и всегда босиком, и всегда валил снег. О, господи! - Джордж вдруг рассмеялся. - Все папаши ходили в школу будто на Северном полюсе, не иначе. Все до единого."&lt;br /&gt;&lt;br /&gt;Это Томас Вулф. "Домой возврата нет". Год издания - 1940, написано в середине 30х :)))&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Про наше трудное детство&lt;/span&gt;&lt;br /&gt;Когда я был ребенком, взрослые часто доводили меня до слез своими нудными воспоминаниями о том, какое трудное у них было детство, как им приходилось пешком ходить в школу каждое утро 15 километров вверх в гору, а зима тогда длилась круглый год, и ещё они носили 3-х своих младших сестрёнок туда на плечах. В их школе была одна холодная комната, туалет был во дворе и до него надо было бежать километр в гору. В этой комнате учились одновременно 10 разных классов, причём у всех были круглые пятёрки, хотя бумаги и ручек им и не хватало, поэтому они писали карандашами на полях газеты, а статьи из этой газеты они сперва читали вслух, патамушто книг тогда тоже не было, а потом использовали в том удалённом туалете, если успевали добежать до него в гору. Потому что туалетной бумаги тогда тоже ни у кого не было.&lt;br /&gt;&lt;br /&gt;При этом они как-то успевали помогать своим родителям убирать коммуналки и чистили там туалеты каждый день! Кроме того, они рубили лес на дрова, топили печи, и чистили по 5 ведер картошки в день, патамушта тогда кроме картошки не было другой еды, но есть её им не давали, а сразу всё забирали для фронта. В свободное время, они успевали разгружать вагоны с этой картошкой за 25 копеек в час и кормили на эти деньги всю свою семью, в которой жило 5-6 поколений бабушек. Как они успевали делать уроки, я не понимаю.&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;Если мне надо было что-то узнать, я должен был пешком топать 5 километров в гору зимой в проклятую библиотеку и сам рыться в ее каталогах и книжках! Емыла тоже ни фига не было! Если мне надо было кому-то написать, я делал это ручкой, на бумаге! А затем мне приходилось топать самому пешком через весь город 5 километров в гору зимой на почту и уходила ещё целая неделя и больше, пока моё письмо доходило до адресата!&lt;br /&gt;Я уже не говорю про МР3 или Нэпстер! Если мне надо было скоммуниздить музыку, приходилось самому топать пешком через весь город 5 километров зимой в гору до  музыкального магазина и рисковать там воруя огромные черные граммофонные диски под недрёманым оком продавщицы!&lt;br /&gt;&lt;br /&gt;Или приходилось ждать целый день, чтобы ночью записать музыку на катушечный магнитофон с радиоэфира "Голоса Америки" или ВВС, причем всё это специально заглушалось КГБ! Причем Диск Жокей мог в любой момент начать свою болтовню и&lt;br /&gt;это было похуже сраного КГБ!&lt;br /&gt;&lt;br /&gt;Хотите ещё послушать о трудностях? Я не мог вот так запросто, как вы, взять и загрузить порно! Приходилось переть через весь город 5 километров зимой в гору к какому-нибудь старому извращенцу лет 25, у которого была коллекция Плейбоя на польском за 1955 год с вырванными центральными картинками.&lt;br /&gt;Остальные картинки были все заляпаны засохшей спермой нескольких поколений польских и наших онанистов, и пограничников. Или какая-нибудь старая дева лет 29 приглашала к себе вечером, наматывала себе на шею какие-то лебединые пёрья и нажиралась портвейна, показывая мне немецкий трофейный Каталог Женского Белья за 1935 год с Гитлером на обложке, для собственного возбуждения! И всё! У меня ни хера не было никакого другого порна!&lt;br /&gt;&lt;br /&gt;У меня не было никаких роскошных телефонных прибамбасов! Ни второй линии, ни автоответчика. И если я куда-то звонил, а там было занято, мне приходилось перезванивать самому! По многу раз! И я не ныл! У меня не было и распознавателя номеров! Когда нам кто-то звонил, мы не имели ни малейшего представления о том, кто это мог быть! Это мог быть кто угодно! Родители с каким-нибудь идиотским поручением, училка, чтобы настучать родителям о пропущенном дне, или даже ментура, чтобы вызвать их для беседы о моем поведении! Я никогда не знал заранее!!! Приходилось снимать трубку и рисковать, дамы и господа!&lt;br /&gt;&lt;br /&gt;Не было у меня и роскошных видеоигр, типа ваших Плейстэйшн Сони, с 3D графикой! Я сыграл в свою первую видеоигру в возрасте 25 лет на работе, на мэйнфрейме ЕС-1040, и это был чернобелый пинг-понг! На мониторе 5х5 сантиметров. И софт дохнул каждые 3 минуты из-за слабенького процессора! Но я не ныл и играл все 8 часов своего рабочего дня! Там были ещё "Морской Бой" и падение астероидов. Всё - черно-белое, никаких виндов, всё в одном окне!&lt;br /&gt;Приходилось использовать собственное воображение, чёрт побери!&lt;br /&gt;&lt;br /&gt;В эту игру невозможно было выиграть, поскольку там был только один уровень сложности "для Гроссмейстера" и он не регулировался! Проходилось играть всё быстрее, пока не ломалась клава или игрок не погибал от сердечного приступа!&lt;br /&gt;Всё было как в реальной жизни!&lt;br /&gt;&lt;br /&gt;В кинотеатрах не было амфитеатров, все сиденья были расположены на одной высоте! И если перед тобой садился высокий парень - пистец! Кина не было вапще! Кабельного ТВ не было и в помине! У нас было только 4 канала, которые всё время показывали старого маразматика Брежнева!&lt;br /&gt;У вас тут за 100 каналов, есть порно, 2 только для гольфа, 5-другие виды спорта, 2-только мультяшки! 24 часа каждый день! &lt;br /&gt;Мне для мультяшек приходилось переть пешком через весь город 5 километров в гору зимой! А когда появились ТВ, то мультяшки показывали тока 1 раз в неделю! 1 раз!&lt;br /&gt;В субботу утром! &lt;br /&gt;Вы слышите, что я вам тут говорю, мать вашу?! Мне приходилось ждать ЦЕЛУЮ НЕДЕЛЮ, чтобы посмотреть сраную мультяшку, лентяи и бездельники! Вот именно! Я об этом уже целый час талдычу! Вам всё достается слишком легко! Клянусь, вы тут все испорчены до мозга костей! Вы бы не выжили в 1970 году и 5 минут!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115132809738377982?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115132809738377982/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115132809738377982' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115132809738377982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115132809738377982'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/06/5.html' title='5 километров зимой в гору'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-115132531864633673</id><published>2006-06-26T16:26:00.000+04:00</published><updated>2006-06-26T16:35:54.376+04:00</updated><title type='text'>Disclaimer</title><content type='html'>Все, что я пишу в этом Блоге, стало мне известно исключительно из открытых источников и найдено во внерабочее время в процессе совершенствования собственного образования.    &lt;p class="MsoNormal"&gt;Все написанное здесь - исключительно мое личное мнение, которое может (не) совпадать с мнением моего работодателя.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-115132531864633673?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/115132531864633673/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=115132531864633673' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115132531864633673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/115132531864633673'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/06/disclaimer.html' title='Disclaimer'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29417621.post-114974452052098904</id><published>2006-06-08T09:18:00.000+04:00</published><updated>2006-06-26T17:27:47.436+04:00</updated><title type='text'>Он сказал "Поехали!" и махнул рукой</title><content type='html'>Когда-то люди занимались любительским радио, потом его сменил FIDO, потом домашние странички на geocities и narod.&lt;br /&gt;Блоги - это огонек в ночи наших дней.&lt;br /&gt;&lt;br /&gt;Почему Blogger, а не ЖЖ:&lt;br /&gt;1. Мне очень нравится компания Google, её разработки и покупки (а также домен .com ;-)&lt;br /&gt;2. ЖЖ в связи с популярностью режется на многих корпоративных proxy, в том числе нашем.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29417621-114974452052098904?l=magicprinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://magicprinc.blogspot.com/feeds/114974452052098904/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29417621&amp;postID=114974452052098904' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/114974452052098904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29417621/posts/default/114974452052098904'/><link rel='alternate' type='text/html' href='http://magicprinc.blogspot.com/2006/06/blog-post.html' title='Он сказал &quot;Поехали!&quot; и махнул рукой'/><author><name>Andrew Fink</name><uri>http://www.blogger.com/profile/01689164934810739741</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_qkuqWSortcs/SGeWXRWhAnI/AAAAAAAAAD4/E-B2T2F-Ma8/S220/aprface.png'/></author><thr:total>0</thr:total></entry></feed>
