<?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"
	>

<channel>
	<title>Blog of Leonid Mamchenkov &#187; Technology</title>
	<atom:link href="http://mamchenkov.net/wordpress/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://mamchenkov.net/wordpress</link>
	<description>You just stepped in a pile of posts.</description>
	<pubDate>Thu, 06 Nov 2008 22:43:39 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>On laptops in the classrooms</title>
		<link>http://mamchenkov.net/wordpress/2008/11/06/on-laptops-in-the-classrooms/</link>
		<comments>http://mamchenkov.net/wordpress/2008/11/06/on-laptops-in-the-classrooms/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 23:08:27 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[college]]></category>

		<category><![CDATA[Computers]]></category>

		<category><![CDATA[education]]></category>

		<category><![CDATA[experience]]></category>

		<category><![CDATA[laptops]]></category>

		<category><![CDATA[study]]></category>

		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11419</guid>
		<description><![CDATA[I came across an interesting opinion by David Cole regarding the use of Internet connected laptops in the classrooms, during lectures.
study found that laptop use was significantly and negatively related to class performance
While I was reading the article, I kept nodding my head a lot.  Yes, if I was back in college and I could [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>I came across an interesting opinion by David Cole regarding the use of Internet connected <a href="http://www.britannica.com/blogs/2008/10/why-i-ban-laptops-in-my-classroom/"title="Why I Ban Laptops in My Classroom"  onclick="javascript:urchinTracker ('/outbound/article/www.britannica.com');">laptops in the classrooms</a>, during lectures.</p>
<blockquote><p>study found that laptop use was significantly and negatively related to class performance</p></blockquote>
<p>While I was reading the article, I kept nodding my head a lot.  Yes, if I was back in college and I could have an Internet connected laptop on my desk, I&#8217;d be even worse of a student than I was.  YouTube, forums, emails, Twitter, and a whole lot of other attention grabbers would not leave much for plain old college education.  At least in my case.  I know.</p>
<p>But then, I started thinking if that was true for other people I know.  And I couldn&#8217;t be so sure anymore.  A few guys I know literally can&#8217;t stay for too much long wihtout a computer and some sort of Internet connection.  It&#8217;s like food or oxygen - they just have to have it.  And when they have access to a computer, it&#8217;s often amazing to see them use it.  Lots of interesting, topic related stuff coming up.  Fact checking.  Exploring the topic deeper and wider.  With quotes and all.</p>
<p>And that got me into this idea of a new generation.   Younger people, who grew up online.  Web is in their blood.  A desktop computer as an ugly concept, and an offline computer as a useless box.  This kind of people.  I don&#8217;t think they would be much distracted.  In fact, quite the opposite - I think their grades would go up with better Internet connection and laptop-friendlier environment.</p>
<p>And that&#8217;s where I started worrying a little bit about the studies that were mentioned in the article.  These studies may be very accurate now.  And they are performed by bigger universities and colleges.  The results of these studies will take a few years of propagating into smaller colleges and universities.  And that&#8217;s where the problem will arise.  By that time, most new students will of the web native generation, but their alma maters will be choosing to disconnect them and ban their laptops.  Even though it probably won&#8217;t be too relative by then.</p>
<p>But then again, isn&#8217;t it like this most of the time?  I think it is.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/11/06/on-laptops-in-the-classrooms/feed/</wfw:commentRss>
		</item>
		<item>
		<title>On software testing</title>
		<link>http://mamchenkov.net/wordpress/2008/11/03/on-software-testing/</link>
		<comments>http://mamchenkov.net/wordpress/2008/11/03/on-software-testing/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 12:37:44 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[history]]></category>

		<category><![CDATA[shuttle]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[space]]></category>

		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11416</guid>
		<description><![CDATA[The software is checked very carefully in a bottom-up fashion. First, each new line of code is checked, then sections of code or modules with special functions are verified. The scope is increased step by step until the new changes are incorporated into a complete system and checked. This complete output is considered the final [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><blockquote><p>The software is checked very carefully in a bottom-up fashion. First, each new line of code is checked, then sections of code or modules with special functions are verified. The scope is increased step by step until the new changes are incorporated into a complete system and checked. This complete output is considered the final product, newly released. But completely independently there is an independent verification group, that takes an adversary attitude to the software development group, and tests and verifies the software as if it were a customer of the delivered product. There is additional verification in using the new programs in simulators, etc. A discovery of an error during verification testing is considered very serious, and its origin studied very carefully to avoid such mistakes in the future. Such unexpected errors have been found only about six times in all the programming and program changing (for new or altered payloads) that has been done. The principle that is followed is that all the verification is not an aspect of program safety, it is merely a test of that safety, in a non-catastrophic verification. Flight safety is to be judged solely on how well the programs do in the verification tests. A failure here generates considerable concern.</p></blockquote>
<p>The above was written by R. P. Feynman, in <a href="http://www.ralentz.com/old/space/feynman-report.html" onclick="javascript:urchinTracker ('/outbound/article/www.ralentz.com');">Feynman&#8217;s Appendix to the Rogers Commission Report on the Space Shuttle Challenger Accident</a>, 1986.  More than 20 years ago. Much recommended reading.</p>
<p>Found via <a href="http://duartes.org/gustavo/blog/post/Richard-Feynman-Challenger-Disaster-Software-Engineering" onclick="javascript:urchinTracker ('/outbound/article/duartes.org');">Richard Feynman, the Challenger Disaster, and Software Engineering</a>.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/11/03/on-software-testing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>It&#8217;s not the move, it&#8217;s the &#8220;after&#8221; life</title>
		<link>http://mamchenkov.net/wordpress/2008/11/01/its-not-the-move-its-the-after-life/</link>
		<comments>http://mamchenkov.net/wordpress/2008/11/01/its-not-the-move-its-the-after-life/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 17:41:24 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Desktop]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[migration]]></category>

		<category><![CDATA[open source software]]></category>

		<category><![CDATA[open-source]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11414</guid>
		<description><![CDATA[There is a lot of noise going about these news:
The Foreign Ministry is migrating all of its 11.000 desktops to GNU/Linux and other Open source applications.
That&#8217;s good.  Both the noise and the news.  But it&#8217;s not the first time that we hear about this or that government office moving to Linux desktops.  It happened before.  [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>There is a lot of noise going about <a href="http://www.osor.eu/news/de-foreign-ministry-cost-of-open-source-desktop-maintenance-is-by-far-the-lowest" onclick="javascript:urchinTracker ('/outbound/article/www.osor.eu');">these news</a>:</p>
<blockquote><p>The Foreign Ministry is migrating all of its 11.000 desktops to GNU/Linux and other Open source applications.</p></blockquote>
<p>That&#8217;s good.  Both the noise and the news.  But it&#8217;s not the first time that we hear about this or that government office moving to Linux desktops.  It happened before.  What I am more interested in hearing is the &#8220;after&#8221; life.  Something along the lines of &#8220;Look, we moved to Linux desktops one year ago and we are doing better than ever.  We are happier and we also spend less money&#8221;.  How many of those moved roll back to what they had before?  Why did they roll back? How many stay?  How many of those who stay are more satisfied?  How much cheaper it is for them?</p>
<p>That&#8217;s what I&#8217;d like to hear.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/11/01/its-not-the-move-its-the-after-life/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Passwords are like women</title>
		<link>http://mamchenkov.net/wordpress/2008/11/01/passwords-are-like-women/</link>
		<comments>http://mamchenkov.net/wordpress/2008/11/01/passwords-are-like-women/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 17:32:27 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Sysadmin]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[analogy]]></category>

		<category><![CDATA[funny]]></category>

		<category><![CDATA[Humor]]></category>

		<category><![CDATA[office]]></category>

		<category><![CDATA[passwords]]></category>

		<category><![CDATA[security]]></category>

		<category><![CDATA[women]]></category>

		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11412</guid>
		<description><![CDATA[I don&#8217;t know if this was posted by someone else somewhere else before (probably it was), but that&#8217;s what I came up with yesterday, while explaining our password policy to one of the (male) colleagues.
Passwords are like women:

you should have as many of them as you can
you should change them as often as you can
you [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>I don&#8217;t know if this was posted by someone else somewhere else before (probably it was), but that&#8217;s what I came up with yesterday, while explaining our password policy to one of the (male) colleagues.</p>
<p>Passwords are like women:</p>
<ul>
<li>you should have as many of them as you can</li>
<li>you should change them as often as you can</li>
<li>you should never share them with another man</li>
</ul>
<p>Judging by reaction, I got the point across.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/11/01/passwords-are-like-women/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oracle and PHP - the deadly mix</title>
		<link>http://mamchenkov.net/wordpress/2008/10/25/oracle-and-php-the-deadly-mix/</link>
		<comments>http://mamchenkov.net/wordpress/2008/10/25/oracle-and-php-the-deadly-mix/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 15:06:51 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Sysadmin]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web work]]></category>

		<category><![CDATA[databases]]></category>

		<category><![CDATA[oracle]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11395</guid>
		<description><![CDATA[WI&#8217;ve spent most of the last week getting into, around, and out of the issues related to interoperability of Oracle and PHP.  Before you start laughing, cursing, and blaming, Oracle wasn&#8217;t my choice of the database for this specific project.  It&#8217;s just the company already had it installed and working for the background, and there [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>WI&#8217;ve spent most of the last week getting into, around, and out of the issues related to interoperability of Oracle and <acronym title="Hypertext PreProcessing">PHP</acronym>.  Before you start laughing, cursing, and blaming, Oracle wasn&#8217;t my choice of the database for this specific project.  It&#8217;s just the company already had it installed and working for the background, and there needed to be some integration with the front, which is of course MySQL and <acronym title="Hypertext PreProcessing">PHP</acronym> based.</p>
<p>First thing I do, obviously, is visit <a href="http://www.php.net" onclick="javascript:urchinTracker ('/outbound/article/www.php.net');"><acronym title="Hypertext PreProcessing">PHP</acronym>.net</a> to check for the prefix of the functions that I need for Oracle.  Through out my experience with <acronym title="Hypertext PreProcessing">PHP</acronym>, that&#8217;s about the only thing I need to know to start working with the new database.  Oh, and the <acronym title="Hypertext PreProcessing">PHP</acronym> module installed to provide those functions. Oracle interface for <acronym title="Hypertext PreProcessing">PHP</acronym> is called is called <a href="http://www.php.net/oci8" onclick="javascript:urchinTracker ('/outbound/article/www.php.net');">OCI8</a>.  All you need to do now is install the oci8 module.</p>
<p>Here comes the first trouble.  oci8 is not provided as a pre-compiled package for Fedora Linux.  There is an alternative yum repository - <a href="http://blog.famillecollet.com/post/2005/10/02/8-telechargement-installation-et-yum" onclick="javascript:urchinTracker ('/outbound/article/blog.famillecollet.com');">Remi</a>, which has oci8 RPMs, but first of all, the oci8 module is compiled against somewhat outdated Oracle headers (version 10.2.0.4 instead of the latest 11.1.0.1), and it also needs to replace your native <acronym title="Hypertext PreProcessing">PHP</acronym> and MySQL packages.  I tried that, and it sort of worked, but I wasn&#8217;t happy.  So I got my Fedora packages back and decided that I need to compile oci8 myself.</p>
<p>In order to compile oci8, one needs to download Oracle InstantClient (basic package) and some header files (devel package).  These can be downloaded from the <a href="http://www.oracle.com/technology/tech/oci/instantclient/index.html" onclick="javascript:urchinTracker ('/outbound/article/www.oracle.com');">Oracle web site</a>, for free, minus the time for the registration.  The little trick here is that during oci8 compilation process, the includes are searched from locations which do not include the one from Oracle <acronym title="Red Hat Package Manager">RPM</acronym>.  I did a simple symlink of the includes folder to where Oracle headers were, and compilation went on just fine.  (Hint: otherwise you&#8217;ll get a whole lot of Zend related messages and a fatal error).  Gladly, I only had to do this path correction on the Fedora 9 machine.  My production server with Red Hat Enterprise Linux 5 compiled oci8 without any problems all by itself.</p>
<p><strong>Update:</strong> <em>more detailed instructions on the actual installation can be found <a href="http://www.gena01.com/forum/gena01_blog/installing_oracle_instant_client_11g_and_pecl_oci8-t193.0.html" onclick="javascript:urchinTracker ('/outbound/article/www.gena01.com');">here</a> and <a href="http://blog.fourthirty.org/?p=115" onclick="javascript:urchinTracker ('/outbound/article/blog.fourthirty.org');">here</a>.</em></p>
<p>Now that oci8 installed and configured, I spent some time figuring the correct way to specify the DSN.   Oracle uses some weirdly name file (tnsnames.ora) in some weird location, but luckily there is a way to go around it.  More so, I recommend that you remove tnsnames.ora file altogether, since it can add to your troubles.  For example, if you mix spaces and tabs as whitespaces in that file, you are screwed.  So, just get rid of it.  The way you specify DSN is directly in the <acronym title="Hypertext PreProcessing">PHP</acronym> script, and you use the syntax like so:  &#8220;<em>//hostname.or.ip:port/dbname</em>&#8220;.  Intuitive, I know.</p>
<p>Once you&#8217;ll get connected to the server, you have a whole bag of surprises waiting for you.  That is if you are too used to working with MySQL.  First is the syntax.  Oracle is using PL/SQL, so you wipe the dust of from that really old Pascal textbook that you have somewhere.  &#8220;<em>begin :result := some.procedure.call(:param1, :param2); end;</em>&#8221; - that sort of thing.  Secondly, you&#8217;ll be happy to know that prepared queries are supported.  So your workflow will slightly change.  Perl programmers will feel more at home here.  <a href="http://www.php.net/manual/en/function.oci-bind-by-name.php" onclick="javascript:urchinTracker ('/outbound/article/www.php.net');">oci_bind_by_name()</a> and <a href="http://www.php.net/manual/en/function.oci-execute.php" onclick="javascript:urchinTracker ('/outbound/article/www.php.net');">oci_execute()</a> are your friends here.  Oh, and while you are at, get familiar with the types of the parameters, because they are important.  And don&#8217;t forget that you&#8217;ll have to bind each and every variable in the query, or get a fatal error. And since you are learning something here, get ready for the oracle errors.  The most frequent one you&#8217;ll get would be something like &#8220;Failed to retreive the error message for ORA-12345&#8243;, where 12345 would be a number of the error.  So you&#8217;ll google for ORA-12345 and ORA-54321 and ORA-XYZZZ a lot.  But than you&#8217;ll have a wrapper library and you&#8217;ll be OK.</p>
<p><strong>Update:</strong> <em>as was noted in the comments, PL/SQL is just an option, not a requirement.  Also, most of the headaches of the above paragraph could be avoided by using one of the <acronym title="Hypertext PreProcessing">PHP</acronym> frameworks.  I personally haven&#8217;t yet tried the framework yet, since I&#8217;d like to see things working directly first.  Especially since we are not in the test mode only.</em></p>
<p>The bigger surprise is still waiting for you though.  You are very likely to discover that OCI8 implementation for <acronym title="Hypertext PreProcessing">PHP</acronym> is very slow.  And I do mean extremely very slow.  I couldn&#8217;t believe that it could be slow, so I went into the source code and OMG!  It is really slow.  The slow part is around fetch_all() against fetch_row().  Basically, it&#8217;s always row by row and never all, even if you tell it how many rows you need fetched.</p>
<p>In my case, I have the server a bit far away, and there is a possibility to get many rows back.  So even for a simple query with 140 rows in results I was getting 20 seconds execution time.  Oracle was serving results fast, the network was OK, machines on both sides were powerful and all, but it was still taking 20 seconds or more.</p>
<p>I am still trying to find the solution to this issue, but so far it seems that the current way I do it will be the way to do it.  And the way I do it now is the following.  Never ever run direct <acronym title="Structured Query Language (a database standard)">SQL</acronym> queries.  Everything goes through a stored procedure.  The results are returned all in a single row.  And that single row has the BLOB (CLOB actually) with all results in one single <acronym title="eXtensible Markup Language">XML</acronym>.  Fetching works good enough to get it, and then parsing is done with one of the billion <acronym title="eXtensible Markup Language">XML</acronym> parsers for <acronym title="Hypertext PreProcessing">PHP</acronym>.</p>
<p>In my case <a href="http://minixml.psychogenic.com/" onclick="javascript:urchinTracker ('/outbound/article/minixml.psychogenic.com');">MiniXML</a> worked pretty good until bigger results started coming in.  That&#8217;s when I learned an important lesson.  MiniXML parses <acronym title="eXtensible Markup Language">XML</acronym> with a regular expression.  <acronym title="Hypertext PreProcessing">PHP</acronym> has a couple of settings in the configuration file that limits the size of the memory and recursion during regex parsing - pcre.backtrack_limit and pcre.recursion_limit.  If you really want to kill your server, set these to -1 (instead of default 100000) and try a regex against a 1 <acronym title="Megabyte">MB</acronym> <acronym title="eXtensible Markup Language">XML</acronym> file.  Enjoy, cause it won&#8217;t be long before everything goes down. I didn&#8217;t feel like changing from MiniXML so we just implemented some limits in the queries and stored procedures on the Oracle side, and add a few checks in <acronym title="Hypertext PreProcessing">PHP</acronym> fail rather than crash the system.</p>
<p>So, to some it up, here is my experience with Oracle and <acronym title="Hypertext PreProcessing">PHP</acronym> from the last week:</p>
<ul>
<li>I had to register on Oracle web site to download packages</li>
<li>I had to re-learn my long forgotten compilation skills</li>
<li>I had to go read some C</li>
<li>I had to step on the &#8220;re-inventing the wheel&#8221; path more than once</li>
<li>I am parsing <acronym title="eXtensible Markup Language">XML</acronym> when working with the database</li>
<li>I had a head ache more than twice</li>
<li>I didn&#8217;t have much fun</li>
<li>After all, it works.  Sort of.</li>
</ul>
<p>One last point in this saga is about Googling.  Ask me any question, and I do mean any question, about MySQL.  Heck, even PostgreSQL.  And the answer is just there, on the first page of Google results.  In any human or programming language.  For any operating system.  You&#8217;ll be sorted out and working in less then a minute.   Then, try asking even the simplest of the simplest questions about Oracle and <acronym title="Hypertext PreProcessing">PHP</acronym>.  Sometimes you&#8217;ll find something.  Some other times, you won&#8217;t.  The overall feeling I have is that not a lot of people are using Oracle with <acronym title="Hypertext PreProcessing">PHP</acronym>, and those of them who do are in their majority not very happy.</p>
<p>Now I&#8217;ve joined the army.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/10/25/oracle-and-php-the-deadly-mix/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flickr on black</title>
		<link>http://mamchenkov.net/wordpress/2008/10/23/flickr-on-black/</link>
		<comments>http://mamchenkov.net/wordpress/2008/10/23/flickr-on-black/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 21:40:28 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Photography]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web work]]></category>

		<category><![CDATA[addons]]></category>

		<category><![CDATA[Browsers]]></category>

		<category><![CDATA[extensions]]></category>

		<category><![CDATA[firefox]]></category>

		<category><![CDATA[flickr]]></category>

		<category><![CDATA[greasemonkey]]></category>

		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11389</guid>
		<description><![CDATA[Being a huge fan of Flickr, I am always trying to bring more people to the service.  Because more people = more images and more comments, which, of course, means more fun and inspiration.
One of the most frequent reasons NOT to use Flickr that I&#8217;ve heard coming mostly from amateur and professional photographers was that [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Being a huge fan of <a href="http://www.flickr.com" onclick="javascript:urchinTracker ('/outbound/article/www.flickr.com');">Flickr</a>, I am always trying to bring more people to the service.  Because more people = more images and more comments, which, of course, means more fun and inspiration.</p>
<p>One of the most frequent reasons <strong>NOT</strong> to use Flickr that I&#8217;ve heard coming mostly from amateur and professional photographers was that Flickr is only available with white background and only with up to medium-sized images.  That is true.  While Flick is constantly improving their service, some features are still not there.  And maybe they are not coming any time soon.  But.  That doesn&#8217;t mean that there is no work around.  After all, the world of technology is blessed with plenty of excellent open source software these days.  So, here is how you can solve the problem of size and color, if you are one of those people who prefers it the other way around.</p>
<ol>
<li>Get yourself a copy of an real web browser - <a href="http://www.mozilla.com/en-US/firefox/" onclick="javascript:urchinTracker ('/outbound/article/www.mozilla.com');">Firefox</a>.</li>
<li>Install <a href="https://addons.mozilla.org/en-US/firefox/addon/748" onclick="javascript:urchinTracker ('/outbound/article/addons.mozilla.org');">Greasemonkey</a> extension for Firefox.</li>
<li>Install <a href="http://userscripts.org/scripts/show/9523" onclick="javascript:urchinTracker ('/outbound/article/userscripts.org');">Flickr On Black</a> user script for Greasemonkey.</li>
</ol>
<p>Once you&#8217;ve done the above steps, go to Flickr and find a picture that you want to enjoy on black or in a different color.  On the image page, scroll down to the part where you can see &#8220;<em>Additional information</em>&#8221; on the right side.  Among them, you&#8217;ll see a few new links.  &#8220;<em>View on black: Regular, Large</em>&#8221; will be among them.</p>
<p style="text-align: center;"><img class="size-full wp-image-11390 aligncenter" title="Flickr : Additional information" src="http://mamchenkov.net/wordpress/wp-content/uploads/2008/10/flickr_additional_information.png" alt="" width="256" height="279" /></p>
<p>Click, and you are done.  The link will take you to another page, which will look <a href="http://bighugelabs.com/flickr/onblack.php?id=2426747841&amp;size=large" onclick="javascript:urchinTracker ('/outbound/article/bighugelabs.com');">something like this</a>.  You can switch between Regular and Large size, as well as between black and white backgrounds right on that page.</p>
<p><strong>P.S.:</strong> While you are getting Flickr on Black user script for Greasemonkey, look around.  There are thousands of other scripts to customize anything and everthing from Google search results and GMail to IMDB movie information and Twitter messeging.</p>
<p><strong>P.P.S.:</strong> Alternatively, you can take a look at <a href="http://userscripts.org/scripts/show/9589" onclick="javascript:urchinTracker ('/outbound/article/userscripts.org');">Flickr &#8220;Lights Out&#8221;</a> or &#8220;<a href="http://userscripts.org/scripts/show/31404" onclick="javascript:urchinTracker ('/outbound/article/userscripts.org');">Flickr in mostly black and orange</a>&#8221; user scripts for Greasemonkey.</p>
<p><strong>P.P.P.S:</strong> Many Greasemonkey scripts work perfectly in browsers other than Firefox - Opera, Safari, etc.  But I&#8217;d still recommend to use Firefox.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/10/23/flickr-on-black/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How it was back in 2001</title>
		<link>http://mamchenkov.net/wordpress/2008/10/22/how-it-was-back-in-2001/</link>
		<comments>http://mamchenkov.net/wordpress/2008/10/22/how-it-was-back-in-2001/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 23:56:17 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web work]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[history]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11387</guid>
		<description><![CDATA[Some weeks ago, as part of their 10th anniversary celebration, Google presented Google Circa 2001 (yes, I know, I am doing very old news right now - Slashdot, CyberNet News).  Google Circa 2001 is basically the way Google was in 2001, including the web index of those times.  What&#8217;s the big deal?  Well, for those [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Some weeks ago, as part of their 10th anniversary celebration, Google presented <a href="http://www.google.com/search2001.html" class="broken_link" onclick="javascript:urchinTracker ('/outbound/article/www.google.com');">Google Circa 2001</a> (yes, I know, I am doing very old news right now - <a href="http://tech.slashdot.org/article.pl?sid=08/10/01/2027234&amp;from=rss" onclick="javascript:urchinTracker ('/outbound/article/tech.slashdot.org');">Slashdot</a>, <a href="http://cybernetnews.com/2008/10/01/dear-google-thanks-for-a-glimpse-in-the-past/" onclick="javascript:urchinTracker ('/outbound/article/cybernetnews.com');">CyberNet News</a>).  Google Circa 2001 is basically the way Google was in 2001, including the web index of those times.  What&#8217;s the big deal?  Well, for those of us who were on the web from back then, it provides for a way to see how things were different.</p>
<p>For example, back in 2001 I was better known as &#8220;<a href="http://www.google.com/search2001/search?q=mamtchenkov&amp;hl=en&amp;btnG=Search" class="broken_link" onclick="javascript:urchinTracker ('/outbound/article/www.google.com');">Leonid Mamtchenkov</a>&#8220;, not &#8220;Leonid Mamchenkov&#8221;.  That was due to another spelling in my Russian passport.  Also, <a href="http://web.archive.org/web/20011127175857/www.leonid.maks.net/" onclick="javascript:urchinTracker ('/outbound/article/web.archive.org');">my web site</a> looked pretty different from what it is now.  But it was already a blog, even if in the simplest form.  Surprisingly even, I found <a href="http://web.archive.org/web/20011201172633/www.leonid.maks.net/hobby.shtml" onclick="javascript:urchinTracker ('/outbound/article/web.archive.org');">a few posts</a> that were not migrated to the current archives, or got lost somehow after a few <acronym title="Content Management System">CMS</acronym> and back-end script changes.  I&#8217;ll restore them for historical purposes later on.</p>
<p>Oh, sweet memories &#8230;</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/10/22/how-it-was-back-in-2001/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Social Networking - Do you know that you do it?</title>
		<link>http://mamchenkov.net/wordpress/2008/10/02/social-networking-do-you-know-that-you-do-it/</link>
		<comments>http://mamchenkov.net/wordpress/2008/10/02/social-networking-do-you-know-that-you-do-it/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 11:29:02 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web work]]></category>

		<category><![CDATA[communications]]></category>

		<category><![CDATA[internet]]></category>

		<category><![CDATA[people]]></category>

		<category><![CDATA[social networks]]></category>

		<category><![CDATA[web]]></category>

		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11370</guid>
		<description><![CDATA[I came across a brief blog post titled &#8220;Social Networking - Do you do it?&#8220;.  While the context of the question in that post was more along the lines of &#8220;Do you use social networking to promote your products and servers, and drive more traffic towards your site?&#8220;, it got me thinking.  And, as usual, [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>I came across a brief blog post titled &#8220;<a href="http://planetbooks.wordpress.com/2008/10/02/social-networking/" onclick="javascript:urchinTracker ('/outbound/article/planetbooks.wordpress.com');">Social Networking - Do you do it?</a>&#8220;.  While the context of the question in that post was more along the lines of &#8220;<em>Do you use social networking to promote your products and servers, and drive more traffic towards your site?</em>&#8220;, it got me thinking.  And, as usual, in a somewhat different direction.</p>
<p>If we are to ask &#8220;<em>Social Networking - Do you do do it?</em>&#8221; to a large Internet crowd, what sort of responses would we get?  I guess, the majority will be somewhere in between &#8220;<em>No</em>&#8221; and &#8220;<em>What&#8217;s social networking?</em>&#8220;.  I think that the majority of people on the Web have no idea of what social networking is, where to find it, and if they are using it already or if they should use it at all.  And I also think that the majority of Web population do use social networking, either for their personal or business purposes.</p>
<p>Examples from the top of my head include <a href="http://www.livejournal.com" onclick="javascript:urchinTracker ('/outbound/article/www.livejournal.com');">LiveJournal.com</a> - the most popular blogging platform in Russia, <a href="http://www.flickr.com" onclick="javascript:urchinTracker ('/outbound/article/www.flickr.com');">Flickr</a> - one of the most popular image sharing services, <a href="http://www.youtube.com" onclick="javascript:urchinTracker ('/outbound/article/www.youtube.com');">YouTube</a> - the most popular video sharing service, <a href="http://www.odnoklassniki.ru" onclick="javascript:urchinTracker ('/outbound/article/www.odnoklassniki.ru');">Odnoklassniki.ru</a> - the most popular (in Russia) social network for people to find and communicate with their class mates, and a few other, similar services.  A huge chunk of their userbase have no idea that these services are a part of social networking. &#8220;<em>Oh, no, I don&#8217;t do no social networking.  I use this web site to communicate with some of my friends and share blah blah blah</em>&#8220;.</p>
<p>And I&#8217;m not sure if we need to push the term &#8220;<em>social networking</em>&#8221; any further.  We are humans.  That what humans do - social networks.  Give us a communication tool and we&#8217;ll start networking with it.  Then, instead of asking us if we use the tool for social networks, just ask us how we use it.  Yeah.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/10/02/social-networking-do-you-know-that-you-do-it/feed/</wfw:commentRss>
		</item>
		<item>
		<title>On Perfect Knowledge</title>
		<link>http://mamchenkov.net/wordpress/2008/09/30/on-perfect-knowledge/</link>
		<comments>http://mamchenkov.net/wordpress/2008/09/30/on-perfect-knowledge/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 09:12:59 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[communications]]></category>

		<category><![CDATA[internet]]></category>

		<category><![CDATA[opinions]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11365</guid>
		<description><![CDATA[The Next Web Boris has a thought provoking blog post titled &#8220;Achieving (and living with) Perfect Knowledge&#8220;.
One day, we will have Perfect Knowledge. Although we won’t know everything there is to know, our knowledge of the world will approach a perfect state. It will be ‘lacking nothing essential to the whole’
Recommended reading.]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p><a href="http://bomega.com/" onclick="javascript:urchinTracker ('/outbound/article/bomega.com');">The Next Web Boris</a> has a thought provoking blog post titled &#8220;<a href="http://bomega.com/2008/09/30/achieving-and-living-with-perfect-knowledge/" onclick="javascript:urchinTracker ('/outbound/article/bomega.com');">Achieving (and living with) Perfect Knowledge</a>&#8220;.</p>
<blockquote><p>One day, we will have Perfect Knowledge. Although we won’t know everything there is to know, our knowledge of the world will approach a perfect state. It will be ‘lacking nothing essential to the whole’</p></blockquote>
<p>Recommended reading.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/09/30/on-perfect-knowledge/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New phone : Sony Ericsson G900</title>
		<link>http://mamchenkov.net/wordpress/2008/09/29/new-phone-sony-ericsson-g900/</link>
		<comments>http://mamchenkov.net/wordpress/2008/09/29/new-phone-sony-ericsson-g900/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 15:52:22 +0000</pubDate>
		<dc:creator>Leonid Mamchenkov</dc:creator>
		
		<category><![CDATA[All]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[communications]]></category>

		<category><![CDATA[experience]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[mobile]]></category>

		<category><![CDATA[phones]]></category>

		<category><![CDATA[sony ericsson]]></category>

		<category><![CDATA[sony ericsson g900]]></category>

		<category><![CDATA[synchronization]]></category>

		<category><![CDATA[telephony]]></category>

		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://mamchenkov.net/wordpress/?p=11361</guid>
		<description><![CDATA[
A couple of weeks ago my beloved Sony Ericsson P910 died.  It got dropped one too many times.  A rather large semi-lequid patch appeared in its left bottom corner and touch screen stopped working.  Since the keyboard died a long time ago, I was left with no way to input or navigate the phone.  Being [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p style="text-align: center;"><a href="http://mamchenkov.net/wordpress/wp-content/uploads/2008/09/sony-ericsson-g900-combo.jpg" ><img class="size-full wp-image-11362 aligncenter" title="Sony Ericsson G900" src="http://mamchenkov.net/wordpress/wp-content/uploads/2008/09/sony-ericsson-g900-combo.jpg" alt="" width="359" height="360" /></a></p>
<p>A couple of weeks ago <a href="http://mamchenkov.net/wordpress/2007/12/08/on-the-nature-of-old-things/" >my beloved Sony Ericsson P910</a> died.  It got dropped one too many times.  A rather large semi-lequid patch appeared in its left bottom corner and touch screen stopped working.  Since the keyboard died a long time ago, I was left with no way to input or navigate the phone.  Being an exceptionally smart individual I decided that a reboot might cure this, and, obviously, that left me at the &#8220;Enter your PIN&#8221; prompt with no hope what so ever.</p>
<p>Next morning I rushed to the mobile shop.  The first two on my way were closed, since that was too early in the morning, but gladly I remembered that there is a Germanos branch in Debenhams, which opens pretty early.  Like 8 or 9 o&#8217;clock in the morning.  And indeed it was open.</p>
<p><span id="more-11361"></span></p>
<p>Which phone should I get?  Every time I have this question, no matter how much time I spend online reading reviews and calculating ratings.  Shopping for a new phone is one of those experiences where &#8220;in hand&#8221; is way better than &#8220;online&#8221;.</p>
<p>I&#8217;ve been waiting for some Google Android based phones to pop up, but it is too early in the year.  And anything else that I liked the picture of on the Internet was running Windows Mobile which I don&#8217;t feel like trying yet.  So, there I was, early morning in the mobile phone shop.</p>
<p>Gladly, we don&#8217;t have a lot of choice when it comes to mobile phones.  It&#8217;s not like in Europe or on the Internet.  There are just a few brands with just a few models.  And if you are to consider major differences between them, and pick the one accoding to your likings, you probably won&#8217;t find more than three models to choose from.  And this time it was no exception.</p>
<p>After just three minutes in the shop, I ended up with a couple of Sony Ericsson models and an HTC thing.  The HTC one was really neat.  It had nice rubber feel to it, it was the right size, and it had the full QWERTY keyboard sliding out of phone&#8217;s side.  Really nice design.  But it was a Windows Mobile thing, so, unfortunately, I had to say &#8220;No&#8221;.  Maybe next time though.  And out of the two Sony Ericsson models that I picked, only one had an extra memory extension slot.  So the choice was obvious.</p>
<p><a href="http://www.sonyericsson.com/cws/products/mobilephones/overview/g900" onclick="javascript:urchinTracker ('/outbound/article/www.sonyericsson.com');"><strong>Sony Ericsson G900</strong></a></p>
<p>Things that I love about this phone:</p>
<ul>
<li>All sorts of networking options from BlueTooth to WiFi.</li>
<li>Excellent computer connectivity.  Plug in a simple <acronym title="Universal Serial Bus">USB</acronym> cable, and I can move files in and out.  Even using my Fedora Linux laptop.  No magic, no drivers, no software, nothing.  Beautiful.</li>
<li>Remote synchronization of contacts, calendars, notes, and more.  More on that in a moment.</li>
<li>5 megapixel camera.  Photo and video.  Not something to substitute serious equipment, but really handy.  Plus has some cool effects like black and white, sepia, etc.</li>
<li>Symbian UIQ operating system, which gives me access to a wide range of software, both Symbian-specific and that of the Java  platform.</li>
<li>Support for video calls.  I just realized that these work even here in Cyprus.  Even though they are somewhat more expensive.</li>
<li>Size and weight.  Not too small, and very light.</li>
</ul>
<p>Things that I don&#8217;t like about this phone:</p>
<ul>
<li>A bit slow.  Especially starting up.</li>
<li>Navigation is weird at times.  This might be because I used different types of phones before.  Or maybe it&#8217;s just weird.</li>
<li>Battery life could have been better.  Although I&#8217;ve now learned to disable wireless networking when I don&#8217;t need it.</li>
</ul>
<p>Once I bought the phone, my next concern was the resore of my contacts and schedules.  As you can imagine, my old phone died before I could do a proper backup, so I was a bit worried there.</p>
<p>I remember having done quite a few backups of my contacts, sending them to my Gmail account.  A few searches showed that the last backup was done more than two years ago.  Oh, well.  Better than nothing.  But will the import work OK?  Will the pictures and extra notes transfer?  I never had to try it.</p>
<p>Good friends suggested a couple of web services to try.  The first one was <a href="https://www.mobical.net/" onclick="javascript:urchinTracker ('/outbound/article/www.mobical.net');">Mobical</a>.  Really good one.  I registered, entered my phone number, received an SMS with some settings, approved it, and that was it.  I had an editor in my browser, which I could conveniently use to modify contacts, schedules, notes, bookmarks, and what not.  Then, a simple button push on my mobile synchronized what I saw in my browser to what I saw in my mobile.  Beautiful!  I played quite a bit with it.  Import feature took my latest backup just fine and the rest I could easily complete without using the freaky mobile keyboard.</p>
<p>The only thing that I wish was better - Google integration.  Most of my contacts are in Gmail, and I use Google Calendar too much to have another software for this purpose.  Gladly, there is <a href="https://www.goosync.com/" onclick="javascript:urchinTracker ('/outbound/article/www.goosync.com');">GooSync</a>.  Solves the problem of Google integration.  Takes all the contacts and calendars and does two way synchronization between the phone and Google services.  Sweet!</p>
<p>In under a day I was all set and packed with contacts, tools, and exploring new features.  That was probably the shortest and most pleasant phone upgrade ever.</p>
<p>P.S.:  If you want to see some of the pictures and videos taken with this phone, check out <a href="http://flickr.com/photos/mamchenkov/tags/sonyericssong900/" onclick="javascript:urchinTracker ('/outbound/article/flickr.com');">Sony Ericsson G900</a> tag in <a href="http://flickr.com/photos/mamchenkov/" onclick="javascript:urchinTracker ('/outbound/article/flickr.com');">my Flickr photostream</a>.</p>
<p>P.P.S.: Videos are not yet uploaded, but they are coming soon (today, tomorrow).</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://mamchenkov.net/wordpress/2008/09/29/new-phone-sony-ericsson-g900/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
