<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>On the way to perfect computing &#187; Uncategorized</title>
	<atom:link href="http://blog.alexzender.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.alexzender.com</link>
	<description>Just another bunch of coding thoughts by Alexander Vushkan</description>
	<lastBuildDate>Tue, 02 Jun 2009 13:26:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>On Twitter</title>
		<link>http://blog.alexzender.com/2009/06/02/on-twitter/</link>
		<comments>http://blog.alexzender.com/2009/06/02/on-twitter/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 13:26:40 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=138</guid>
		<description><![CDATA[alexzender]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/alexzender">alexzender</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2009/06/02/on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Camel is a Horse Designed by Committee</title>
		<link>http://blog.alexzender.com/2009/03/29/a-camel-is-a-horse-designed-by-committee/</link>
		<comments>http://blog.alexzender.com/2009/03/29/a-camel-is-a-horse-designed-by-committee/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 22:38:29 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=107</guid>
		<description><![CDATA[I was about to write a post on this topic for a long time. Each time I postponed it for different reasons and almost forgot about it. But now, once I see this excellent post on TechCrunch, let&#8217;s talk about it. Here you go! Just think what makes our tech industry to move further. There [...]]]></description>
			<content:encoded><![CDATA[<p>I was about to write a post on this topic for a long time. Each time I postponed it for different reasons and almost forgot about it. But now, once I see t<a href="http://www.techcrunch.com/2009/03/24/no-never-surrender-to-your-users-facebook/">his excellent post</a> on TechCrunch, let&#8217;s talk about it. Here you go!</p>
<p>Just think what makes our tech industry to move further. There are many reasons, you can say. It&#8217;s technical evolution. New inventions, etc. But it&#8217;s not only about technology. It&#8217;s also about people. Few people push it. Those people who have own and unique vision with ability to foresee our future. Once they see it, it&#8217;s a matter of time,resources and efforts to convince others.</p>
<p>Personally, I believe that iPod becomes better and better with each version. It gets better design, its functionallity gets better too. That&#8217;s why I buy new versions each time. Apple push them to me. And I buy.</p>
<p>Basically, there are many examples. Car producers do the same. That&#8217;s a kind of formula. Of course, sometimes they fail and you switch to another vendor.</p>
<p>We need different leaders pushing different ideas. We will select a right one among them. Definitely we need for competition.</p>
<p>But the bottom line is, that&#8217;s how it works. Strong leaders drive us, and we follow. Truly, unless you see new iPod Touch, you have no clue how the next successful version should look like. Unless you are professional in this business, working e.g. on Zune <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Applying this subject to our software world, to the ideas of web2.0 development and service deployment. E.g. make users participate in forming of new requirements. Be careful with that. It&#8217;s indeed a good idea to make development cycles short and roll out changes to your site and hear to user&#8217;s feedback quickly.Quickly respond to market needs. But don&#8217;t let users drive your strategy, point directions. You may loose your innovation, all that things that made you different. Indeed, it&#8217;s a true art to keep focus on your main direction and still keep old users and discover new ones in enterprise world, where almost everything should be customizable, at least in the next release.</p>
<p>Another thing is a <a href="http://en.wikipedia.org/wiki/Design_by_committee">design by committee</a> issue. Look, the overwhelming majority of innovations were created by one and independent company/person/group of people. This is a rich soil for innovations. In this case you have a freedom for changing and driving a product in any direction. You move quickly, you are fast. And finally, you are the first.</p>
<p>Of course, there are areas where you do need committee in order to make the whole engine work. But in this case you fall into slow reviewing cycles, conflicts of interests and so on. That&#8217;s why it doesn&#8217;t work as supposed in most of cases.</p>
<table border="0">
<tbody>
<tr>
<td style="vertical-align:top;">So, it would be great just to have an alchemic formula to keep a balance and follow trade-offs, to make users happy and to make them even happier once you roll out dramatically better new version, that you developed according to your own and unique vision&#8230;</td>
<td><img class="alignright size-full wp-image-127" style="padding-left: 5px;" title="innovation-lab-marquee" src="http://blog.alexzender.com/wp-content/uploads/blog.alexzender.com/2009/03/innovation-lab-marquee.png" alt="innovation-lab-marquee" width="322" height="251" /></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2009/03/29/a-camel-is-a-horse-designed-by-committee/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Your Setup and Efficiency</title>
		<link>http://blog.alexzender.com/2009/01/03/your-setup-and-efficiency/</link>
		<comments>http://blog.alexzender.com/2009/01/03/your-setup-and-efficiency/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 22:13:16 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=70</guid>
		<description><![CDATA[I&#8217;m always keen on discovering and using tools that help to boost efficiency and  get more fun. That&#8217;s why it&#8217;s very important to learn and type as fast as you phisically can, that&#8217;s why you need to learn vim emacs and use their hot-keys. Coding and typing routines shouldn&#8217;t interfere with your thinking, designing and problem-solving process. I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m always keen on discovering and using tools that help to boost efficiency and  get more fun. That&#8217;s why it&#8217;s very important to learn and type as fast as you phisically can, that&#8217;s why you need to learn <span style="text-decoration: line-through;">vim </span>emacs and use their hot-keys. Coding and typing routines shouldn&#8217;t interfere with your thinking, designing and problem-solving process.</p>
<p>I found another example of efficiency &#8211; it&#8217;s layout of your work place.  </p>
<p><img class="aligncenter size-full wp-image-71" title="work_place" src="http://blog.alexzender.com/wp-content/uploads/blog.alexzender.com/2009/01/work_place.jpg" alt="work_place" width="500" height="375" /></p>
<p>Yes, this pic looks really cool, just like in the movie about hackers. But look closely and read FAQs, and you will find origins, keys and efficient solutions:</p>
<p><a href="http://www.stefandidak.com/office/faq.php">http://www.biscade.com/office/</p>
<p>http://www.stefandidak.com/office/faq.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2009/01/03/your-setup-and-efficiency/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adobe Alchemy &#8211; running C++ code in the browser</title>
		<link>http://blog.alexzender.com/2008/12/12/adobe-alchemy-running-c-code-in-the-browser/</link>
		<comments>http://blog.alexzender.com/2008/12/12/adobe-alchemy-running-c-code-in-the-browser/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 16:54:55 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=65</guid>
		<description><![CDATA[Adobe keeps playing with alternative approaches in the lab. Just meet their Alchemy project Brief overview: Alchemy is primarily intended to be used with C/C++ libraries that have few operating system dependencies. Ideally suited for computation-intensive use cases, such as audio/video transcoding, data manipulation, XML parsing, cryptographic functions or physics simulation, performance can be considerably [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe keeps playing with alternative approaches in the lab. Just meet their <a href="http://labs.adobe.com/technologies/alchemy/">Alchemy project</a></p>
<p>Brief overview:</p>
<blockquote><p>Alchemy is primarily intended to be used with C/C++ libraries that have few operating system dependencies. Ideally suited for computation-intensive use cases, such as audio/video transcoding, data manipulation, XML parsing, cryptographic functions or physics simulation, performance can be considerably faster than ActionScript 3.0&#8230;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/12/12/adobe-alchemy-running-c-code-in-the-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pondering Over The Next Big Thing</title>
		<link>http://blog.alexzender.com/2008/11/25/pondering-over-the-next-big-thing/</link>
		<comments>http://blog.alexzender.com/2008/11/25/pondering-over-the-next-big-thing/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 14:56:02 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=43</guid>
		<description><![CDATA[The Next Big Thing will come soon. It&#8217;s not here yet but it&#8217;s close. Let&#8217;s consider symptoms: &#8211; it was growing number of Web 1.0 users who read the web. Also there was small group of content authors who published stuff. Actually these numbers constantly keep growing even now. Less developed countries keep joining a [...]]]></description>
			<content:encoded><![CDATA[<p>The Next Big Thing will come soon. It&#8217;s not here yet but it&#8217;s close.</p>
<p>Let&#8217;s consider symptoms:</p>
<p>&#8211; it was growing number of <span style="font-size: larger;"><strong>Web 1.0</strong></span> users who read the web. Also there was small group of content authors who published stuff. Actually these numbers constantly keep growing even now. Less developed countries keep joining a club.</p>
<p>&#8211; <strong><span style="font-size: larger;">Web 2.0</span></strong> has come. Readers got new skills and started content contribution. This happen due to such services as YouTube, Flickr and others. Basic idea is moving &#8220;off-line activties&#8221; to online ones: it started with searching for information in Google instead of regular library and shopping on eBay instead of regular stores. It countinued with photo and video sharing, one map usage, shopping, etc. Everything around you is moving and becomes virtual.</p>
<p>This era is a time of CONTENT. It brings content online. Also it brings your content from your desktop -&gt; online, always available and portable one.</p>
<p>Those Web 2.0 providers are cool who managed move some kind of my content on-line and made it useful. Flash video perfecly works for video assets, and it&#8217;s quety easy to implement pattern &#8220;publish once, read as much as you want&#8221;. Basically we don&#8217;t edit videos on our desks. Images too.</p>
<p>Google and other competitors try hard to move documents online, but they are not there yet.</p>
<p>Guys from <a href="http://www.scribd.com/">www.scribd.com</a> are on the right track, but they don&#8217;t swim against stream and also use &#8220;publish once&#8230;&#8221; model. So, let&#8217;s wait for appropriate tool for docs, maybe Adobe with the help of Flash will give it to us. Btw, as time shows Flash(Silverlight?) is a good technology to use to move some stuff from desktop machine &#8211; online. Our computers become thin clients as the time goes.</p>
<p>Content can be moved online also from our cells, not only desks. <a href="http://qik.com/">QIK</a> is an example. They let you translate video stream from your cell directly to web site. They keep your archive of translated videos.</p>
<p>Interesting, what determins a nature of these transformations? Basically it&#8217;s technology, you can say. It&#8217;s a broad topic. I think I&#8217;ll write a separate post on it.</p>
<p>&#8211; <strong><span style="font-size: larger;">The Next Big Thing era </span></strong>.</p>
<p>Yeah, you can start enumerate a number of already existing services proving that I&#8217;m wrong and we already have it.</p>
<p>Basically I would, If I would wrote its name in low case. So, let&#8217;s talk about It.</p>
<p>One of remarkable pioneers here is Facebook. Why is it so successful? Yeah, it&#8217;s not a chemistry and there is no exact formula for that. Initially, it was an equation with man unknowns, the matter of time and place.</p>
<p>But it all began with The Model. Yeah, the idea was defined by students. Recommend for everyone to google it and read. But look how it works:</p>
<p>The first step is to make connections and create a skeleton. Then, you can grow a meat. It&#8217;s very interesting point here, but let&#8217;s make a short break and talk about sharing services. Btw, how many dozens of sharing &lt;put you label here&gt; services are present in our world? How many of them have you ever used? Hum&#8230;not that match.</p>
<p>- But why?</p>
<p>- Basically, because I&#8217;m doing my stuff using H software on Y OS, and to share a file with  collegue I need to go to our corporate portal, but when I&#8217;m at home&#8230;.</p>
<p>Yeah, we need to understand the <span style="text-decoration: underline;">cause</span> that makes people share stuff and why they pick one tool or another.</p>
<p>The following leads to it:</p>
<p>* personal activities: here they use their address book or contact list and tools around close enough to *send* information to recepient.</p>
<p>* work activities: business processes. Toolset is usually complex, you don&#8217;t like your corporate app as it is old, ugly and slow, yeah, that&#8217;s why you prefer using emails.</p>
<p>In both cases you look at your contacts, pick a necessary one, and send info to recipient. That&#8217;s it. So, Facebook is your contact list, that doesn&#8217;t make sense without your friends sharing vacation photos and other stuff. You can share anything, it&#8217;s a matter of external application available.</p>
<p>Truly, they did a great job in gathering user base and now you don&#8217;t need to hold a long list of passwords to different sites and frequently use &#8220;remind me passw.&#8221; link anymore.</p>
<p>But the clear model was first &#8211; just get in touch with our class-mates, collegues, etc.</p>
<p>So, the idea is not new &#8211; The Next Big Thing will be Web OS. When all your data online, all services online,all your friends online, and you need portable devices and unlimited bandwidth to use it.The revolution is comming,  we already can see Amazon, Microsoft and Google holding their weapons not so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/11/25/pondering-over-the-next-big-thing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sorting 1PB with MapRaduce at Google</title>
		<link>http://blog.alexzender.com/2008/11/24/sorting-1pb-with-mapraduce-at-google/</link>
		<comments>http://blog.alexzender.com/2008/11/24/sorting-1pb-with-mapraduce-at-google/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 19:06:52 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=41</guid>
		<description><![CDATA[In the following article there is an interesting comparison of Yahoo MapRaduce Stack vs Google One. Google numbers, numbers&#8230; &#160;]]></description>
			<content:encoded><![CDATA[<p>In the following article there is an interesting comparison of Yahoo MapRaduce Stack vs Google One.<br />
<a href="http://googleblog.blogspot.com/2008/11/sorting-1pb-with-mapreduce.html">Google numbers, numbers&#8230;</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/11/24/sorting-1pb-with-mapraduce-at-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Profiling in Eclipse</title>
		<link>http://blog.alexzender.com/2008/11/24/java-profiling-in-eclipse/</link>
		<comments>http://blog.alexzender.com/2008/11/24/java-profiling-in-eclipse/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 19:05:45 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=39</guid>
		<description><![CDATA[Recently we needed to resolve some performance issues, so I looked for the tool and started in eclipse plugin list. Luckily I found a one. You need to have binary dump of your heap in order to load it there and analyse. You can find how to do that here But this tool is not [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;">Recently we needed to resolve some performance issues, so I looked for the tool and started in eclipse plugin list. Luckily I <a href="http://www.eclipse.org/mat/">found a one</a>.</p>
<p>You need to have binary dump of your heap in order to load it there and analyse. You can find how to do that <a href="http://java.sun.com/developer/technicalArticles/Programming/HPROF.html">here</a></span></p>
<p>But this tool is not a silver bullet, and sometimes analysing text dump is sufficient and more interesting(low level stuff), depending on what you exactly need.</p>
<p>On VM side I found the following useful params:</p>
<ul>
<li>Make GC talk to us: -verbose:gc</li>
<li>Show us when garbage collection cycles happen: -XX:+PrintGCTimeStamps</li>
<li>If some 3rd library introduced CPU bound by querying System.gc(), make them calm:  -XX:+DisableExplicitGC</li>
<li>Dump heap on error:-XX:+HeapDumpOnOutOfMemoryError</li>
<li> Specify dump  info you are interested in: -agentlib:hprof=heap=sites,cpu=samples, file=/home/user/user.hprof, cutoff=0,lineno=y,thread=y,doe=n &#8220;</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/11/24/java-profiling-in-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Насколько важен хороший технический анализ</title>
		<link>http://blog.alexzender.com/2008/11/03/%d0%bd%d0%b0%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%b2%d0%b0%d0%b6%d0%b5%d0%bd-%d1%85%d0%be%d1%80%d0%be%d1%88%d0%b8%d0%b9-%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d0%b9/</link>
		<comments>http://blog.alexzender.com/2008/11/03/%d0%bd%d0%b0%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%b2%d0%b0%d0%b6%d0%b5%d0%bd-%d1%85%d0%be%d1%80%d0%be%d1%88%d0%b8%d0%b9-%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d0%b9/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 12:35:05 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=36</guid>
		<description><![CDATA[Недавно Volkswagen обошел Google и Microsoft по капитализации, без каких-либо видимых фундаментальных причин Здесь можно почитать как зарабатывать деньги из воздуха и сколько стоила неосведомленность хедж-фондам.]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.alexzender.com/wp-content/uploads/2008/11/stockex.jpg"><img class="aligncenter size-full wp-image-37" title="56703773SO002_Markets_React" src="http://blog.alexzender.com/wp-content/uploads/2008/11/stockex.jpg" alt="" width="450" height="307" /></a></p>
<p>Недавно Volkswagen обошел Google и Microsoft по капитализации, без каких-либо видимых фундаментальных причин <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<a href="http://superinvestor.livejournal.com/55452.html">Здесь можно почитать</a> как зарабатывать деньги из воздуха и сколько стоила неосведомленность хедж-фондам.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/11/03/%d0%bd%d0%b0%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%b2%d0%b0%d0%b6%d0%b5%d0%bd-%d1%85%d0%be%d1%80%d0%be%d1%88%d0%b8%d0%b9-%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d0%b9/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Multi-Dimensional Analog Literals in C++</title>
		<link>http://blog.alexzender.com/2008/10/22/multi-dimensional-analog-literals-in-c/</link>
		<comments>http://blog.alexzender.com/2008/10/22/multi-dimensional-analog-literals-in-c/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 19:56:02 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[c++]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=31</guid>
		<description><![CDATA[funny one &#8211; http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml]]></description>
			<content:encoded><![CDATA[<p>funny one &#8211; <a href="http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml">http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/10/22/multi-dimensional-analog-literals-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Об архитектуре и строительстве.</title>
		<link>http://blog.alexzender.com/2008/04/14/%d0%be%d0%b1-%d0%b0%d1%80%d1%85%d0%b8%d1%82%d0%b5%d0%ba%d1%82%d1%83%d1%80%d0%b5-%d0%b8-%d1%81%d1%82%d1%80%d0%be%d0%b8%d1%82%d0%b5%d0%bb%d1%8c%d1%81%d1%82%d0%b2%d0%b5/</link>
		<comments>http://blog.alexzender.com/2008/04/14/%d0%be%d0%b1-%d0%b0%d1%80%d1%85%d0%b8%d1%82%d0%b5%d0%ba%d1%82%d1%83%d1%80%d0%b5-%d0%b8-%d1%81%d1%82%d1%80%d0%be%d0%b8%d1%82%d0%b5%d0%bb%d1%8c%d1%81%d1%82%d0%b2%d0%b5/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 11:05:29 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[architecture]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=29</guid>
		<description><![CDATA[Мы &#8211; представители одной из самых молодых профессий. Мы как строители и зодчие, которые каждый день кирпич за кирпичиком возводят новые сооружения. Некоторые строения иногда сносят &#8211; они уже свой век отжили-отсулжили. В отличии от сроительства в программировании &#8220;сносить&#8221; приходится довольно часто. Здесь &#8220;здания&#8221; могут стремительно еволюционировать и достраиваться очень даже в непредстказуемых местах (зависит [...]]]></description>
			<content:encoded><![CDATA[<p>Мы &#8211; представители одной из самых молодых профессий. Мы как строители и зодчие, которые каждый день кирпич за кирпичиком возводят новые сооружения. Некоторые строения иногда сносят &#8211; они уже свой век отжили-отсулжили.</p>
<p>В отличии от сроительства в программировании &#8220;сносить&#8221; приходится довольно часто. Здесь &#8220;здания&#8221; могут стремительно  еволюционировать и достраиваться очень даже в непредстказуемых местах (зависит от степени прогибания под заказчика <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Также здесь &#8220;здания&#8221; могут стремительно рухнуть, не постояв и нескольких месяцев. Причины могут быть разные &#8211; то ли из-за фазы луны:), или из-за технического несовершенства, или из-за несовершенства управленцев.</p>
<p>Давайте опустим первое и последние, и поговорим о технических аспектах.</p>
<p>Программный продукт еще можно сравнить с живым существом. Оно растет и развивается, со временем.<br />
И очень важно тратить определенное время-усилия на разработку архитектуры,  если вы хотите чтобы продукт смог вырасти из стадии эмбриона до непоколибимого титана. Не важно, даже если вы не пишите проект с нуля, а присоединились к нему на определнной стадии &#8211; все равно занимайтесь<br />
архитектурой!<br />
Также может случиться, что в вашей компании команда архитекторов сидит высоко в облаках, медитируя на uml диаграммы ну оочень высокого уровня абстракции, и им нет дела до того, что какой-то кусок в вашей подсистеме ну ооочень корявый, и вы 70% своей рабочей жизни тратите на сооружение заплаток.<br />
Архитекторы тоже <em>должны писать код</em>. Но это уже другая история&#8230;</p>
<p>Приминение ООП уже никого не пугает/удивляет. Правда, даже в таких ООП-шных языках как Java иногда можно встретить кучу классов с открытыми свойствами &#8211; как C-шные структуры, и кучу классов-менеджеров (SomeEntityManager,etc <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  с методами &#8211; как замена С-шным функциям.<br />
Окей, даже ознакомившись с пачкой шаблонов проектирования, и прочитав Александревску от корки до корки, можно напедалить кучу, в принципе, вменяемого кода, и вместе с этим офигенно усложнить архитектуру.</p>
<p>Хорошо, скажете вы, это все понятно, и что нужно делать?</p>
<p>- Не бойтесь создавать/менять архитектуру в целом:<br />
При стандартном раскладе у вас в проекте  &#8211; продукт побит на какие-то части(модули), если же продается-развертывается монолитная  система, это будут подсистеммы. Хорошо, когда эти модули выполняют  совсем различные задачи и их можно по отдельности легко менять (если у вас всего этого еще нет, возмите чистый листочек, ручку, и подумайте как нарезать такие модули из существующей системы).  Даже в обычном приложении можно стремиться к shared nothing architecture со строительных блоков которых можно   будет собирать что угодно.В идеале, должен будет появиться boot-loader process, который будет регистриоровать модули и дергать за их ниточки, и набор библиотек или программ-модулей.</p>
<p>Хорошо, теперь имея модули:<br />
- продумайте архитектуру внутри модуля и его наружные интерфейсы:<br />
Что эти имеют общего в целом? какие у них общие интерфейсы, life cycles?</p>
<p>- необходимо создать общий интерфейс для модулей.<br />
Посмотрите на составляющие модуля. Конечно, внутри модуля может быть реализованно что угодно,в зависимости от прикладной области.  Но постарайтесь определить компоненты одного ранга, важности и сгруппировать их каким-либо образом(паттерны, или карандаш с ручкой вам в помощь).</p>
<p>Вот так, в упрощенном варианте, применив эти 2 шага, вы сможете выделить кучу отдельных строительных блоков.<br />
Вы сможете лучше <em>понять </em>свой продукт и направления его развития. При поступлении нового запроса на разработку функционала вы сможете сказать, почесав за ухом &#8211; мы это сделаем в виде отдельного модуля, или компоненты.</p>
<p>Зачем это все нужно?<br />
Да затем что:<br />
- Ваш продукт станет стройнее, вернувшись через пол года к какому-то куску кода, вам не нужно будет перелопачивать 50-60 классов, чтобы понять где и что зарыто, вы будете серфить одну из 4-5 подсистемм, которая будет состоять из 10 классов, что намного проще. Вы ПОБЕДИТЕ в борьбе со<br />
сложностью.<br />
- Цена-усилия на разработку уменьшатся, ведь для исправления/разработки какой-то фичи можно будет доверить не только старожилу, но и новому учаснику в команде,<br />
которому не нужно будет много знаний об архитектуре проекта чтобы приступить к работе.<br />
- Цена-усилия на тестирование уменьшатся, ведь внося изменения в какой-то отдельный модуль, уже будет сложнее все поламать, будет меньше сковзных<br />
зависимостей и ситуаций, когда меняешь в одном месте, а вылазит в другом.</p>
<p>В завершение, приведу последнюю аллегорию &#8211; архитектура для продукта, как физическая форма для спортсмена. В плохой форме спортсмен не сможет быстро бегать, быть выносливым к травмам, и уж тем более наращивать силу. Спортсмены достигают хорошей формы посредством тренировок. Вот и мы, хотя бы иногда &#8211; должны придирчиво осматривать продукт, оценивая его физическую форму.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/04/14/%d0%be%d0%b1-%d0%b0%d1%80%d1%85%d0%b8%d1%82%d0%b5%d0%ba%d1%82%d1%83%d1%80%d0%b5-%d0%b8-%d1%81%d1%82%d1%80%d0%be%d0%b8%d1%82%d0%b5%d0%bb%d1%8c%d1%81%d1%82%d0%b2%d0%b5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Details of Flickr DB Architecture</title>
		<link>http://blog.alexzender.com/2008/04/01/some-details-of-flickr-db-architecture/</link>
		<comments>http://blog.alexzender.com/2008/04/01/some-details-of-flickr-db-architecture/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 17:00:00 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=28</guid>
		<description><![CDATA[Here is the article that describes how Flickr uses MySQL for its needs.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bytebot.net/blog/archives/2007/04/25/federation-at-flickr-a-tour-of-the-flickr-architecture">Here</a> is the article that describes how Flickr uses MySQL for its needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/04/01/some-details-of-flickr-db-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>English-Russian Translation using Google Talk</title>
		<link>http://blog.alexzender.com/2008/03/13/english-russian-translation-using-google-talk/</link>
		<comments>http://blog.alexzender.com/2008/03/13/english-russian-translation-using-google-talk/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 11:23:00 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=27</guid>
		<description><![CDATA[For a long time I&#8217;ve been using Lingvo on Windows, despite the fact that it&#8217;s not able to translate some words from modern english. On Linux it was Google Translate.  Though, it&#8217;s boring sometimes to do the round trip:  Open new tab in FF -&#62; go to google transate -&#62; pick necessary translation direction -&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>For a long time I&#8217;ve been using Lingvo on Windows, despite the fact that it&#8217;s not able to translate some words from modern english.</p>
<p>On Linux it was Google Translate.  Though, it&#8217;s boring sometimes to do the round trip:  Open new tab in FF -&gt; go to google transate -&gt; pick necessary translation direction -&gt; translate -&gt; return to your work.</p>
<p>Thanks God, recently I surfed  and found <a href="http://blogoscoped.com/archive/2007-12-19-n41.html">Google Talk Translation Bots</a> post.</p>
<p>Now I have two guys sitting in my contact list &#8211; en2ru@bot.talk.google.com and ru2en@bot.talk.google.com</p>
<p>So, whenever I want to translate something I can speak to them either in Gmail or GTalk client.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/03/13/english-russian-translation-using-google-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poster of Http Headers Flow</title>
		<link>http://blog.alexzender.com/2008/03/12/poster-of-http-headers-flow/</link>
		<comments>http://blog.alexzender.com/2008/03/12/poster-of-http-headers-flow/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 12:17:31 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=26</guid>
		<description><![CDATA[Discovered a nice poster here]]></description>
			<content:encoded><![CDATA[<p align="left">Discovered a nice poster <a href="http://thoughtpad.net/alan-dean/http-headers-status.html">here</a></p>
<p><a href="http://thoughtpad.net/alan-dean/http-headers-status.gif" target="new"><img src="http://thoughtpad.net/alan-dean/http-headers-status.gif" alt="Http Headers Flow" align="middle" border="0" width="800" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/03/12/poster-of-http-headers-flow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Аналоги Windows-программ в Ubuntu</title>
		<link>http://blog.alexzender.com/2008/03/07/%d0%b0%d0%bd%d0%b0%d0%bb%d0%be%d0%b3%d0%b8-windows-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%b2-ubuntu/</link>
		<comments>http://blog.alexzender.com/2008/03/07/%d0%b0%d0%bd%d0%b0%d0%bb%d0%be%d0%b3%d0%b8-windows-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%b2-ubuntu/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 19:28:19 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=25</guid>
		<description><![CDATA[Встретил прикольную довольно большую таблицу соответсвтий здесь]]></description>
			<content:encoded><![CDATA[<p>Встретил прикольную довольно большую таблицу соответсвтий <a href="http://www.vidos.ru/index.php?name=Pages&amp;op=page&amp;pid=28">здесь</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/03/07/%d0%b0%d0%bd%d0%b0%d0%bb%d0%be%d0%b3%d0%b8-windows-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%b2-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Амазон как платформа &#8211; интервью с Amazon&#8217;s CTO Werner Vogels</title>
		<link>http://blog.alexzender.com/2008/02/27/%d0%b0%d0%bc%d0%b0%d0%b7%d0%be%d0%bd-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%bb%d0%b0%d1%82%d1%84%d0%be%d1%80%d0%bc%d0%b0-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%b2%d1%8c%d1%8e-%d1%81-amazons-cto-werner-vogels/</link>
		<comments>http://blog.alexzender.com/2008/02/27/%d0%b0%d0%bc%d0%b0%d0%b7%d0%be%d0%bd-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%bb%d0%b0%d1%82%d1%84%d0%be%d1%80%d0%bc%d0%b0-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%b2%d1%8c%d1%8e-%d1%81-amazons-cto-werner-vogels/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 13:36:37 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[distributed computing]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=24</guid>
		<description><![CDATA[Многие слышали о технологиях которые используют Google, Microsoft, Yahoo у себя внутри. В основном, это благодаря количеству усилий, которые они тратят на популяризацию себя. Многие другие популярные ресурсы также имеют свои технологии, разработанные in-house, некоторые со временем выпускают их в мир(как например LiveJournal&#8217;s Memcached) Одним из таких интересных ресурсов является Amazon.com. Недавно я встретил интервью [...]]]></description>
			<content:encoded><![CDATA[<p>Многие слышали о технологиях которые используют Google, Microsoft, Yahoo у себя внутри.<br />
В основном, это благодаря количеству усилий, которые они тратят на популяризацию себя.<br />
Многие другие популярные ресурсы также имеют свои технологии, разработанные in-house, некоторые со временем выпускают их в мир(как например LiveJournal&#8217;s Memcached)</p>
<p>Одним из таких интересных ресурсов является Amazon.com. Недавно я встретил интервью с Werner Vogels на acmqueue.com &#8211; где описывается их путь от книжной лавки к компании которая является драйвером инноваций(публичные сервисы S3, EC2,etc)</p>
<p>Существует два пути разработки архитектуры продуктов: при использовании первого &#8211; создается простой сервис который будет работать на одной-двух машинах.Если такой сервис выстреливает &#8211; начинается усиленная работа над масштабированием узких мест.<br />
Второй путь &#8211; изначально закладывать требования масштабирования при разработке. Это, конечно требует некоторого опыта, но потом будет легче.</p>
<p>Вернер, конечно, рассказывает о вещах которые ни для кого теперь не являются секретом, но из его интервью можно выделить:</p>
<ul>
<li> При разработке масштабируемых систем важно придерживаться сервис-ориентированной архитектуры, это значительно все упрощает.</li>
</ul>
<ul>
<li> Также важно чтобы каждая часть продукта была децентрализованной &#8211; режем продукт на части, каждую часть закрываем в черный ящик, в черном ящике пробиваем дырки &#8211; веб-интерфейсы &#8211; методы доступа к этой части. Теперь каждая часть может жить своей личной жизнью и развиваться без проблемм &#8211; ну, почти без проблемм <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Таким образом мы получаем loosely coupled services model</li>
</ul>
<ul>
<li> Очень хорошо сформулировал, что при разработке важно не создавать технологию ради технологии, а создавать технологию чтобы помочь заказчику. Ведь технология без пользователей бесполезна</li>
</ul>
<ul>
<li> У них большая экспертиза в отслеживании поведения пользователя. При вводе новых фич они отслеживают фидбек через изменения в поведении пользователей &#8211; некоторые фичи люди начинают исопльзовать сразу же, другие отвергают сразу же, к некоторым необходимо им привыкнуть &#8211; такие случаи отслеживать труднее&#8230; В лубом случае &#8211; для он-лайн сервиса мониторинг действий пользователя, профайлинг своей системы при этом &#8211; очень хорошая идея.</li>
</ul>
<p>В заключение, приведу список challenges которые привел Вернер &#8211; он мне понравился полнотой описания:<br />
larger data sets, faster update rates, more requests, more services, tighter SLAs (service-level agreements), more failures, more latency challenges, more service interdependencies, more developers, more documentation, more programs, more servers, more networks, more data centers.</p>
<p align="left"><a href="http://www.acmqueue.com/modules.php?name=Content&amp;pa=showpage&amp;pid=388&amp;page=1">Полная версия статьи здесь</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/27/%d0%b0%d0%bc%d0%b0%d0%b7%d0%be%d0%bd-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%bb%d0%b0%d1%82%d1%84%d0%be%d1%80%d0%bc%d0%b0-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%b2%d1%8c%d1%8e-%d1%81-amazons-cto-werner-vogels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inside MySQL</title>
		<link>http://blog.alexzender.com/2008/02/24/inside-mysql/</link>
		<comments>http://blog.alexzender.com/2008/02/24/inside-mysql/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 22:18:13 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[internals]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=23</guid>
		<description><![CDATA[Majority of us knows that databases are read-optimized products and most of them are not optimized for writes. In this post I would like to describe what&#8217;s going on under the hood of mysql that can help us to find origins of some well-known rules. So, let&#8217;s start with MySQL MyIsam table: - MyIsam tables [...]]]></description>
			<content:encoded><![CDATA[<p>Majority of us knows that databases are read-optimized products and most of them are not optimized for writes.</p>
<p>In this post I would like to describe what&#8217;s going on under the hood of mysql that can help us to find origins of some well-known rules.</p>
<p>So, let&#8217;s start with MySQL MyIsam table:</p>
<p>- MyIsam tables caches only key data structures in memory and let OS caching mechanism to cope with data. Truly, particularly Linux is good at it at some point(Also MyIsam has read-ahead buffer for data). So, if insert/update query updates key data structure, MyIsam will flush key data on the disk. It slows down a whole process. To avoid this you can tweak mysql&#8217;s configuration to delay key writes.</p>
<p>- MyIsam comes with a very simple locking mechanism &#8211; it&#8217;s its table-level locking. So, when user writes data, another one won&#8217;t be able to read any row till the end of transaction. Okay, you can say, if insert time is relatively short, we can wait. So, let us see how MyIsam inserts record into a table: Firstly, it scans a table area and tries to find previously deleted row and re-use its room. If no deleted row was found, it appends data to the end of the table. So, if the space is not as important as execution time, you can speed it up telling database to append data to the end of table immediately and disable scans.</p>
<p>For the bulk data management, it&#8217;s good to create a table without indices first and import data. Once the import process is finished you can create indices. If you need to append large amount of data to production machine, you can do hot replacement:  prepare such table and send signal to application to use another table instead of old one(the type of signal depends on your application architecture: IPC, record in database with polling on application side,etc)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/24/inside-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web-based Grid Computing</title>
		<link>http://blog.alexzender.com/2008/02/12/web-based-grid-computing/</link>
		<comments>http://blog.alexzender.com/2008/02/12/web-based-grid-computing/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 11:24:50 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[distributed computing]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=22</guid>
		<description><![CDATA[The article at codeproject describes framework that uses client-side Silverpoint CLR to implement web-based volunteer grid computing. Not a cool one, but the idea&#8217;s interesting. Taking into account dramatic grouth of AJAX popularity and its adoption by a community, the paradigm shift towards grid-computing-in-the-browser is quite possible.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codeproject.com/KB/silverlight/GridComputing.aspx">The article at codeproject</a> describes framework that uses client-side Silverpoint CLR to implement web-based v<span name="intelliTxt" id="intelliTXT">olunteer grid computing. Not a cool one, but the idea&#8217;s interesting.</span></p>
<p><span name="intelliTxt">Taking into account dramatic grouth of AJAX popularity and its adoption by a community, the paradigm shift towards grid-computing-in-the-browser is quite possible.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/web-based-grid-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yahoo! launches 4,000 processor supercomputer availble for researchers</title>
		<link>http://blog.alexzender.com/2008/02/12/yahoo-launches-4000-processor-supercomputer-availble-for-researchers/</link>
		<comments>http://blog.alexzender.com/2008/02/12/yahoo-launches-4000-processor-supercomputer-availble-for-researchers/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 11:24:08 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[distributed computing]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=21</guid>
		<description><![CDATA[It&#8217;s a cool platform for distributed computing and research. Just check out the numbers: approximately 4,000 processors, three terabytes of memory, 1.5 petabytes of disks, peak performance of more than 27 trillion calculations per second (27 teraflop). -Source]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a cool platform for distributed computing and research.</p>
<p>Just check  out the numbers:</p>
<p>approximately 4,000 processors, three terabytes of memory, 1.5 petabytes of disks,  peak performance of more than 27 trillion calculations per second (27 teraflop).</p>
<p><a href="http://www.linuxelectrons.com/news/application/14364/yahoo-launches-program-advance-open-source-software-distributed-computing">-Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/yahoo-launches-4000-processor-supercomputer-availble-for-researchers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Machine Architecture: Things Your Programming Language Never Told You (by Herb Sutter)</title>
		<link>http://blog.alexzender.com/2008/02/12/machine-architecture-things-your-programming-language-never-told-you-by-herb-sutter/</link>
		<comments>http://blog.alexzender.com/2008/02/12/machine-architecture-things-your-programming-language-never-told-you-by-herb-sutter/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 11:23:13 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[internals]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=20</guid>
		<description><![CDATA[On September 19, 2007 Heb Sutter did a presentation on a subject at MS. Snippet from description: High-level languages insulate the programmer from the machine. That’s a wonderful thing &#8212; except when it obscures the answers to the fundamental questions of “What does the program do?” and “How much does it cost?” The C++/C#/Java programmer [...]]]></description>
			<content:encoded><![CDATA[<p>On September 19, 2007 Heb Sutter did a presentation on a subject at MS.</p>
<p>Snippet from description:</p>
<blockquote><p>High-level languages insulate the programmer from the machine. That’s a wonderful thing &#8212; except when it obscures the answers to the fundamental questions of “What does the program do?” and “How much does it cost?”</p>
<p>The C++/C#/Java programmer is less insulated than most, and still we find that programmers are consistently surprised at what simple code actually does and how expensive it can be &#8212; not because of any complexity of a language, but because of being unaware of the complexity of the machine on which the program actually runs.</p>
<p>This talk examines the “real meanings” and “true costs” of the code we write&#8230;</p></blockquote>
<p>Video of the presentation at <a href="http://video.google.com/videoplay?docid=-4714369049736584770">google video</a>:</p>
<p><embed src="http://video.google.com/googleplayer.swf?docId=-4714369049736584770&amp;hl=en" style="width: 400px; height: 326px" id="VideoPlayback" type="application/x-shockwave-flash"></embed>You can <a href="http://www.nwcpp.org/Downloads/2007/Machine_Architecture_-_NWCPP.pdf">download presentation here</a></p>
<blockquote>
<blockquote></blockquote>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/machine-architecture-things-your-programming-language-never-told-you-by-herb-sutter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desktop Cube on Ubuntu Gutsy</title>
		<link>http://blog.alexzender.com/2008/02/12/desktop-cube-on-ubuntu-gutsy/</link>
		<comments>http://blog.alexzender.com/2008/02/12/desktop-cube-on-ubuntu-gutsy/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 11:20:09 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=19</guid>
		<description><![CDATA[Almost everyone posted news on Ubuntu Gutsy. New enhanced desktop, flash support in firefox and etc. I decided to give it a try, and&#8230; spent a lot of time playing with cube, visual effects and so on. Yeah, it&#8217;s fancy but eventually I&#8217;ll switch it off and get back to work . IMHO the most [...]]]></description>
			<content:encoded><![CDATA[<p>Almost everyone posted news on Ubuntu Gutsy. New enhanced desktop, flash support in firefox and etc.<br />
I decided to give it a try, and&#8230; spent a lot of time playing with cube, visual effects and so on. Yeah, it&#8217;s fancy but eventually I&#8217;ll switch it off and get back to work <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . IMHO the most useful thing is native nvidia-glx out-of-the-box support and wireless networking(the same restricted drivers as on 7.04). I didn&#8217;t try it on 7.04 since I had handmade kernel and drivers<br />
to try this tasy thing you need to install config utility first:</p>
<blockquote><p>apt-get install compizconfig-settings-manager</p></blockquote>
<p><a href="http://www.youtube.com/watch?v=E4Fbk52Mk1w">See nice demo on youtube</a></p>
<p><object height="350" width="425"><param name="movie" value="http://www.youtube.com/v/E4Fbk52Mk1w"></param><param name="wmode" value="transparent"></param></object></p>
<p><embed src="http://www.youtube.com/v/E4Fbk52Mk1w" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"></embed><a href="http://forlong.blogage.de/article/2007/8/29/How-to-set-up-Compiz-Fusion">you can also read this detailed tutorial</a><span style="font-weight: bold"><font size="-1"> </font></span><span style="font-weight: bold"><font size="-1">Rotate the cube<br />
</font> </span><font size="-1"><span id="comment_invisible_159" class="comment_invisible" style="opacity: 1; display: inline">Usage: CTRL + ALT + LEFT ARROW  (or RIGHT ARROW)<br />
</span>or press </font><font size="-1"><span id="comment_invisible_159" class="comment_invisible" style="opacity: 1; display: inline">CTRL</span></font><font size="-1"> + ALT + drag LEFT-mouse pointer on the taskbar or desktop surface.<span style="font-weight: bold"><br />
</span><br />
<span style="font-weight: bold">Task switcher</span><br />
I like the &#8220;Ring Switch&#8221; plugin a lot. It&#8217;s under the &#8220;Window Management&#8221; category (see <a href="http://www.futuredesktop.com/images/gutsy/picture_10e.jpg">picture_10e</a>).<br />
Usage:  <span style="font-weight: bold">Super</span> + TAB to activate ring task switcher.  I believe that the <span style="font-weight: bold">Super</span> key is also called Window key. The ordinary task switcher is still ALT + TAB.</font><span style="font-weight: bold"><font size="-1">Task overview<br />
</font></span><font size="-1">Usage: Move the mouse pointer sharply beyond upper, right corner of the screen.<br />
I usually make a rapid mouse movement towards (and slightly beyond) the upper, right corner of screen.<br />
<span style="font-weight: bold"></span><br />
<span style="font-weight: bold">Flat desktop overview<br />
</span><span id="comment_invisible_159" class="comment_invisible" style="opacity: 1; display: inline">Usage: CTRL + ALT + ARROW DOWN.<br />
Move from desktop to desktop by pressing ARROW LEFT /<span style="font-weight: bold"> </span>RIGHT.</span></font><span style="font-weight: bold"><font size="-1">Change opacity / transparency of a window</font></span><font size="-1"><br />
Usage: ALT + roll the MOUSE WHEEL on the window&#8217;s title bar.<br />
I usually point at the titlebar and roll with the middle mouse button (which is a wheel button). </font><font size="-1">My keyboard has also a wheel button which works similarly.</font><br />
<font size="-1"><br />
<span style="font-weight: bold">Maginify (zoom) </span><br />
Usage: <span style="font-weight: bold">Super</span> key + roll the </font><font size="-1">MOUSE WHEEL</font><font size="-1"> on a window or desktop.<br />
Again, in my case the mouse wheel is the middle mouse button.</font><span style="font-weight: bold"><font size="-1">Window preview on the taskbar</font></span><font size="-1"><br />
If you want to see a small window preview in the taskbar, select the &#8220;Window Previews&#8221; option under &#8220;Extras&#8221; category in ccsm. See </font><font size="-1"><a href="http://www.futuredesktop.com/images/gutsy/picture_10ee.jpg">picture_10ee..</a>.</font><br />
<font size="-1"><br />
<span style="font-weight: bold">Move a window </span>(actually this is an ordinary GNOME thing)<br />
Press ALT +  drag LEFT mouse button on the window (eg. middle of the window) to move it.</font></p>
<p><span style="font-weight: bold"><font size="-1">Some fancy effects with basic elements; fire and water !<br />
</font></span><font size="-1">Start the <span style="font-weight: bold">ccsm</span> and browse to &#8220;<span style="font-weight: bold">Effects</span>&#8221; category.<span style="font-weight: bold"></span><br />
Activate eg. the &#8220;Cube Gears&#8221;, &#8220;Water Effects&#8221; and &#8220;Paint fire on the screen&#8221; effects.</font></p>
<p><font size="-1">&#8220;Cube Gears&#8221; is visible inside when you rotate the cube. The cube must be partly transparent (ref. step 10d).</font></p>
<p><font size="-1">&#8220;Water Effects&#8221; starts and stops by pressing SHIFT + F9 keys.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/desktop-cube-on-ubuntu-gutsy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Материалы с HighLoad.Ru</title>
		<link>http://blog.alexzender.com/2008/02/12/%d0%bc%d0%b0%d1%82%d0%b5%d1%80%d0%b8%d0%b0%d0%bb%d1%8b-%d1%81-highloadru/</link>
		<comments>http://blog.alexzender.com/2008/02/12/%d0%bc%d0%b0%d1%82%d0%b5%d1%80%d0%b8%d0%b0%d0%bb%d1%8b-%d1%81-highloadru/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 11:18:30 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[distributed computing]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=18</guid>
		<description><![CDATA[24 и 25 сентября в Москве прошла конференция посвященная высоконагрузочным системам. Часть докладов уже доступна на RuTube. Не буду дублировать все доклады, приведу лишь те, что успел просмотреть и мне понравились: Anatolix рассказал о трудностях с которыми сталкивались в Яндексе при борьбе с высокими нагрузками. http://rutube.ru/tracks/197396.html?v=377843ff9b0f9eec261b9b8378e238d7 Большинство проблем в принципе классические в Information Retrieval, +/- [...]]]></description>
			<content:encoded><![CDATA[<p>24  и 25 сентября в Москве прошла конференция посвященная высоконагрузочным системам.</p>
<p>Часть докладов уже <a href="http://highload1.rutube.ru/">доступна на RuTube</a>. Не буду дублировать все доклады, приведу лишь те, что успел просмотреть и мне понравились:</p>
<ol>
<li><a href="http://anatolix.livejournal.com">Anatolix</a> рассказал о трудностях с которыми сталкивались в Яндексе при борьбе с высокими нагрузками.<br />
<a href="http://rutube.ru/tracks/197396.html?v=377843ff9b0f9eec261b9b8378e238d7"> http://rutube.ru/tracks/197396.html?v=377843ff9b0f9eec261b9b8378e238d7</a><br />
Большинство проблем в принципе классические в Information Retrieval, +/- специфика архитектуры Яндекса. Мне было интересно послушать некоторые моменты о развитии ресурса &#8211; например, как извращались разработчики, когда потоки еще не были реализованы во FreeBSD <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<object height="353" width="400"><param name="movie" value="http://video.rutube.ru/377843ff9b0f9eec261b9b8378e238d7"></param><param name="wmode" value="window"></param><param name="allowFullScreen" value="true"></param><embed src="http://video.rutube.ru/377843ff9b0f9eec261b9b8378e238d7" type="application/x-shockwave-flash" wmode="window" allowfullscreen="true" height="353" width="400"></embed></object></li>
<li><a href="http://rutube.ru/tracks/197475.html?v=c854190386a8288034554fbb72d794b2">Тюнинг операционных систем. Дмитрий Лоханский</a>. Толковый доклад, инетересен тем что технический человек постарался рассказать о сложностях на обычном, доступном языке <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Мне понравились идеи монтирования куска оперативной памяти в /tmp директорию для ускорения создания временных таблиц mysql, а также отключение свопирования процессов.  ИМХО если было бы больше времени, можно было включить в доклад описание некоторых нюансов из проблемы <a href="http://www.kegel.com/c10k.html">C10K </a> <object height="353" width="400"><param name="movie" value="http://video.rutube.ru/c854190386a8288034554fbb72d794b2"></param><param name="wmode" value="window"></param><param name="allowFullScreen" value="true"></param><embed src="http://video.rutube.ru/c854190386a8288034554fbb72d794b2" type="application/x-shockwave-flash" wmode="window" allowfullscreen="true" height="353" width="400"></embed></object></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/%d0%bc%d0%b0%d1%82%d0%b5%d1%80%d0%b8%d0%b0%d0%bb%d1%8b-%d1%81-highloadru/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full-Text Search in MySql and the Minimum Indexed Word Length</title>
		<link>http://blog.alexzender.com/2008/02/12/full-text-search-in-mysql-and-the-minimum-indexed-word-length/</link>
		<comments>http://blog.alexzender.com/2008/02/12/full-text-search-in-mysql-and-the-minimum-indexed-word-length/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 11:17:32 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[databases]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=17</guid>
		<description><![CDATA[MySql comes with extremely useful feature full-text search. The minor thing that bored me was the minimum word length that mysql can index to. It was 4 letters by default on my machine. To change the value to desired one you need to: set ft_min_word_len variable up in my.ini file restart mysql ensure that the [...]]]></description>
			<content:encoded><![CDATA[<p>MySql comes with extremely useful feature full-text search.  The minor thing that bored me was the minimum word length that mysql can index to. It was 4 letters by default on my machine.</p>
<p>To change the value to desired one you need to:</p>
<ol>
<li> set <strong> ft_min_word_len</strong> variable up in my.ini file</li>
<li>restart mysql</li>
<li>ensure that the change was applied:<br />
<blockquote><p>SHOW VARIABLES LIKE &#8216;ft_min_word_len&#8217;</p></blockquote>
</li>
<li>rebuild table indices:<br />
<blockquote><p>ALTER TABLE Abc DROP INDEX `word_ind`, ADD FULLTEXT INDEX `word_ind`(`word`);</p></blockquote>
</li>
</ol>
<p>Detailed instructions could be found here &#8211;  http://dev.mysql.com/doc/refman/5.0/en/fulltext-fine-tuning.html</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/full-text-search-in-mysql-and-the-minimum-indexed-word-length/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To Realize&#8230;</title>
		<link>http://blog.alexzender.com/2008/02/12/to-realize/</link>
		<comments>http://blog.alexzender.com/2008/02/12/to-realize/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 10:58:00 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=16</guid>
		<description><![CDATA[&#160; To realize the value of ONE YEAR, ask a student who failed a grade To realize the value of ONE MONTH, ask a mother who gave birth to a premature baby. To realize the value of ONE WEEK, ask the editor of a weekly newspaper. To realize the value of ONE HOUR, ask the [...]]]></description>
			<content:encoded><![CDATA[<p class="paragraph">&nbsp;</p>
<p>To realize the value of ONE YEAR,<br />
ask a student who failed a grade</p>
<p>To realize the value of ONE MONTH,<br />
ask a mother who gave birth to a premature baby.</p>
<p class="paragraph"> To realize the value of ONE WEEK,<br />
ask the editor of a weekly newspaper.</p>
<p>To realize the value of ONE HOUR,<br />
ask the lovers who are waiting to meet</p>
<p class="paragraph"> To realize the value of ONE MINUTE,<br />
ask a person who missed the train</p>
<p>To realize the value of ONE SECOND,<br />
ask a person who just avoided an accident</p>
<p>To realize the value of ONE MILLISECOND,<br />
ask the person who won a silver medal in the Olympics</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/to-realize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Which podcasts to listen to?</title>
		<link>http://blog.alexzender.com/2008/02/12/which-podcasts-to-listen-to/</link>
		<comments>http://blog.alexzender.com/2008/02/12/which-podcasts-to-listen-to/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 10:18:16 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=15</guid>
		<description><![CDATA[http://channel9.msdn.com/rss.aspx?ShowID=13&#38;format=mp3 Dot Net Rocks Hanselminutes Dr Neil&#8217;s Notes Fly With Me (Joe D&#8217;On &#8211; pilot in the US) Fly With Me X (extra bits) Betty In The Sky With A Suitcase (flight attendant) Inside the Net (I like the interviews with web 2 startups &#8211; Leo Laporte and Amber Macarthur) Mark Kermode&#8217;s film reviews (from Five [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://channel9.msdn.com/rss.aspx?ShowID=13&amp;format=mp3"><span class="nobr"></span></a><a href="http://channel9.msdn.com/rss.aspx?ShowID=13&amp;amp;format=mp3" target="_blank">http://channel9.msdn.com/rss.aspx?ShowID=13&amp;format=mp3</a><img src="images/external_link.gif" /></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://www.dotnetrocks.com">Dot Net Rocks</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://www.hanselminutes.com">Hanselminutes</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://feeds.feedburner.com/DrNeilsNotes">Dr Neil&#8217;s Notes</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://feeds.feedburner.com/flywithme">Fly With Me</a> (Joe D&#8217;On &#8211; pilot in the US)</font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://feeds.feedburner.com/fwmx">Fly With Me X</a> (extra bits)</font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://betty.libsyn.com">Betty In The Sky With A Suitcase</a> (flight attendant)</font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://leoville.tv/podcasts/itn.xml">Inside the Net</a> (I like the interviews with web 2 startups &#8211; Leo Laporte and Amber Macarthur)</font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://downloads.bbc.co.uk/rmhttp/downloadtrial/fivelive/markkermodesfilmreviews">Mark Kermode&#8217;s film reviews</a> (from Five Live and Simon Mayo at the BBC)</font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://millahseconds.com">Milahseconds</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://mondays.pwop.com">Mondays</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://www.newscientist.com/podcastfeed.ns">New Scientist Podcast</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://feeds.feedburner.com/OntherunWithTabletPcsPodcast">On The Run With Tablet PC&#8217;s</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://polymorphicpodcast.com/podcast/feed">Polymorphic Podcast</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://thesmartestman.com">Rory Blyth: The Smartest Man In The World</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://leo.am/podcasts/sn">Security Now </a>(pretty opinionated and often flawed &#8211; Steve Gibson from GRC with Leo Laporte)</font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://www.sqldownunder.com">SQL Down Under</a> (particularly like this one <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://www.scalabledevelopment.com/ftp/ScalabilityWithDotNet.xml">The ASP.NET Podcast with Wally McClure and Paul Glavich</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://feeds.pirillo.com/ChrisPirilloShow">The Chris Pirillo Show</a></font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://feeds.feedburner.com/themovieblog">The Movie Blog</a> (US-based with a Canadian stand-up comedian too)</font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://channel9.msdn.com/rss.aspx?ShowID=13&amp;format=mp3">The Voice Of Support</a> (MS PSS)</font></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><a href="http://msdev.thepodcastnetwork.com/feed">The Microsoft Developer Show</a> (Nick Randolph)</font></span></p>
<p align="left"><span class="046355903-15122006"></span></p>
<p align="left"><span class="046355903-15122006"><font color="#0000ff" face="Arial" size="2"><span class="nobr"><a href="http://techtalkblogs.com/blog/archive/2006/12/18/814.aspx">Source</a></span> &#8211; </font></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/which-podcasts-to-listen-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon EC2 gotchas</title>
		<link>http://blog.alexzender.com/2008/02/12/amazon-ec2-gotchas/</link>
		<comments>http://blog.alexzender.com/2008/02/12/amazon-ec2-gotchas/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 10:16:25 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=14</guid>
		<description><![CDATA[Today I meet a strange one working with ec2 using command line tools. Each request could not be executes and I received each time Unknown host: &#8216;https://ec2.amazonaws.com&#8217; Nslookup gave me: Non-authoritative answer: Name: ec2.amazonaws.com Address: 72.21.210.54 And finally, traceroute died with &#8220;Request timed out&#8221; message. After some digging I found a workaround export EC2_URL=https://72.21.210.54  Now [...]]]></description>
			<content:encoded><![CDATA[<p class="first">Today I meet a strange one working with ec2 using command line tools.</p>
<p>Each request could not be executes and I received each time  Unknown host: &#8216;https://ec2.amazonaws.com&#8217;</p>
<p>Nslookup gave me:</p>
<p>Non-authoritative answer:</p>
<p>Name:    ec2.amazonaws.com</p>
<p>Address:  72.21.210.54</p>
<p>And finally, traceroute died with &#8220;Request timed out&#8221; message.</p>
<p>After some digging I found a workaround</p>
<p><strong class="bold">export EC2_URL=https://72.21.210.54</strong></p>
<p class="paragraph"> Now it works perfectly fine</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/amazon-ec2-gotchas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data clustering methods</title>
		<link>http://blog.alexzender.com/2008/02/12/data-clustering-methods/</link>
		<comments>http://blog.alexzender.com/2008/02/12/data-clustering-methods/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 10:15:14 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=13</guid>
		<description><![CDATA[For hierarchical clustering have a look at this resource Browsing the web I met interesting open source framework for search clustering engines. here is their table of algos (Original source) &#160; .algorithms, .algorithms td { border:1px solid silver; } Algorithm Author Speed s* Hierarchical clustering Other features Example results 100 200 400 FuzzyAnts Steven Schockaert [...]]]></description>
			<content:encoded><![CDATA[<p class="first">For hierarchical clustering have a look at <span class="nobr"><a href="http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/2/16967/00781637.pdf?arnumber=781637">this resource</a></span></p>
<p>Browsing the web I met interesting open source framework for search clustering engines.<br />
here is their table of algos (<span class="nobr"><a href="http://project.carrot2.org/algorithms.html">Original source</a></span>)</p>
<p class="paragraph">&nbsp;</p>
<style type="text/css">
.algorithms, .algorithms td
{
border:1px solid silver;
}
</style>
<table class="algorithms">
<tr>
<th rowspan="2">Algorithm</th>
<th rowspan="2" style="width: 20%">Author</th>
<th colspan="3">Speed s*</th>
<th rowspan="2">Hierarchical<br />
clustering</th>
<th rowspan="2" style="width: 25%">Other features</th>
<th rowspan="2">Example results</th>
</tr>
<tr>
<th>100</th>
<th>200</th>
<th>400</th>
</tr>
<tr>
<td>FuzzyAnts</td>
<td>Steven Schockaert</td>
<td>2.17</td>
<td>8.70</td>
<td>16.93</td>
<td>yes</td>
<td></td>
<td><a href="http://demo.carrot2.org/demo-stable/search?q=london&amp;in=Yahoo%21&amp;s=100&amp;alg=FuzzyAnts+%28%2BEnglish%29&amp;opts=h">london</a></td>
</tr>
<tr>
<td>HAOG-STC</td>
<td>Karol GoЕ&#8217;embniak</td>
<td>0.04</td>
<td>0.11</td>
<td>0.28</td>
<td>yes</td>
<td></td>
<td><a href="http://demo.carrot2.org/demo-stable/search?q=london&amp;in=Yahoo%21&amp;s=100&amp;alg=HAOG-STC+%28%2BEnglish%29&amp;opts=h">london</a></td>
</tr>
<tr>
<td>Lingo**</td>
<td>Stanislaw Osinski</td>
<td>0.34</td>
<td>0.52</td>
<td>0.84</td>
<td>no</td>
<td>multilingual clustering</td>
<td><a href="http://demo.carrot2.org/demo-stable/search?q=london&amp;in=Yahoo%21&amp;s=100&amp;alg=Lingo&amp;opts=h">london</a></td>
</tr>
<tr>
<td>Rough k-means</td>
<td>Ngo Chi Lang</td>
<td>1.38</td>
<td>6.76</td>
<td>27.73</td>
<td>no</td>
<td></td>
<td><a href="http://demo.carrot2.org/demo-stable/search?q=london&amp;in=Yahoo%21&amp;s=100&amp;alg=Rough+k-Means&amp;opts=h">london</a></td>
</tr>
<tr>
<td>STC</td>
<td>Oren Zamir<br />
(impl: Dawid Weiss)</td>
<td>0.04</td>
<td>0.10</td>
<td>0.23</td>
<td>no</td>
<td></td>
<td><a href="http://demo.carrot2.org/demo-stable/search?q=london&amp;in=Yahoo%21&amp;s=100&amp;alg=STC+%28%2BEnglish%29&amp;opts=h">london</a></td>
</tr>
<tr>
<td>Lingo3G***</td>
<td>StanisЕ&#8217;aw OsiЕ&#8221;ski<br />
(Carrot Search)</td>
<td>0.03</td>
<td>0.06</td>
<td>0.13</td>
<td>yes</td>
<td>multilingual clustering, synonyms, advanced tuning, scalability (5000 snippets in 1.3s*)</td>
<td><a href="http://demo.carrot-search.com/carrot2-webapp/search?q=london&amp;in=Yahoo%21&amp;s=200&amp;alg=Lingo+3G&amp;opts=h">london</a></td>
</tr>
</table>
<p style="margin-top: 2ex; margin-bottom: 2ex">&nbsp;</p>
<p class="paragraph">&nbsp;</p>
<p>*) Clustering speed measurements were done for 100, 200, 400 snippets<br />
downloaded from Yahoo! for query &#8216;london&#8217;, using the Carrot<sup>2</sup><br />
standalone GUI application. Benchmark environment: Pentium M 1.3 GHz, 768<br />
MB RAM, Windows XP. Java Virtual Machine: Sun JDK 1.4.2, JVM switches:<br />
-Xmx512m -Xms128m -XX:NewRatio=1 -server. Time presented in the table is<br />
an average of 75 runs, for each algorithm time measurement was followed<br />
by 25 untimed warm-up runs.</p>
<p style="margin-bottom: 2ex">       **) Lingo is the default clustering algorithm used in the<br />
Carrot<sup>2</sup> live demos.</p>
<p class="paragraph">       ***) <a href="http://company.carrot-search.com/lingo-applications.html">Lingo3G</a> is a<br />
commercial <a href="http://demo.carrot-search.com">document clustering<br />
engine</a> and is not available in the Open<br />
Source part of Carrot<sup>2</sup>. Please contact<br />
<a href="http://company.carrot-search.com/">Carrot Search</a> for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/data-clustering-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real-Time Garbage Collection, Interview from JavaOne 2007</title>
		<link>http://blog.alexzender.com/2008/02/12/real-time-garbage-collection-interview-from-javaone-2007/</link>
		<comments>http://blog.alexzender.com/2008/02/12/real-time-garbage-collection-interview-from-javaone-2007/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 10:12:19 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=12</guid>
		<description><![CDATA[In most Java VM implementations, the garbage collector has the right to stop a thread in order to reclaim memory no longer used by that thread. Such garbage-collection pauses are the main reason threads running in a regular JVM cannot guarantee the exact timing of their execution&#8230; &#160; Original source &#8211; http://www.artima.com/lejava/articles/javaone_2007_realtime_gc.html mp3 podcast is [...]]]></description>
			<content:encoded><![CDATA[<p class="first">In most Java VM implementations, the garbage collector has the right to stop a thread in order to reclaim memory no longer used by that thread. Such garbage-collection pauses are the main reason threads running in a regular JVM cannot guarantee the exact timing of their execution&#8230;</p>
<p class="paragraph">&nbsp;</p>
<p>Original source &#8211; <span class="nobr"><a href="http://www.artima.com/lejava/articles/javaone_2007_realtime_gc.html" target="_blank">http://www.artima.com/lejava/articles/javaone_2007_realtime_gc.html</a></span></p>
<p>mp3 podcast is also available there.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/real-time-garbage-collection-interview-from-javaone-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Patent Search</title>
		<link>http://blog.alexzender.com/2008/02/12/google-patent-search/</link>
		<comments>http://blog.alexzender.com/2008/02/12/google-patent-search/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 10:11:07 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=11</guid>
		<description><![CDATA[Accidently met this resource surfing the web. http://www.google.com/patents A quite useful one, seems to me. E.g. you can have a look at such stuff as: System and hardware module for incremental real time garbage collection and memory management Packet processing system including a policy engine having a classification unit Type checking in java computing environments [...]]]></description>
			<content:encoded><![CDATA[<p class="first">Accidently met this resource surfing the web.</p>
<p><span class="nobr"><a href="http://www.google.com/patents" target="_blank">http://www.google.com/patents</a></span></p>
<p>A quite useful one, seems to me.<br />
E.g. you can have a look at such stuff as:</p>
<ol>
<li><span class="nobr"><a href="http://www.google.com/patents?id=8dsjAAAAEBAJ&amp;dq=c%2B%2B">System and hardware module for incremental real time garbage collection and memory management</a></span></li>
<li><span class="nobr"><a href="http://www.google.com/patents?id=Xm4GAAAAEBAJ&amp;dq=c%2B%2B">Packet processing system including a policy engine having a classification unit</a></span></li>
<li><span class="nobr"><a href="http://www.google.com/patents?vid=USPAT6948156&amp;id=K0IWAAAAEBAJ&amp;dq=Java">Type checking in java computing environments</a></span></li>
</ol>
<p><a href="http://www.google.com/patents?vid=USPAT6948156&amp;id=K0IWAAAAEBAJ&amp;dq=Java"> </a></p>
<ol>
<li><span class="nobr"><a href="http://www.google.com/patents?vid=USPAT6915520&amp;id=deEVAAAAEBAJ&amp;dq=Java">Java C++ proxy objects</a></span></li>
<li><span class="nobr"><a href="http://www.google.com/patents?vid=USPAT6804682&amp;id=NRgSAAAAEBAJ&amp;dq=refactoring">System and methodology providing compiler-assisted refactoring</a></span></li>
<li><span class="nobr"><a href="http://www.google.com/patents?vid=USPAT7003778&amp;id=X5B4AAAAEBAJ&amp;dq=java">Exception handling in java computing environments</a></span></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/google-patent-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Code Search &#8211; a wonderful way to find security wholes</title>
		<link>http://blog.alexzender.com/2008/02/12/google-code-search-a-wonderful-way-to-find-security-wholes/</link>
		<comments>http://blog.alexzender.com/2008/02/12/google-code-search-a-wonderful-way-to-find-security-wholes/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 10:09:34 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=10</guid>
		<description><![CDATA[It looks like I blog a lot on google . But today I found an interesting thing. For instance: you can find buffer overflows , one more example or backdoors Simple, doesn&#8217;t it? Yes, it simplifies a code inspection a lot…]]></description>
			<content:encoded><![CDATA[<p class="first">It looks like I blog a lot on google <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . But today I found an interesting thing.<br />
For instance:</p>
<ul class="minus">
<li>you can <span class="nobr"><a href="http://www.google.com/codesearch?q=buffer+%22should+be+big+enough%22">find buffer overflows <img src='http://blog.alexzender.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </a></span> , one more <span class="nobr"><a href="http://google.com/codesearch?hl=en&amp;lr=&amp;q=%22%5B128%5D%22&amp;btnG=Search">example</a></span></li>
<li>or <span class="nobr"><a href="http://google.com/codesearch?hl=en&amp;lr=&amp;q=%22backdoor+password%22+%28warning%7Cshell%29">backdoors</a></span></li>
</ul>
<p>Simple, doesn&#8217;t it? Yes, it simplifies a code inspection a lot…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/google-code-search-a-wonderful-way-to-find-security-wholes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teach Yourself Programming in Ten Years</title>
		<link>http://blog.alexzender.com/2008/02/12/teach-yourself-programming-in-ten-years/</link>
		<comments>http://blog.alexzender.com/2008/02/12/teach-yourself-programming-in-ten-years/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 10:06:49 +0000</pubDate>
		<dc:creator>Alexander Vushkan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alexzender.com/?p=9</guid>
		<description><![CDATA[Browsing the web met an interesting resource &#8211; Peter Norvig&#8217;s aritcle (Peter is Research Director at Googe). It looks like he gives obvious directions, sometimes funny, but formed in a good way. Yeah, 10 years is a time frame that makes developer a mature one&#8230; Snippets: &#8220;the maximal level of performance for individuals in a [...]]]></description>
			<content:encoded><![CDATA[<p class="first">Browsing the web met an interesting resource &#8211; Peter Norvig&#8217;s aritcle (Peter is Research Director at Googe). <br/><br />
It looks like he gives obvious directions, sometimes funny, but formed in a good way. Yeah, 10 years is a time frame that makes developer a mature one&#8230;
<p class="paragraph"/>Snippets:</p>
<ol>
<li>&#8220;the maximal level of performance for individuals in a given domain is not attained automatically as a function of extended experience, but the level of performance can be increased even by highly experienced individuals as a result of deliberate efforts to improve.&#8221;</li>
<li>&#8220;the most effective learning requires a well-defined task with an appropriate difficulty level for the particular individual, informative feedback, and opportunities for repetition and corrections of errors.&#8221;</li>
</ol>
<p>Everybody should be awared of: <br/><br />
Approximate timing for various operations on a typical 1GHz PC in summer 2001: <br/>
<p class="paragraph"/>execute single instruction 	1 nsec = (1/1,000,000,000) sec <br/><br />
fetch word from L1 cache memory 	2 nsec <br/><br />
fetch word from main memory 	10 nsec <br/><br />
fetch word from consecutive disk location 	200 nsec <br/><br />
fetch word from new disk location (seek) 	8,000,000nsec = 8msec <br/>
<p class="paragraph"/><br/><br />
<br/><br />
<span class="nobr"><a href="http://www.norvig.com/21-days.html">Source</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alexzender.com/2008/02/12/teach-yourself-programming-in-ten-years/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
