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

<channel>
	<title>alexander kirk &#187; misc</title>
	<atom:link href="http://alexander.kirk.at/category/misc/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexander.kirk.at</link>
	<description></description>
	<lastBuildDate>Thu, 22 Jul 2010 15:11:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Website Optimization, a book by Andrew B. King</title>
		<link>http://alexander.kirk.at/2008/08/21/website-optimization-a-book-by-andrew-b-king/</link>
		<comments>http://alexander.kirk.at/2008/08/21/website-optimization-a-book-by-andrew-b-king/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 11:39:18 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[misc]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://alexander.kirk.at/?p=90</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div style="float: right; padding: 5px"<a href=""><img src="http://alexander.kirk.at/img/9780596515089_cat.gif" alt="Website Optimization" border="0"/></a></div>
<p>This time I&#039;m reviewing a book by Andy King. Unlike <a href="http://alexander.kirk.at/2007/09/26/high-performance-web-sites/">High Performance website</a> by Steve Souders, it doesn&#039;t solely focus on the speed side of optimization, but it adds the art of Search Engine Optimization to form a compelling mix in a single book.</p>
<p>If you have a website that underperforms your expectations, this single book can be your one-stop shop to get all the knowledge you need.</p>
<p>Andy uses interesting examples of how he succeeded in improving his clients&#039; pages that illustrate well what he describes in theory before. He not only focuses on how to make your website show up at high ranks in search engines (what he calls &#034;natural SEO&#034;), but also discusses in detail how to use pay per click (PPC) ads to drive even more people to one&#039;s site. I especially liked how Andy describes how to find the best keywords to pick and also describes how to monitor success of PPC.</p>
<p>The part about the optimization for speed feels a little too separated in the book. It is a good read and provides similar content as Steve Souders book, though the level of detail feels a little awkward considering how different the audience for the SEO part of the book is. Still, programmers can easily get deep knowledge about how to get that page load fast. </p>
<p>Unfortunately Andy missed out a little on bringing this all into the grand picture. Why would I want to follow not only SEO but also optimize the speed of the page? There is a chapter meant to &#034;bridge&#034; the topics, but it turns out to be about how to properly do statistics and use the correct metrics. Important, but not enough to really connect the topics (and actually I would have expected this bridging beforehand).</p>
<p>Altogether I would have structured things a little different. For example: It&#039;s the content that makes search engines find the page and makes people return to a page, yet Andy explains how to pick the right keywords for the content first whereas he tells the reader how to create it only afterwards.<br />
Everything is there, I had just hoped for a different organization of things.</p>
<p>All in all, the book really deserves the broad title &#034;Website Optimization.&#034; Other books leave out SEO which usually is the thing that people mean when they want to optimize their websites (or have them optimized).</p>
<p>I really liked that the topics are combined a book and I highly recommend the book for everyone who wants to get his or her website in shape.</p>
<p>The book has been published by O&#039;Reilly in July 2008, ISBN <a href="http://www.oreilly.com/catalog/9780596515089/">9780596515089</a>. Also take a look at the <a href="http://www.websiteoptimization.com/secrets/">Website Optimization Secrets</a> companion site.</p>
<p>Thanks to Andy for providing me a review copy of this book.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2008/08/21/website-optimization-a-book-by-andrew-b-king/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>This was FOWA Expo 2007</title>
		<link>http://alexander.kirk.at/2007/10/07/this-was-fowa-expo-2007/</link>
		<comments>http://alexander.kirk.at/2007/10/07/this-was-fowa-expo-2007/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 15:43:44 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://alexander.kirk.at/2007/10/07/this-was-fowa-expo-2007/</guid>
		<description><![CDATA[I have been attending this year&#039;s Future of Web Apps Expo in London&#039;s ExCeL centre. There were a ton of interesting speakers and I enjoyed listening a lot. Amongst others there were Steve Souders of Yahoo (High Performance Web Sites), Paul Graham of Y Combinator (The future of web startups), Matt Mullenweg of WordPress.com (The [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right"><a class="imagelink" href="http://alexander.kirk.at/wp-content/uploads/2007/10/fowa.jpg" title="fowa.jpg"><img id="image81" src="http://alexander.kirk.at/wp-content/uploads/2007/10/fowa.thumbnail.jpg" alt="fowa.jpg" /></a></div>
<p>I have been attending this year&#039;s <a href="http://www.futureofwebapps.com/">Future of Web Apps Expo</a> in London&#039;s ExCeL centre.</p>
<p>There were a ton of <a href="http://www.futureofwebapps.com/speakers.html">interesting speakers</a> and I enjoyed listening a lot. Amongst others there were <a href="http://alexander.kirk.at/2007/09/26/high-performance-web-sites/">Steve Souders</a> of Yahoo (High Performance Web Sites), <a href="http://www.paulgraham.com/webstartups.html">Paul Graham</a> of Y Combinator (The future of web startups), <a href="http://photomatt.net/">Matt Mullenweg</a> of WordPress.com (The architecture of WordPress.com, he was the only one to go into some detail) and <a href="http://kevinrose.com/">Kevin Rose</a> of digg (Launching Startups).</p>
<p>I also enjoyed Robin Christopherson&#039;s talk very much. He is vision impaired and showed how he browses the web (amazing how fast he had set the speed of his screen reader &#045;&#045;&#045; I know why and guess that most vision impared people turn up the speed, yet it still feels awkward to listen to it) and which challenges therefore arise. Unfortunately <a href="http://shiflett.org">Chris Shiflett</a> only held a workshop which I was not attending.</p>
<p>The conference was clearly not so much for developers (at some points I would have greatly enjoyed some delving into code), so I am trying to keep my eyes open for even nerdier conferences :) Any suggestions?</p>
<p>On the evening of the first day there was a <a href="http://revision3.com/diggnation/2007-10-04London">&#034;live&#034; diggnation recorded</a> which was pretty fun.</p>
<p>According to Ryan Carson, he will be publishing audio files of the talks on <a href="http://www.futureofwebapps.com/">www.futureofwebapps.com</a> soon. Thanks to <a href="http://www.carsonified.com/">Carsonified</a> for installing this great conference. I hope I will be able to return next year.</p>
<p>I have posted <a href="http://www.flickr.com/photos/alexanderkirk/sets/72157602298386730/">more photos to flickr</a>.</p>
<p><a href="http://technorati.com/tag/fowa" rel="tag">fowa</a>, <a href="http://technorati.com/tag/fowa+2007" rel="tag"> fowa 2007</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2007/10/07/this-was-fowa-expo-2007/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Poor Finder</title>
		<link>http://alexander.kirk.at/2007/09/25/poor-finder/</link>
		<comments>http://alexander.kirk.at/2007/09/25/poor-finder/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 15:51:39 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://alexander.kirk.at/2007/09/25/poor-finder/</guid>
		<description><![CDATA[Today my Dock was playing a little weird. I am not aware of any crime that my Finder should have committed.]]></description>
			<content:encoded><![CDATA[<p>Today my Dock was playing a little weird. I am not aware of any crime that my Finder should have committed.</p>
<p><img src="http://alexander.kirk.at/img/poor_finder.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2007/09/25/poor-finder/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What does &quot;size&quot; in int(size) of MySQL mean?</title>
		<link>http://alexander.kirk.at/2007/08/24/what-does-size-in-intsize-of-mysql-mean/</link>
		<comments>http://alexander.kirk.at/2007/08/24/what-does-size-in-intsize-of-mysql-mean/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 20:40:59 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://alexander.kirk.at/2007/08/24/what-does-size-in-intsize-of-mysql-mean/</guid>
		<description><![CDATA[I was always wondering what the size of numeric columns in MySQL was. Forgive me if this is obvious to someone else. But for me the MySQL manual lacks a great deal in this field. Usually you see something like int(11) in CREATE TABLE statements, but you can also change it to int(4). So what [...]]]></description>
			<content:encoded><![CDATA[<p>I was always wondering what the <i>size</i> of numeric columns in MySQL was. Forgive me if this is obvious to someone else. But for me the MySQL manual lacks a great deal in this field.</p>
<p>Usually you see something like <tt>int(11)</tt> in <tt>CREATE TABLE</tt> statements, but you can also change it to <tt>int(4)</tt>.</p>
<p>So what does this size mean? Can you store higher values in a <tt>int(11)</tt> than in an <tt>int(4)</tt>?</p>
<p>Let&#039;s see what the <a href="http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html">MySQL manual</a> says:</p>
<blockquote><p>
INT[(M)] [UNSIGNED] [ZEROFILL]<br />
A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.</p></blockquote>
<p>No word about the <tt>M</tt>. The entry about <tt>BOOL</tt> suggests that the size is not there for fun as it is a synonym for <tt>TINYINT(1)</tt> (with the specific size of 1).</p>
<blockquote><p>
TINYINT[(M)] [UNSIGNED] [ZEROFILL]<br />
A very small integer. The signed range is -128 to 127. The unsigned range is 0 to 255.</p>
<p>BOOL, BOOLEAN<br />
These types are synonyms for TINYINT(1). A value of zero is considered false. Non-zero values are considered true: [...]</p></blockquote>
<p>So <tt>TINYINT(1)</tt> must be different in some way from <tt>TINYINT(4)</tt> which is assumed by default when you leave the size out<sup>1</sup>. Still, you can store for example 100 into a <tt>TINYINT(1)</tt>.</p>
<p>Finally, let&#039;s come to the place of the manual where there is the biggest hint to what the number means:</p>
<blockquote><p>Several of the data type descriptions use these conventions:</p>
<p> M indicates the maximum display width for integer types. For floating-point and fixed-point types, M is the total number of digits that can be stored. For string types, M is the maximum length. The maximum allowable value of M depends on the data type.</p></blockquote>
<p>It&#039;s about the <i>display width</i>. The weird thing is, though<sup>2</sup>, that, for example, if you have a value of 5 digits in a field with a display width of 4 digits, the display width will not cut a digits off.</p>
<p>If the value has less digits than the display width, nothing happens either. So it seems like the display doesn&#039;t have any effect in real life.</p>
<p>Now<sup>2</sup> <tt>ZEROFILL</tt> comes into play. It is a neat feature that pads values that are (here it comes) less than the specified <i>display width</i> with zeros, so that you will always receive a value of the specified length. This is for example useful for invoice ids.</p>
<p><b>So, concluding:</b> The size is neither bits nor bytes. It&#039;s just the display width, that is used when the field has <tt>ZEROFILL</tt> specified.</p>
<p>If you see any more uses in the <tt>size</tt> value, please tell me. I am curious to know.</p>
<p><sup>1</sup> See this example:<br />
<tt>mysql> create table a ( a tinyint );<br />
Query OK, 0 rows affected (0.29 sec)<br />
mysql> show columns from a;<br />
+-------+------------+------+-----+---------+-------+<br />
| Field | Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Null | Key | Default | Extra |<br />
+-------+------------+------+-----+---------+-------+<br />
| a&nbsp;&nbsp;&nbsp;&nbsp; | tinyint(4) | YES&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; | NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />
+-------+------------+------+-----+---------+-------+<br />
1 row in set (0.26 sec)</p>
<p>mysql> alter table a change a a tinyint(1);<br />
Query OK, 0 rows affected (0.09 sec)<br />
Records: 0&nbsp;&nbsp;Duplicates: 0&nbsp;&nbsp;Warnings: 0</p>
<p>mysql> insert into a values (100);<br />
Query OK, 1 row affected (0.00 sec)</p>
<p>mysql> select * from a;<br />
+-----+<br />
| a&nbsp;&nbsp; |<br />
+-----+<br />
| 100 |<br />
+-----+<br />
1 row in set (0.00 sec)</p>
<p></tt></p>
<p><sup>2</sup> Some code to better explain what I described so clumsily.<br />
<tt>mysql> create table b ( b int (4));<br />
Query OK, 0 rows affected (0.25 sec)</p>
<p>mysql> insert into b values (10000);<br />
Query OK, 1 row affected (0.00 sec)</p>
<p>mysql> select * from b;<br />
+-------+<br />
| b&nbsp;&nbsp;&nbsp;&nbsp; |<br />
+-------+<br />
| 10000 |<br />
+-------+<br />
1 row in set (0.00 sec)</p>
<p>mysql> alter table b change b b int(11);<br />
Query OK, 1 row affected (0.00 sec)<br />
Records: 1&nbsp;&nbsp;Duplicates: 0&nbsp;&nbsp;Warnings: 0</p>
<p>mysql> select * from b;<br />
+-------+<br />
| b&nbsp;&nbsp;&nbsp;&nbsp; |<br />
+-------+<br />
| 10000 |<br />
+-------+<br />
1 row in set (0.00 sec)</p>
<p>mysql> alter table b change b b int(11) zerofill;<br />
Query OK, 1 row affected (0.00 sec)<br />
Records: 1&nbsp;&nbsp;Duplicates: 0&nbsp;&nbsp;Warnings: 0</p>
<p>mysql> select * from b;<br />
+-------------+<br />
| b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />
+-------------+<br />
| 00000010000 |<br />
+-------------+<br />
1 row in set (0.00 sec)</p>
<p>mysql> alter table b change b b int(4) zerofill;<br />
Query OK, 1 row affected (0.08 sec)<br />
Records: 1&nbsp;&nbsp;Duplicates: 0&nbsp;&nbsp;Warnings: 0</p>
<p>mysql> select * from b;<br />
+-------+<br />
| b&nbsp;&nbsp;&nbsp;&nbsp; |<br />
+-------+<br />
| 10000 |<br />
+-------+<br />
1 row in set (0.00 sec)</p>
<p>mysql> alter table b change b b int(6) zerofill;<br />
Query OK, 1 row affected (0.01 sec)<br />
Records: 1&nbsp;&nbsp;Duplicates: 0&nbsp;&nbsp;Warnings: 0</p>
<p>mysql> select * from b;<br />
+--------+<br />
| b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br />
+--------+<br />
| 010000 |<br />
+--------+<br />
1 row in set (0.00 sec)<br />
</tt></p>
<p><a href="http://technorati.com/tag/mysql" rel="tag">mysql</a>, <a href="http://technorati.com/tag/field+size" rel="tag"> field size</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2007/08/24/what-does-size-in-intsize-of-mysql-mean/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I do not agree to the publication of this photo</title>
		<link>http://alexander.kirk.at/2007/06/22/i-do-not-agree-to-the-publication-of-this-photo/</link>
		<comments>http://alexander.kirk.at/2007/06/22/i-do-not-agree-to-the-publication-of-this-photo/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 10:17:53 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://alexander.kirk.at/2007/06/22/i-do-not-agree-to-the-publication-of-this-photo/</guid>
		<description><![CDATA[I have been asked several times where one could get the t-shirt that I was wearing. The answer is simple: I have created a Spreadshirt shop. So if you want to get one for yourself (or someone else), go ahead and get it :) There is also a German version available (I am a native [...]]]></description>
			<content:encoded><![CDATA[<p>I have been asked several times where one could get the t-shirt that I was wearing.</p>
<p><a href="http://www.spreadshirt.net/shop.php?sid=195305"><img src="/wp-content/i-do-not-agree-to-the-publication-of-this-photo.jpg" border=0 /></a></p>
<p>The answer is simple: I have created a <a href="http://www.spreadshirt.net/shop.php?sid=195305">Spreadshirt shop</a>.<br />
So if you want to get one for yourself (or someone else), go ahead and get it :)</p>
<p>There is also a German version available (I am a native German speaker :), if you&#039;d like to translate it to your language, I can add it there with no problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2007/06/22/i-do-not-agree-to-the-publication-of-this-photo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spamhaus.org no longer lists Austrian Registry on its Block List</title>
		<link>http://alexander.kirk.at/2007/06/19/spamhausorg-lists-austrian-registry-on-its-block-list/</link>
		<comments>http://alexander.kirk.at/2007/06/19/spamhausorg-lists-austrian-registry-on-its-block-list/#comments</comments>
		<pubDate>Tue, 19 Jun 2007 19:54:43 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://alexander.kirk.at/2007/06/19/spamhausorg-lists-austrian-registry-on-its-block-list/</guid>
		<description><![CDATA[It has come to my attention today that the almost famous Spam Block List provider put the IP addresses of the Austrian Registry nic.at on their block list. The list that Spamhaus provides is actually something good: it allows mail server administrators to automatically block mails arriving from servers that are known to be operated [...]]]></description>
			<content:encoded><![CDATA[<p>It has come to my attention today that the <a href="http://arstechnica.com/news.ars/post/20060915-7757.html">almost famous</a> Spam Block List provider put the IP addresses of the Austrian Registry <a href="http://nic.at/">nic.at</a> on their <a href="http://www.spamhaus.org/sbl/sbl.lasso?query=SBL55625">block list</a>. </p>
<p>The list that Spamhaus provides is actually something good: it allows mail server administrators to automatically block mails arriving from servers that are known to be operated by phishers.</p>
<p>At this point Spamhaus took the wrong term, though. They demanded from the Austrian Registry to delete 15 domains that they consider to be used by phishers, apparently without providing (enough) evidence to nic.at. So nic.at responded that &#045;&#045;&#045; because of Austrian law &#045;&#045;&#045; they cannot just delete domains without proof of bogus WHOIS addresses.</p>
<p>I cannot judge who is ultimately right in this dispute (like did Spamhaus provide enough evidence or not), but I can definitely judge that Spamhaus took the wrong decision when they started to block the <a href="http://www.spamhaus.org/sbl/sbl.lasso?query=SBL55625">IP addresses of nic.at in their list</a>.</p>
<p>Welcome to the Kindergarten, guys.</p>
<p>nic.at is bound to Austrian law, and as a foreign company you can&#039;t just come along and ask them to remove certain domains. What if someone would go to your registry and request deletion of spamhaus.org without providing any legitimate reason.</p>
<p>Dear Spamhaus, you need to stick to your policy. Your block list is about phishers, and nic.at did not send out any phishing mails. You can&#039;t just put someone on there because you want to pressure them.</p>
<p>As a result, mail server administrators should no longer rely on block lists of such a provider who misuses his own list for trying to put other companies/organizations under pressure. So this is the right moment to remove sbl-xbl.spamhaus.org from your server configuration.</p>
<p>Coverage on the German <a href="http://www.heise.de/newsticker/meldung/91417">Heise.de</a>.</p>
<p><b>Update 2007-06-20</b>: They have stopped listing nic.at. Finally they see reason. (They have changed the IP address block to 193.170.120.0/32 which matches no addresses); also see german <a href="http://futurezone.orf.at/it/stories/201402/">futurezone</a>.</p>
<p><a href="http://technorati.com/tag/nic.at" rel="tag">nic.at</a>, <a href="http://technorati.com/tag/spamhaus" rel="tag"> spamhaus</a>, <a href="http://technorati.com/tag/sbl" rel="tag"> sbl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2007/06/19/spamhausorg-lists-austrian-registry-on-its-block-list/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Delicious Interface Updates</title>
		<link>http://alexander.kirk.at/2006/03/09/delicious-interface-updates/</link>
		<comments>http://alexander.kirk.at/2006/03/09/delicious-interface-updates/#comments</comments>
		<pubDate>Thu, 09 Mar 2006 09:49:32 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://alexander.kirk.at/?p=58</guid>
		<description><![CDATA[Today del.icio.us did some really nice interface updates. In the first place, they announced inline editing which is very slick. You just click on &#034;edit&#034; on the &#034;your bookmarks&#034; page and you can edit the item right away. They also updated the URL page which looks very nice and tidy now. These updates don&#039;t affect [...]]]></description>
			<content:encoded><![CDATA[<p>Today <a href="http://del.icio.us/">del.icio.us</a> did some really nice interface updates.</p>
<p>In the first place, they <a href="http://blog.del.icio.us/blog/2006/03/a_few_things_an.html">announced inline editing</a> which is very slick. You just click on &#034;edit&#034; on the &#034;your bookmarks&#034; page and you can edit the item right away.<br />
<img src="/wp-content/delicious1-big.png" /></p>
<p>They also updated the URL page which looks very nice and tidy now.</p>
<p><a href="http://del.icio.us/url/b17fbfb69013cce2270b5a5d1ff074b9"><img src="/wp-content/delicious2-small.png" /></a></p>
<p>These updates don&#039;t affect <a href="http://blummy.com/">blummy</a>, you can still use it to add your bookmarks from any page. If you haven&#039;t seen it, give it a try.</p>
<p>The announcement also says that private bookmarking (one of the big missing features) will be released next week.</p>
<p><a href="http://digg.com/software/Delicious_Interface_Updates">digg it</a>, <a href="http://del.icio.us/post?v=2&#038;url=http%3A%2F%2Falexander.kirk.at%2F2006%2F03%2F09%2F delicious-interface-updates%2F&#038;title=Alexander%20Kirk%3A%20Delicious%20Interface%20Updates">add to del.icio.us</a></p>
<p><a href="http://technorati.com/tag/del.icio.us" rel="tag">del.icio.us</a>, <a href="http://technorati.com/tag/interface" rel="tag"> interface</a>, <a href="http://technorati.com/tag/update" rel="tag"> update</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2006/03/09/delicious-interface-updates/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Squid&#039;s HTTP Acceleration Mode</title>
		<link>http://alexander.kirk.at/2005/11/29/squids-http-acceleration-mode/</link>
		<comments>http://alexander.kirk.at/2005/11/29/squids-http-acceleration-mode/#comments</comments>
		<pubDate>Tue, 29 Nov 2005 09:43:52 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://alexander.kirk.at/?p=44</guid>
		<description><![CDATA[I have recently configured a server of mine to use the Squid Cache in HTTP Acceleration mode. So what&#039;s this anyway? A typical request to a webserver looks like this: Client browser opens connection to server port 80, server sends back the data through that connection. For the time of the transfer the server &#034;loses&#034; [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently configured a server of mine to use the <a href="http://www.squid-cache.org/">Squid Cache</a> in HTTP Acceleration mode. So what&#039;s this anyway?</p>
<p>A typical request to a webserver looks like this: Client browser opens connection to server port 80, server sends back the data through that connection. For the time of the transfer the server &#034;loses&#034; one child process. So if a client with a slow connection requests a large file this can take some minutes. If many slow clients block child processes, eventually too few will be left for &#034;ordinary&#034; clients.</p>
<p>A solution for this is to prepend a proxy server to the HTTP server. The proxy server is lightweight and does the communication with the client browser. The communication with the web server is done via a high speed interface (either loopback when it&#039;s just one server or an lan with 100(0) mbit), so almost no time is spent waiting for a transfer to finish.</p>
<p>Setup is easy, and I&#039;ve <a href="http://alexander.kirk.at/papers/caching-strategies/diploma_thesisch6.html#x17-750006.2">covered this in my thesis</a> already.</p>
<p>But I&#039;ve got some more real-life info for you.</p>
<p>There are two usual ways for setting this up.</p>
<ol>
<li>Set the web server to listen on port 81, Squid on 80.</li>
<li>Web server still listens on port 80 but just for 127.0.0.1, the loopback interface. Squid listens on port 80 on the external interface.</li>
</ol>
<p>What makes number two the favourable is that you are not haveing a server process listening on an unconventional port, and, for redirects (<code>Location: /somewhereelse</code>) the port number is correct (see the <a href="http://www.squid-cache.org/Doc/FAQ/FAQ-20.html#ss20.3">corresponding question in the Squid FAQ</a>). For existing configurations with virtual hosts there is no need to change a <code>< VirtualHost *:80></code> to <code>< VirtualHost *:81></code>.</p>
<p>So in <code>ports.conf</code> of Apache, for example, you change this:<br />
<code><br />
# Listen 80<br />
Listen 127.0.0.1:80<br />
</code></p>
<p>In <code>squid.conf</code> you do these changes (apart from those listed in <a href="http://alexander.kirk.at/papers/caching-strategies/diploma_thesisch6.html#x17-750006.2">my thesis</a>):<br />
<code><br />
# http_port 3128<br />
http_port ip.add.re.ss:80<br />
</code></p>
<p>So this works nice already, but there is one more thing. Now the source address for a http request is <code>127.0.0.1</code>. So if you want to do some processing with the <code>REMOTE_ADDR</code>, for example in PHP, you&#039;d have to insert something like this before you&#039;d could use the address again.<br />
<code><br />
if (isset($_SERVER["HTTP_VIA"])) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// squid http accel<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_SERVER["REMOTE_ADDR"] = $_SERVER["HTTP_X_FORWARDED_FOR"];<br />
}<br />
</code></p>
<p>Also in the log files there is now a <code>127.0.0.1</code> as source instead of the real ip address. The following changes things back to normal (in <code>apache2.conf</code>):<br />
<code><br />
# LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined<br />
LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined<br />
</code></p>
<p>This should be all for now. Happy speed-boosting ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2005/11/29/squids-http-acceleration-mode/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>News about E-Ink</title>
		<link>http://alexander.kirk.at/2005/09/28/news-about-e-ink/</link>
		<comments>http://alexander.kirk.at/2005/09/28/news-about-e-ink/#comments</comments>
		<pubDate>Tue, 27 Sep 2005 22:08:19 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://alexander.kirk.at/2005/09/28/news-about-e-ink/</guid>
		<description><![CDATA[E Ink: Entwickler-Kit mit elektronischem Papier &#045;&#045; Golem.de (the corresponding PR announcement) go on, go on, go on. that&#039;s what i want. i don&#039;t like reading on the screen very much. i waste tons of paper just for printing internet pages and reading them, e.g. while travelling around through vienna by tram. unfortunately the e-book [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.golem.de/0509/40681.html" class="weblink">E Ink: Entwickler-Kit mit elektronischem Papier &#045;&#045; Golem.de</a><br />
(the corresponding <a href="http://www.eink.com/news/releases/pr85.html" class="weblink">PR announcement</a>)</p>
<p>go on, go on, go on. that&#039;s what i want. i don&#039;t like reading on the screen very much. i waste tons of paper just for printing internet pages and reading them, e.g. while travelling around through vienna by tram.</p>
<p>unfortunately the <a href="http://www.ebook88.com/devices.html" class="weblink">e-book device</a> development seems to have stopped in 2002. i hope that this will push forward new products, although i believe there wouldn&#039;t be an affordable one within 2 years. in the u.s. give europe another year. :o/</p>
<p>an additional note to the hardware developers: don&#039;t even think about a two-display/double-page e-book device. that&#039;s what i always hated about books. when reading while lying the next page is always uncomfortable to read.</p>
<p>still one more: don&#039;t mess around with supporting a lot of document formats. just pdf will do (flexible os&#039;es let you save any printed document as pdf).</p>
<p>ahh. one more: underlining words on such a device would be too much comfort for the beginning. needing a touchable display it would be too much work. postpone it. please.</p>
<p>now for the last point: use e-ink. it only needs energy for displaying new pages. this will make the battery as long lasting as i want it to be.</p>
<p><a href="http://technorati.com/tag/e-ink" rel="tag">e-ink</a>, <a href="http://technorati.com/tag/e-book" rel="tag"> e-book</a>, <a href="http://technorati.com/tag/pdf" rel="tag"> pdf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2005/09/28/news-about-e-ink/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>back from holiday</title>
		<link>http://alexander.kirk.at/2005/01/13/back-from-holiday/</link>
		<comments>http://alexander.kirk.at/2005/01/13/back-from-holiday/#comments</comments>
		<pubDate>Thu, 13 Jan 2005 09:56:53 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://alex.bandnews.org/?p=2</guid>
		<description><![CDATA[this time i&#039;ve arrived from berlin and great britain, of course there are photos with comments.]]></description>
			<content:encoded><![CDATA[<p>this time i&#039;ve arrived from <a href="/photos/berlin2005.php">berlin</a> and <a href="/photos/uk.php">great britain</a>, of course there are photos with comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2005/01/13/back-from-holiday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
