<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>StoiloBlog: everyday administration adventures</title>
	<atom:link href="http://stoilis.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://stoilis.wordpress.com</link>
	<description>everyday administration adventures</description>
	<lastBuildDate>Sat, 09 Apr 2011 10:24:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='stoilis.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>StoiloBlog: everyday administration adventures</title>
		<link>http://stoilis.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://stoilis.wordpress.com/osd.xml" title="StoiloBlog: everyday administration adventures" />
	<atom:link rel='hub' href='http://stoilis.wordpress.com/?pushpress=hub'/>
		<item>
		<title>tun.ko for Google Nexus S Android phone(and some bitching&#8230;)</title>
		<link>http://stoilis.wordpress.com/2011/01/28/tun-ko-for-google-nexus-s-android-phoneand-some-bitching/</link>
		<comments>http://stoilis.wordpress.com/2011/01/28/tun-ko-for-google-nexus-s-android-phoneand-some-bitching/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 03:09:52 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[planet_hellug]]></category>
		<category><![CDATA[tun.ko]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=370</guid>
		<description><![CDATA[(For the impatient: You can find the tun.ko file at the end of this article. The rest of this article is pretty much me bitching about how hard it was to reach the point of building it.) I just bought &#8230; <a href="http://stoilis.wordpress.com/2011/01/28/tun-ko-for-google-nexus-s-android-phoneand-some-bitching/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=370&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>(For the impatient: <strong>You can find the tun.ko file at the end of this article</strong>. The rest of this article is pretty much <strong>me bitching</strong> about how hard it was to reach the point of building it.)</p>
<p>I just bought a new mobile phone to replace my aging <a href="http://www.htc.com/www/product/hero/overview.html">HTC Hero</a>, a brand new <a href="http://www.google.com/nexus/">Google Nexus S</a> device, one of the latest offerings in the mobile arena.</p>
<p>However, this model being new and all, means it lacks some basic(for me) stuff, like a proper rooted custom ROM with the tun.ko module included. The tun.ko module is used, among other things, for VPN connections. Which I need.</p>
<p>While installing a custom ROM would normally solve this, there are no stable or feature-full ROMs out there for this phone including the needed module, at this point in time anyway[<a href="http://forum.xda-developers.com/showthreasd.php?t=886903">1</a>] [<a href="http://mirror.teamdouche.net/?device=crespo">2</a>] [<a href="http://theunlockr.com/category/roms-2/android-roms-2/samsung-nexus-s-roms/">3</a>] [<a href="http://android.modaco.com/content/google-nexus-s-nexuss-modaco-com/327120/24-jan-r10-grh78c-modaco-custom-rom-for-the-samsung-nexus-s-with-online-kitchen/">4</a>]. They seems to exist only as proof of concept. I installed about 10 different customs ROMs today and they were all pretty much identical to the original ROM, apart from a couple of included apps that one can install by themselves anyway. Thus, I sacrificed my whole day off to get this working. I had lots of fun doing it&#8230; NOT!</p>
<p>(MoDaCo ROMs do exist with TUN included but I had so many issues with their HTC Hero one, that I passed&#8230;)</p>
<p>VPN capabilities in android devices require a) root access, b) tun.ko linux kernel module and c) VPN client binaries.</p>
<p>The client binaries I had, so that was crossed out pretty quickly.</p>
<p>Rooting the phone was easy as well, thanks to <a href="http://forum.xda-developers.com/showthread.php?p=9866675">xda-developers.com</a> as usual.</p>
<p>Tun.ko, however, is another story.</p>
<p>There are, like me, lots of people asking for a tun.ko module(or any other linux kernel module) for a specific android version and build. There aren&#8217;t so many Linux kernels running android out there(I counted about 10), so what&#8217;s stopping anyone building a tun.ko for each one and be done with it?</p>
<p>The problems seems to be that the linux kernel used on android devices is not allowed to load any module not matching the version of the kernel. While the concept is sound, to prevent kernel crashes, the implementation is not. But first, some background.</p>
<p>The linux kernel, and android in general, is managed by git. Each snapshot of the repository, snapshot being the state of the source code after every commit, is marked by a unique SHA-1 hash string as identifier.</p>
<p>Every kernel and its modules are tattooed by &#8220;vermagic&#8221;, a string value that identifies the kernel version. This includes a <strong>substring</strong> of the git unique hash identifier of the git snapshot at the time of the compile. Thus, a kernel will only be able to load compiled modules of the same git snapshot at that time. If another commit is made to the repository, the git snapshot identifier will change, thus any new compiled code will be incompatible with the previous one, even if wasn&#8217;t affected by the commit.</p>
<p>Now the fun part. Since the vermagic only includes a small part of the actual identifier, although all of the source code repositories are public, one can never know which snapshot was used to compile a specific kernel, because<strong> no search engine will ever return results on a substring</strong>. You can only search on full strings.</p>
<p>Although only a handful of Linux kernel versions are used for android devices, the number of different releases with different vermagic combinations, seems infinite. Every different tweak in the source results in different vermagic values. Pretty much every release is unique. If you want to share compiled code, you need to track the originating repository snapshot of point in time. Good luck with that.</p>
<p>(Actually, you can get a list of all the identifiers in the history of a source repository and you can grep it for any substring. However, you would need to do than on every android source repository you can find. Assuming of course, that the repository you are searching is public somewhere and not inside a manufacturer&#8217;s intranet.)</p>
<p>I was forced to, at the very least, rebuild my own linux kernel, only to extract the compiled tun.ko module. If I couldn&#8217;t, I would need to create my own custom ROM, only to include my own kernel with my own vermagic value and my own modules. For the record, before starting this exercice, I never ever even touched android source. All of a sudden, I was forced to learn how to build ROMs. <strong>Just because I can, doesn&#8217;t mean I want to. </strong>Fortunately, <a href="http://forum.xda-developers.com/showpost.php?p=5692491&amp;postcount=12">this</a> helped a lot. Apart that /proc/config.gz is apparently now a luxury that we cannot afford to have, either on stock kernels or custom ones. *Sigh*&#8230;</p>
<p>My phone has a vermagic value &#8220;2.6.35.7-g7f1638a&#8221; and <strong>I failed to find my kernel&#8217;s original source repository</strong>. I did find the <a href="http://android.git.kernel.org/?p=kernel/samsung.git">kernel source for my phone specifically, from Samsung itself</a>, but it didn&#8217;t seem to include this snapshot.</p>
<p>Although I did reach a point of almost rolling out my own ROM, <strong>I decided to cheat</strong>. I was able to produce a tun.ko with my phone&#8217;s vermagic, even if my source produced a different one. All I had to do was rig﻿ &#8220;scripts/setlocalversion&#8221; to return whatever vermagic value I needed.</p>
<p>After that, I loaded the module to my phone and it worked. Flawlessly.</p>
<p>Any <a href="http://giannis.stoilis.gr/tun.ko">he﻿re it is</a>, hopefully it will be useful. It applies to:</p>
<pre>Model number: Nexus S
Android version: 2.3.2
Baseband version: I9020XXJK8
Kernel version: 2.6.35.7-g7f1638a android-build@apa28 #1
Build number: GRH78C</pre>
<br /> Tagged: <a href='http://stoilis.wordpress.com/tag/android/'>android</a>, <a href='http://stoilis.wordpress.com/tag/english/'>english</a>, <a href='http://stoilis.wordpress.com/tag/planet_hellug/'>planet_hellug</a>, <a href='http://stoilis.wordpress.com/tag/tun-ko/'>tun.ko</a>, <a href='http://stoilis.wordpress.com/tag/vpn/'>vpn</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/370/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=370&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2011/01/28/tun-ko-for-google-nexus-s-android-phoneand-some-bitching/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>
	</item>
		<item>
		<title>Dropping huge tables in MySQL without blocking I/O</title>
		<link>http://stoilis.wordpress.com/2011/01/06/dropping-huge-tables-in-mysql-without-blocking-io/</link>
		<comments>http://stoilis.wordpress.com/2011/01/06/dropping-huge-tables-in-mysql-without-blocking-io/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 20:49:54 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[planet_hellug]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=366</guid>
		<description><![CDATA[Some filesystems, such as ext3, take a long time to delete large files. Dropping a table with such an underlying filesystem would cause MySQL to lock up while waiting for the filesystem to return. The work around is to create &#8230; <a href="http://stoilis.wordpress.com/2011/01/06/dropping-huge-tables-in-mysql-without-blocking-io/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=366&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some filesystems, such as ext3, take a long time to delete large files. Dropping a table with such an underlying filesystem would cause MySQL to lock up while waiting for the filesystem to return.</p>
<p>The work around is to create a hard link to the table&#8217;s .ibd file, drop the table, and then remove the link.</p>
<p>Just a cool little trick I learned from our DBA that, for some reason, never saw written down anywhere.</p>
<br /> Tagged: <a href='http://stoilis.wordpress.com/tag/mysql/'>mysql</a>, <a href='http://stoilis.wordpress.com/tag/planet_hellug/'>planet_hellug</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/366/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=366&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2011/01/06/dropping-huge-tables-in-mysql-without-blocking-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>
	</item>
		<item>
		<title>ecryptfs is not network friendly</title>
		<link>http://stoilis.wordpress.com/2010/12/24/ecryptfs-is-not-network-friendly/</link>
		<comments>http://stoilis.wordpress.com/2010/12/24/ecryptfs-is-not-network-friendly/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 22:25:39 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ecryptfs]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[luks]]></category>
		<category><![CDATA[planet_hellug]]></category>
		<category><![CDATA[planet_sysadmin]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=360</guid>
		<description><![CDATA[There are some negatives on the layered approach ecryptfs uses, it is not network friendly. Say you want to share the encrypted data somehow. What do you do? - Using NFS to serve the encrypted dir(and then unencrypting on the &#8230; <a href="http://stoilis.wordpress.com/2010/12/24/ecryptfs-is-not-network-friendly/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=360&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are some negatives on the layered approach ecryptfs uses, it is not network friendly.</p>
<p>Say you want to share the encrypted data somehow. What do you do?</p>
<p>- Using NFS to serve the encrypted dir(and then unencrypting on the client-side) proved very unstable. After some heavy data transfers, the mountpoint simply disappeared.</p>
<p>- Using NFS to serve the unencrypted dir(after being mounted by ecryptfs) proved&#8230; impossible, at least using the NFS server in Ubuntu.</p>
<p>- Using sshfs to serve either the encrypted or unencrypted dir proved unstable as well.</p>
<p>- Using smbfs/cifs was out of the question, as I depended on some unix permissions for some things. And I am not keen on sharing data between linux computers using smb/cifs.</p>
<p>- Ecryptfs, when used to encrypt file names, has issues with long file name paths. Some of my deep structured dirs and files were lost because of this.</p>
<p>- Not exactly a fair reason to judge this, but double ecryptfs encryption(that is, having ecryptfs encrypted data inside an ecryptfs unencrypted partition) proved a disaster(yes, I am a moron). After a week of usage my double encrypted data were corrupted as hell. Although I didn&#8217;t try to investigate it further, it seems like it was happening slowly as well, bit by bit.</p>
<p>After thinking it through I decided to go ahead and migrate everything to a pure block based encryption. I chose luks.</p>
<p>Yes, block based encryption is not so flexible as ecryptfs, but apart from the impression I have that it feels faster, it is network friendly as much as any other block based storage device.</p>
<p>If you plan on sharing somehow that encrypted data of yours, perhaps it&#8217;s best to avoid ecryptfs.</p>
<br /> Tagged: <a href='http://stoilis.wordpress.com/tag/ecryptfs/'>ecryptfs</a>, <a href='http://stoilis.wordpress.com/tag/encryption/'>encryption</a>, <a href='http://stoilis.wordpress.com/tag/linux/'>linux</a>, <a href='http://stoilis.wordpress.com/tag/luks/'>luks</a>, <a href='http://stoilis.wordpress.com/tag/planet_hellug/'>planet_hellug</a>, <a href='http://stoilis.wordpress.com/tag/planet_sysadmin/'>planet_sysadmin</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/360/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=360&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2010/12/24/ecryptfs-is-not-network-friendly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>
	</item>
		<item>
		<title>A solution for dead links: Introducing Dynamic Links</title>
		<link>http://stoilis.wordpress.com/2010/09/23/a-solution-for-dead-links-introducing-dynamic-links/</link>
		<comments>http://stoilis.wordpress.com/2010/09/23/a-solution-for-dead-links-introducing-dynamic-links/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 11:00:06 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[ranting]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=353</guid>
		<description><![CDATA[I had an idea about the way the internet and SEO works the other day while surfing, which I&#8217;d like to share. I was reading a technical article offering some insights about a technology I am unfamiliar with. It had &#8230; <a href="http://stoilis.wordpress.com/2010/09/23/a-solution-for-dead-links-introducing-dynamic-links/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=353&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I had an idea about the way the internet and SEO works the other day while surfing, which I&#8217;d like to share.</p>
<p>I was reading a technical article offering some insights about a technology I am unfamiliar with. It had many unknown, for me, keywords, but fortunately each one of them was linked to other appropriate articles around the web.</p>
<p>Since the article was old, while clicking some of the links I discovered that most of them were dead, either because they expired or because they were hosted on a currently unreachable server. So I went on to search for the keywords by myself, using Google.</p>
<p>I&#8217;m sure the above doesn&#8217;t sound too interesting but bare with me.</p>
<p>The web, with its ever-changing nature, is even now filled with dead links. Keeping the links updated is no small task when one has to maintain lots of information. Wikipedia seems to be doing a pretty good on this topic but they are powered by an army of volunteers. What about the rest of us?</p>
<p>Entities that know all of the current best links and information pages for any given topic do exist. They are called search engines.</p>
<p>So what could change? Why not always link to a search, instead of a direct article?</p>
<p>For example, if someone would use an article about the economic crisis of Greece as an argument to their blog, why not link to a specific Google query and let Google sort out the best article on the topic?</p>
<p>I don&#8217;t know if what I&#8217;m proposing is viable, but I do know that with the web evolving faster and faster each day, the dead link problem becomes more obvious as time goes by.</p>
<p>The consequences of using dynamic links are enormous.</p>
<p>First of all, SEO rank information based on static links between them. If one would replace static links with dynamic ones, then there would be no way, with current methods, to rank information. So while dynamic links can be useful, they can only be partly implemented, as static links must always be there, somehow. Either this or search engines need to find another objective way to rank information.</p>
<p>Second, if instead of linking directly to a site we start linking to search engines queries instead, then we give over even more power to search engines to decide about the information flow. That can&#8217;t be good as diversity should always be available. Perhaps a dynamic link could compare results from different search engines and combine them to make an educated guess about the best possible result. This could mean that meta-searching will be back in some form.</p>
<p>Third, and last, is the context matter. The economic situation of Greece is bad and any article currently will reflect that. Tomorrow, however, is another day and the same query will probably fetch different results, depending on the situation of that time. The link could become obsolete and although it will fetch information, it may not be the intended information at all.</p>
<p>Search engine personalization is all about fetching information that we specifically want, not something most of the people want. If dynamic links become the norm, search engines will need to analyze the source article of a query and perhaps tweak the results to be as relevant possible.</p>
<p>The dynamic link approach may actually ridden the world from dead links and that can only be a good thing. Most of us technologists imagine the future as an era where information will always be available effortlessly and instantly when we needed, being both accurate and in context.</p>
<p>Well, does anyone imagine struggling with overcoming dead links in this picture? I don&#8217;t think so.</p>
<br /> Tagged: <a href='http://stoilis.wordpress.com/tag/google/'>google</a>, <a href='http://stoilis.wordpress.com/tag/internet/'>internet</a>, <a href='http://stoilis.wordpress.com/tag/ranting/'>ranting</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/353/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=353&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2010/09/23/a-solution-for-dead-links-introducing-dynamic-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>
	</item>
		<item>
		<title>Cron ignoring NFS-linked files occasionally</title>
		<link>http://stoilis.wordpress.com/2010/09/08/cron-ignoring-nfs-linked-files-occasionally/</link>
		<comments>http://stoilis.wordpress.com/2010/09/08/cron-ignoring-nfs-linked-files-occasionally/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 10:02:59 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[planet_hellug]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=350</guid>
		<description><![CDATA[Some cron jobs files are fairly complicated, so I decided to move them in a common NFS folder and share it among all of my local Linux servers. After that, I just created symbolic links in /etc/cron.d/ pointing to the &#8230; <a href="http://stoilis.wordpress.com/2010/09/08/cron-ignoring-nfs-linked-files-occasionally/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=350&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some cron jobs files are fairly complicated, so I decided to move them in a common NFS folder and share it among all of my local Linux servers.</p>
<p>After that, I just created symbolic links in /etc/cron.d/ pointing to the NFS share and everything seem to be working perfectly.</p>
<p>Or so I thought.</p>
<p>It seems that cron is a bit sensitive on file availability. If, for some reason, a symblic link becomes dead temporarily, because the NFS mount lost temporary connection to the NFS server, then cron will ignore that configuration file, even after the connectivity of the link is restored.</p>
<p>So basically, cron started skipping some jobs. Restarting it solves the problem, but only until the next time it happens.</p>
<p>Weird. I reverted to the old scenario, where are of the cron files are local to the server using them.</p>
<p>It happens on Ubuntu 10.04 for sure.</p>
<br /> Tagged: <a href='http://stoilis.wordpress.com/tag/bug/'>bug</a>, <a href='http://stoilis.wordpress.com/tag/cron/'>cron</a>, <a href='http://stoilis.wordpress.com/tag/planet_hellug/'>planet_hellug</a>, <a href='http://stoilis.wordpress.com/tag/ubuntu/'>ubuntu</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/350/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=350&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2010/09/08/cron-ignoring-nfs-linked-files-occasionally/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>
	</item>
		<item>
		<title>Share or die&#8230;</title>
		<link>http://stoilis.wordpress.com/2010/09/01/share-or-die/</link>
		<comments>http://stoilis.wordpress.com/2010/09/01/share-or-die/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 08:47:00 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=348</guid>
		<description><![CDATA[I was asked to describe a past project of mine, so I chose the &#8220;common&#8221; project. This not new stuff, anything you read here will probably strike as obvious to any fairly current linux system administrator. However, this was done &#8230; <a href="http://stoilis.wordpress.com/2010/09/01/share-or-die/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=348&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was asked to describe a past project of mine, so I chose the &#8220;common&#8221; project.</p>
<p>This not new stuff, anything you read here will probably strike as obvious to any fairly current linux system administrator.</p>
<p>However, this was done in 2003 and nothing similar then, nor puppet or cfengine was available at that time. As far as I know, it was an original and unique concept. Please correct me if you know better.</p>
<p>I kept it for myself, not for profit but of pure laziness. Hopefully, it can still do some good, although I doubt it.</p>
<p>Configuration Unification Project<br />
Initial Project goal: Provide a common storage medium for all common settings between several different and commonly disconnected Linux servers.</p>
<p>Problem:  I had several different servers, each dedicated to specific tasks.  However, most of them had common settings. If I wanted to change  something network wide, I had to manually replicate the change by hand  to each server separately.</p>
<p>Project requirements:</p>
<ul>
<li>The common set of files should be accessible even when the server is offline</li>
<li>Multi-master  configuration. Every server with a copy of the common set of files  should be able to replicate any change made to any one else.</li>
<li>No common or shared physical storage between servers. Each server would be located in different geographic locations</li>
<li>The  set of technologies used should be accessible to any fairly recent  Linux distributions. Compiling and custom kernel modules should be  avoided.</li>
<li>The  method should not require separate physical partition on the server. It  should  be deployed on current production servers without much  difficulty.</li>
<li>Lightness. The method should only replicate the changes and nothing else.</li>
</ul>
<p>1st stage: Evaluate available technologies</p>
<p>Evaluation  was done on technologies such as NFS, rsync, DRBD, GFS and other  filesystems but none of them satisfied all of the requirements.</p>
<p>Note:  This was done 2003 at a time when where no puppet, cfengine or other  similar free technologies existed or were stable enough for enterprise  use. As far as I know, no similar project existed at that time.</p>
<p>The implementation was finally based on three separate and freely available programs:</p>
<ul>
<li>DSH  stands for distributed shell. It&#8217;s a system for sending identical  commands to many Linux servers at once. It’s secure, as it can be based  on SSH.</li>
<li>Subversion  is a Revision Control System. Its job to store a file hierarchy along  with any changes committed to it in the future. Since it stores only the  changes, it is perfect for distributing changes very efficiently.</li>
<li>Cron is the system task scheduler found in any Linux distribution.</li>
</ul>
<p>2nd stage: Implementation</p>
<p>There  was a central SVN repository somewhere, reachable by every other  server. The location of the server was found by the clients via a DNS  alias, so moving the repository elsewhere on demand(for example after a  server failure) was very easy to do and no client reconfiguration was  necessary at all, other than a simple DNS alias update.</p>
<p>After  each new Linux server was introduced to the network, it run a script  where it replicated the common set of files from the SVN repository  locally, so each new server had each own copy of the current state of  the common set of files in a simple local directory.</p>
<p>On  regular configurable intervals, but specifically random for each client  to avoid conflicts, each client would check via cron its version of the  common files. Depending on the change found, it would either replicate  the local change to the main SVN repository or introduce the change  found on the repository to the local copy.</p>
<p>After  the repository was changed, each client would replicate the change  locally in due time. If the change was urgent, there was an option where  the client, using dsh, could instruct all the others to wake up and  update their copy as soon as possible.</p>
<p>Some  changes to configuration also required the restart of their respective  services, network wide. With DSH and the proper grouping techniques it  offers, I was able to massively restart simultaneously at the same time  every related service in the network with just one command.</p>
<p>3rd stage: Configuration Versioning and Service Redundancy</p>
<p>After  the above was completed, I realized that I accidentally, as a  consequence of using an RCS for replication, I also had a full history  of all the changes of every common configuration file in the network.</p>
<p>In  short time, I added every server&#8217;s configuration, either common or  private to the repository. So at any point in time I was able to revent  any kind of change that introduced a problem. Specifically, I was able  to troubleshoot any new problem more easily, since I was able to know at  once whether the problem could be related to a recent change of a  neighbouring service.</p>
<p>Furthermore,  moving a service from one server to another was then a matter of  minutes. All one had to do is install the service’s software and then  create a symbolic link for its configuration files to the common file  repository.</p>
<p>4th stage: Cross-platform Configuration Backup.</p>
<p>Given  the benefits of such a system, I started writing modules that would  dump configuration of the common filesystem of other devices as well,  non Linux ones, like access points, switches, routers, network printers,  network cameras, windows services, and even the Active Directory  itself.</p>
<p>I  wrote modules that would export configuration of any kind of a network  device or service that would run periodically and dump information as  files to the common filesystem. Since the system keeps every change  made, I ended up having the configuration of hundreds of different  network devices at literally any point in time.</p>
<p>Extra  attention was given to the format of the file, as it should be  something easily imported back to the device, in case it needed a  configuration restore.</p>
<p>5th stage: Alerting</p>
<p>After  having a common repository for every change, it was easy to monitor for  changes in just about anything. I wrote a module where it would monitor  for changes in critical files, such the as the one representing the  configuration of a router. If a change was detected, it would sent an  e-mail with a side by side comparison of the old and the new  configuration file, highlighting the change made. This way, I and other  administrators could monitor the changes of every critical device in the  network and act in the event of an unauthorized change and just be  informed about the authorized ones.</p>
<p>6th stage: Migration to Puppet</p>
<p>I’m  keeping the system up to date, by writing scripts than can dump  configuration information from any kind of network device. The language  of this script varies, depending on the situation. Up until now I’ve  used technologies such as SNMP, LDAP, expect, Perl, Python, Bash, PHP  and so on.</p>
<p>I  am currently in the process of evaluating puppet for integration into  the system, for the part of system configuration enforcement and  deployment.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/348/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=348&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2010/09/01/share-or-die/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>
	</item>
		<item>
		<title>Worst. Security. Policy. Ever. Meet National Back of Greece!</title>
		<link>http://stoilis.wordpress.com/2010/08/19/worst-security-policy-ever-meet-national-back-of-greece/</link>
		<comments>http://stoilis.wordpress.com/2010/08/19/worst-security-policy-ever-meet-national-back-of-greece/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 05:37:47 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[banking]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[whining]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=334</guid>
		<description><![CDATA[This is another one of those whining posts. Sorry, I couldn&#8217;t help it. Really! It seems that the National Bank of Greece, the largest financial organization of the country, has a VERY STRICT password policy, in regards to their Internet &#8230; <a href="http://stoilis.wordpress.com/2010/08/19/worst-security-policy-ever-meet-national-back-of-greece/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=334&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is another one of those whining posts. Sorry, I couldn&#8217;t help it. Really!</p>
<p>It seems that the <a href="http://www.nbg.gr">National Bank of Greece</a>, the largest financial organization of the country, has a VERY STRICT password policy, in regards to their Internet Banking.</p>
<p>And by strict, I mean that one is not allowed to choose a password with MORE than 5 characters.  In addition, one is not allowed to use symbols at all, only latin characters and numbers! This is a screenshot:</p>
<p><a href="http://stoilis.files.wordpress.com/2010/08/nbgpass1.png"><img class="aligncenter size-full wp-image-344" title="nbgpass" src="http://stoilis.files.wordpress.com/2010/08/nbgpass1.png?w=500&#038;h=187" alt="" width="500" height="187" /></a></p>
<blockquote><p>Your new Password should have 5 characters and consist of numbers, letters (only  		Latin) or a combination of both. In addition, we inform you that if your password remains unchanged 		for a period of two months, the system will ask you to change it.</p></blockquote>
<p>No, these are not the minimum password complexity requirements, these are the limits!</p>
<p>*sigh*&#8230;</p>
<p>If only my account there wasn&#8217;t mandatory by my employer&#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<br /> Tagged: <a href='http://stoilis.wordpress.com/tag/banking/'>banking</a>, <a href='http://stoilis.wordpress.com/tag/security/'>security</a>, <a href='http://stoilis.wordpress.com/tag/whining/'>whining</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/334/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=334&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2010/08/19/worst-security-policy-ever-meet-national-back-of-greece/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>

		<media:content url="http://stoilis.files.wordpress.com/2010/08/nbgpass1.png" medium="image">
			<media:title type="html">nbgpass</media:title>
		</media:content>
	</item>
		<item>
		<title>Connecting to Oracle 8.1.6 via PHP</title>
		<link>http://stoilis.wordpress.com/2010/08/18/connecting-to-oracle-8-1-6-via-php/</link>
		<comments>http://stoilis.wordpress.com/2010/08/18/connecting-to-oracle-8-1-6-via-php/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 08:09:51 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[instantclient]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[planet_hellug]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=330</guid>
		<description><![CDATA[A need came up that an internal web application, located on a linux server, needed access to some data located inside a live Oracle 8.1.6 database. Under normal circumstances, one would download Oracle&#8217;s InstantClient with the SDK component, and then &#8230; <a href="http://stoilis.wordpress.com/2010/08/18/connecting-to-oracle-8-1-6-via-php/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=330&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A need came up that an internal web application, located on a linux server, needed access to some data located inside a live Oracle 8.1.6 database.</p>
<p>Under normal circumstances, one would download Oracle&#8217;s InstantClient with the SDK component, and then install the OCI8 php module via PECL.</p>
<p>However, this isn&#8217;t the case, thus the reason for me posting this. Oracle&#8217;s InstantClient 11 doesn&#8217;t support connecting to such an old database version:</p>
<p>ORA-03134: Connections to this server version are no longer supported.</p>
<p>The oldest client Oracle currently distributes is version 10, which, although I found some references to the contrary, doesn&#8217;t work either.</p>
<p>So what I did is install IIS and PHP on the Windows Oracle Server. Since Oracle&#8217;s DLL&#8217;s where there for the taking and since windows PHP is distributed in binary form(including the oci8 module), all would be OK.</p>
<p>However, the only remaining problem was that the latest PHP was compiled against the latest Oracle Client too. So, I downgraded my PHP version by version, until I found the one that worked. It seems that PHP 5.0.4 is the winner.</p>
<p>So, the bottom line is that if you want PHP to connect to an old Oracle database, use an also old binary PHP distribution that includes the binary oci8 module. How old probably depends on your database.</p>
<br /> Tagged: <a href='http://stoilis.wordpress.com/tag/instantclient/'>instantclient</a>, <a href='http://stoilis.wordpress.com/tag/linux/'>linux</a>, <a href='http://stoilis.wordpress.com/tag/oracle/'>oracle</a>, <a href='http://stoilis.wordpress.com/tag/php/'>php</a>, <a href='http://stoilis.wordpress.com/tag/planet_hellug/'>planet_hellug</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/330/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=330&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2010/08/18/connecting-to-oracle-8-1-6-via-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>
	</item>
		<item>
		<title>Lucid doesn&#8217;t boot? Check /etc/fstab!</title>
		<link>http://stoilis.wordpress.com/2010/07/08/lucid-doesnt-boot-check-etcfstab/</link>
		<comments>http://stoilis.wordpress.com/2010/07/08/lucid-doesnt-boot-check-etcfstab/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 05:14:55 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[mountall]]></category>
		<category><![CDATA[planet_hellug]]></category>
		<category><![CDATA[planet_sysadmin]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=324</guid>
		<description><![CDATA[One of the worst bugs in linux distributions I&#8217;ve seen, lies inside mountall of Ubuntu Lucid. Three times it failed me, leaving my servers unable to boot, stuck just after readeahead&#8217;s messages, without any error message whatsoever. At first it &#8230; <a href="http://stoilis.wordpress.com/2010/07/08/lucid-doesnt-boot-check-etcfstab/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=324&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the worst bugs in linux distributions I&#8217;ve seen, lies inside mountall of Ubuntu Lucid.</p>
<p>Three times it failed me, leaving my servers unable to boot, stuck just after readeahead&#8217;s messages, without any error message whatsoever.</p>
<p>At first it didn&#8217;t like my nfs fstab entries. So I removed them and mounted them after the boot.</p>
<p>Then it considered that my external usb hard disk(which I had auto mounted in fstab) missing is something so critical, that it didn&#8217;t continue booting.</p>
<p>Today, after a bios reset(and therefore bios datetime reset), it still wouldn&#8217;t boot. I found the message &#8220;mount time of this partition is in the future&#8221; so I corrected the time and only after that did my system boot.</p>
<p>In all of the above occasions, which happened on three different servers, the boot process would halt, without any explanation.</p>
<p>Way to go, Ubuntu&#8230;! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>So, if you find your system unable to boot, do yourself a favor and strip your fstab to the absolute minimum and debug the boot process around mountall&#8230;</p>
<br /> Tagged: <a href='http://stoilis.wordpress.com/tag/lucid/'>lucid</a>, <a href='http://stoilis.wordpress.com/tag/mountall/'>mountall</a>, <a href='http://stoilis.wordpress.com/tag/planet_hellug/'>planet_hellug</a>, <a href='http://stoilis.wordpress.com/tag/planet_sysadmin/'>planet_sysadmin</a>, <a href='http://stoilis.wordpress.com/tag/ubuntu/'>ubuntu</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/324/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=324&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2010/07/08/lucid-doesnt-boot-check-etcfstab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>
	</item>
		<item>
		<title>O κομμουνισμός του uptime(περί αναδιανομής &#8220;πλούτου&#8221;)</title>
		<link>http://stoilis.wordpress.com/2010/06/30/o-%ce%ba%ce%bf%ce%bc%ce%bc%ce%bf%cf%85%ce%bd%ce%b9%cf%83%ce%bc%cf%8c%cf%82-%cf%84%ce%bf%cf%85-uptime%cf%80%ce%b5%cf%81%ce%af-%ce%b1%ce%bd%ce%b1%ce%b4%ce%b9%ce%b1%ce%bd%ce%bf%ce%bc%ce%ae%cf%82/</link>
		<comments>http://stoilis.wordpress.com/2010/06/30/o-%ce%ba%ce%bf%ce%bc%ce%bc%ce%bf%cf%85%ce%bd%ce%b9%cf%83%ce%bc%cf%8c%cf%82-%cf%84%ce%bf%cf%85-uptime%cf%80%ce%b5%cf%81%ce%af-%ce%b1%ce%bd%ce%b1%ce%b4%ce%b9%ce%b1%ce%bd%ce%bf%ce%bc%ce%ae%cf%82/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 05:37:47 +0000</pubDate>
		<dc:creator>stoilis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[planet_hellug]]></category>

		<guid isPermaLink="false">http://stoilis.wordpress.com/?p=322</guid>
		<description><![CDATA[Μου φάνηκε επίκαιρο&#8230; (Πληροφοριακός) Κομμουνισμός: Το καθεστώς όπου όλες οι δικτυακές συσκευές έχουν περίπου το ίδιο uptime. Και αν κάποιοι πάμε να ξεφύγουμε, έρχεται η ΔΕΗ να επιβάλει την ισότητα και μας γυρίζει όλους στο 0&#8230; Tagged: humor, planet_hellug<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=322&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Μου φάνηκε επίκαιρο&#8230;</p>
<p>(Πληροφοριακός) Κομμουνισμός: Το καθεστώς όπου όλες οι δικτυακές συσκευές έχουν περίπου το ίδιο uptime. Και αν κάποιοι πάμε να ξεφύγουμε, έρχεται η ΔΕΗ να επιβάλει την ισότητα και μας γυρίζει όλους στο 0&#8230;</p>
<br /> Tagged: <a href='http://stoilis.wordpress.com/tag/humor/'>humor</a>, <a href='http://stoilis.wordpress.com/tag/planet_hellug/'>planet_hellug</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stoilis.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stoilis.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stoilis.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stoilis.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stoilis.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stoilis.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stoilis.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stoilis.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stoilis.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stoilis.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stoilis.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stoilis.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stoilis.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stoilis.wordpress.com/322/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stoilis.wordpress.com&amp;blog=7700641&amp;post=322&amp;subd=stoilis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stoilis.wordpress.com/2010/06/30/o-%ce%ba%ce%bf%ce%bc%ce%bc%ce%bf%cf%85%ce%bd%ce%b9%cf%83%ce%bc%cf%8c%cf%82-%cf%84%ce%bf%cf%85-uptime%cf%80%ce%b5%cf%81%ce%af-%ce%b1%ce%bd%ce%b1%ce%b4%ce%b9%ce%b1%ce%bd%ce%bf%ce%bc%ce%ae%cf%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ea433ebd2c22c0063e6a310dbcc6d58?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">stoilis</media:title>
		</media:content>
	</item>
	</channel>
</rss>
