<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>dot.Using</title>
	
	<link>http://blog.kesor.net</link>
	<description>Making technology about computers, and computers about usability.</description>
	<lastBuildDate>Sun, 15 Apr 2012 15:00:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/dotusing" /><feedburner:info uri="dotusing" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/dotusing" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fdotusing" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Broken Django behind a Load Balancer</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/oOGYu2_OxyQ/</link>
		<comments>http://blog.kesor.net/2012/04/15/broken-django-behind-load-balancer/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 15:00:39 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/?p=52</guid>
		<description><![CDATA[Having problems with your seven Django servers behind a single load balancer or proxy, and you have no idea which of the servers is giving your that &#8220;one in eight requests&#8221; error? The solution is simple, add some information about the instance to the HTTP response headers! It doesn&#8217;t really matter which load balancing or [...]]]></description>
			<content:encoded><![CDATA[<p>Having problems with your seven Django servers behind a single load balancer or proxy, and you have no idea which of the servers is giving your that &#8220;one in eight requests&#8221; error?</p>
<p>The solution is simple, add some information about the instance to the HTTP response headers!</p>
<p>It doesn&#8217;t really matter which load balancing or proxy solution you use, Amazon ELB, HAProxy, Varnish, Pound, Nginx, this would just work with most of them without any modification.</p>
<p>Here is a simple example of just such a middleware:<br />
    <a href="https://gist.github.com/2393220#file_hostname_middleware.py" title="hostname_middleware.py" target="_blank">https://gist.github.com/2393220#file_hostname_middleware.py</a></p>
<p><script src="https://gist.github.com/2393220.js?file=hostname_middleware.py"></script></p>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/oOGYu2_OxyQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2012/04/15/broken-django-behind-load-balancer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2012/04/15/broken-django-behind-load-balancer/</feedburner:origLink></item>
		<item>
		<title>Simple Amazon AWS API queries</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/Lpi8_fmi1MU/</link>
		<comments>http://blog.kesor.net/2012/03/13/amazon-aws-api-query/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 20:52:05 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[amazon-aws]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/?p=46</guid>
		<description><![CDATA[After using the excellent python boto Amazon Web Services library, I felt a tingle of unease where boto was taking away the transparency and clarity of AWS APIs. Amazon have excellent documentation that contains detailed API References, and the pace of their new features released is staggering. It is a pity that boto is written [...]]]></description>
			<content:encoded><![CDATA[<p>After using the excellent <a href="http://boto.readthedocs.org/" title="boto, a python interface to Amazon Web Services" target="_blank">python boto Amazon Web Services library</a>, I felt a tingle of unease where boto was taking away the transparency and clarity of AWS APIs. Amazon have <a title="Amazon Web Services Documentation" href="http://aws.amazon.com/documentation/" target="_blank">excellent documentation</a> that contains detailed API References, and the pace of their new features released is staggering. It is a pity that boto is written in such a way that it needs to re-implement every new feature Amazon releases in their own wrappers and a foreign language (method names).</p>
<p>So as the first step in making it more transparent to use the original Amazon AWS API reference documentation in a copy-and-paste fashion, I had to write the same reinvent-the-wheel piece of boiler plate that everyone wrote a hundred times before (google for it, its there). But mine is shinier and prettier, or so I would like to think.</p>
<p>I present to you, in all its glory &#8212; The <a href="https://gist.github.com/2029358/" title="Python Amazon AWS API Queries" target="_blank">Python Amazon AWS API queries class</a>!</p>
<p><script src="//gist.github.com/2029358.js"></script></p>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/Lpi8_fmi1MU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2012/03/13/amazon-aws-api-query/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2012/03/13/amazon-aws-api-query/</feedburner:origLink></item>
		<item>
		<title>Google AppEngine URLFetch in Unit Tests</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/BWixFlGHsgI/</link>
		<comments>http://blog.kesor.net/2011/08/30/google-appengine-urlfetch-unittest/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 00:30:09 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[unittest]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/?p=41</guid>
		<description><![CDATA[Started using Google AppEngine for a personal project of mine some time ago, and noticed that like everywhere else in python, the state of testing (tdd) is really poor. There are several &#8220;solutions&#8221; that provide stubs that can be used in unit testing Google AppEngine applications, including something called a &#8220;testbed&#8221; which is part of [...]]]></description>
			<content:encoded><![CDATA[<p>Started using Google AppEngine for a personal project of mine some time ago, and noticed that like everywhere else in python, the state of testing (tdd) is really poor.</p>
<p>There are several &#8220;solutions&#8221; that provide stubs that can be used in unit testing Google AppEngine applications, including something called a &#8220;testbed&#8221; which is part of the API itself. But the problem with these is that they provide functional bits of API implemented on your local environment just like it would work on a deployed AppEngine application.</p>
<p>It sounds quite good to have a local personal instance of something similar to the datastore you get in deployed applications, but unfortunately for the urlfetch service it is not exactly what I was looking for in tests.</p>
<p>The thing I need is an object that will not urlfetch anything, will not access the network at all. The requirement in this case is an object that I can tinker with its state before and after my own methods have used the urlfetch facility. After a lot of digging in the current implementation of the stub, I ended up writing a very simple mock for this myself. It is far from perfect, but its a start.</p>
<p><script src="https://gist.github.com/1179782.js?file=gistfile1.py"></script></p>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/BWixFlGHsgI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2011/08/30/google-appengine-urlfetch-unittest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2011/08/30/google-appengine-urlfetch-unittest/</feedburner:origLink></item>
		<item>
		<title>I think I really dislike Python</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/Iw6C-w9i-Pc/</link>
		<comments>http://blog.kesor.net/2009/04/21/i-think-i-really-dislike-python/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 11:49:19 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/?p=32</guid>
		<description><![CDATA[Ruby: > irb irb(main):001:0> a = [1,2,3] => [1, 2, 3] irb(main):002:0> a[10] = 20 => 20 irb(main):003:0> a => [1, 2, 3, nil, nil, nil, nil, nil, nil, nil, 20] Perl: > perl @a = (1,2,3); $a[10] = 20; use Data::Dumper; print Dumper(@a); $VAR1 = 1; $VAR2 = 2; $VAR3 = 3; $VAR4 = [...]]]></description>
			<content:encoded><![CDATA[<h3>Ruby:</h3>
<pre>> irb
irb(main):001:0> a = [1,2,3]
=> [1, 2, 3]
irb(main):002:0> a[10] = 20
=> 20
irb(main):003:0> a
=> [1, 2, 3, nil, nil, nil, nil, nil, nil, nil, 20]
</pre>
<p><br/></p>
<h3>Perl:</h3>
<pre>> perl
@a = (1,2,3);
$a[10] = 20;
use Data::Dumper;
print Dumper(@a);
$VAR1 = 1;
$VAR2 = 2;
$VAR3 = 3;
$VAR4 = undef;
$VAR5 = undef;
$VAR6 = undef;
$VAR7 = undef;
$VAR8 = undef;
$VAR9 = undef;
$VAR10 = undef;
$VAR11 = 20;
</pre>
<p><br/></p>
<h3>Python:</h3>
<pre>> python
>>> a = [1,2,3]
>>> a[10] = 20
<span style="color:red">Traceback (most recent call last):
  File "<stdin>", line 1, in ?
IndexError: list assignment index out of range</span>
>>> a
[1, 2, 3]
</pre>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/Iw6C-w9i-Pc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2009/04/21/i-think-i-really-dislike-python/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2009/04/21/i-think-i-really-dislike-python/</feedburner:origLink></item>
		<item>
		<title>A bright idea in the middle of the day</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/DhR8cBcSXJM/</link>
		<comments>http://blog.kesor.net/2008/12/01/a-bright-idea-in-the-middle-of-the-day/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 10:45:28 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[nagios unix monitoring cruisecontrol automation]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/?p=23</guid>
		<description><![CDATA[I was reading a blog yesterday about &#8220;The sad state of open source monitoring tools&#8221; and was thinking about it for some time. Coincidently today I had a chance to look at my CruiseControl configuration files, which I wrote quite a long time ago. I really love the DSL that CruiseControl is using for it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I was reading a blog yesterday about &#8220;<a href="http://agiletesting.blogspot.com/2008/11/sad-state-of-open-source-monitoring.html">The sad state of open source monitoring tools</a>&#8221; and was thinking about it for some time. Coincidently today I had a chance to look at my <a href="http://cruisecontrol.sf.net">CruiseControl</a> configuration files, which I wrote quite a long time ago.</p>
<p>I really love the DSL that CruiseControl is using for it&#8217;s configuration, it&#8217;s extremely powerful at describing how to build projects. Especially powerful are the variables, that unlike in Ant are not immutable, and the way plugins can be pre-configured with your own defaults, as well as renamed to other names. It&#8217;s really easy to configure it in such a way that adding a new version for a project is just 1-3 lines of XML, for example
<pre>&lt;xxx-project name="XXX v6.66"&gt;
  &lt;property name="version" value="6.66"/&gt;
&lt;/xxx-project&gt;</pre>
<p><br/></p>
<p>Just in those 3 lines, the pre-configuration already includes all the information about the project. Where it is at, who to send e-mail to, where is the version control, EVERYTHING! If the only variable that changes over time is the version number, then that is all you need to leave as a variable &#8230; everything else is just a template that can be re-used. And these templates are extremely easy to combine from smaller templates, it&#8217;s a template-in-the-template kind of configuration.</p>
<p>IMHO this would very much apply to configuration of monitoring software, like <a href="http://www.nagios.org">nagios</a> for example. And the way the (CC) plugins are written in java &#8211; adding new plugins that check all kinds of esoteric things is really easy to do.</p>
<p>If it would also have the XML/XSLT configuration of how the web-interface looks like (the way CruiseControl does), and the super-easy installation (again like in CruiseControl). It would be a really really really great product, extremely powerful, easy to configure, and potentially great looking.</p>
<p>If only <a href="http://www.thoughtworks.com/">ThoughtWorks </a>would write such a thing &#8230; I would be thrilled!</p>
<p>Actually nagios is already extremely similar to what I described, but for some strange reason I find the <em>rigid</em> configuration of nagios a large PITA. Maybe some-day when time stops and I will have unlimited time to code, I will do it myself.</p>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/DhR8cBcSXJM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2008/12/01/a-bright-idea-in-the-middle-of-the-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2008/12/01/a-bright-idea-in-the-middle-of-the-day/</feedburner:origLink></item>
		<item>
		<title>Testing messy bash scripts</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/_Mol4stDhyc/</link>
		<comments>http://blog.kesor.net/2007/12/22/22/#comments</comments>
		<pubDate>Sat, 22 Dec 2007 00:01:20 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[refactoring]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/2007/12/22/22/</guid>
		<description><![CDATA[Read this book too! I am reading the book “Refactoring” by Martin Fowler, and just reek with ideas about improving software, as well as solving problems I head-banged during my “software” development career. On my last job, there was this huge messy heap of bash scripts that were “The Installation” of their main software product. [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align:justify">
<div style="float:right;margin-left:2em">Read this book too!<br/><iframe src="http://rcm.amazon.com/e/cm?t=kesornet-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0201485672&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr&#038;npa=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></div>
<p>I am reading the book “Refactoring” by Martin Fowler, and just reek with ideas about improving software, as well as solving problems I head-banged during my “software” development career.</p>
<p>On my last job, there was this huge messy heap of bash scripts that were “The Installation” of their main software product. It was a remarkable amount of bad smelling bash code, however it somehow managed to work. My work, at the time, was from-scratch-rewrites of this or that functionality and then somehow plugging it into the existing framework (damn, i call it a framework now).</p>
<p><span id="more-22"></span></p>
<p>It could have been just amazing if I could take the existing <u><a href="http://steve-yegge.blogspot.com/2007/12/codes-worst-enemy.html"><strike>pile of dirt</strike></a></u> <strike>dung</strike> bash scripts &#8211; and refactor it into something that is readable, sort of.</p>
<p>Today, while I was riding the bus, reading “Refactoring” pg.110, it struck me. It’s actually can be extremely easy to <b>test bash scripts!</b> All it takes is a collection of all the familiar commands, like “cat”, “rm”, etc … and one sneaky PATH environment variable. These commands would be fakes, stubs &#8211; they all just print their name and parameters into a log file. In fact, there is just one actual script and the rest are links to that single one.</p>
<p>That log file can be compared before and after a refactoring. It takes less time to output names and parameters to a file than to execute the actual commands. So while running the actual script might take hours, with the stubs it should run in less time, much less. Finally, by comparing your pre and post refactoring log files, you get a really nice test-suite that can help you refactor. I might even call it replacing unreadable code with readable one without breaking much of anything.</p>
<p>In the particular case of the scripts that I’ve mentioned earlier, I guess that the most used refactoring to improve readability would be <i>Inline Method</i>. Whoever wrote the original scripts was very fond of <i>wrappers</i> for commands like &#8220;ln&#8221;. Even though commands like “ln” don’t really need a wrapper. The wrapper with at least two echo commands and a very long name is quite redundant and adds unnecessary complexity.</p>
<p>There are several problems with this simplistic approach though. One of the problems might be that the script is using full path in names (like /bin/ln), instead of relying on the PATH environment variable. Such things can be relatively easily taken care of until the testing solution is perfect. (I guess). One of the things to try, for example, is running bash in restricted mode, if I remember what that is correctly.</p>
<p>I’ll try that on some new messy scripts that I got on my new job!</p>
<p>YEY!
</p></div>
<p>PS: Google docs rocks! (even publish-to-blog kinda works) </p>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/_Mol4stDhyc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2007/12/22/22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2007/12/22/22/</feedburner:origLink></item>
		<item>
		<title>GMail is broken</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/QMPePfF_Qks/</link>
		<comments>http://blog.kesor.net/2007/11/24/gmail-is-broken/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 09:05:57 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/2007/11/24/gmail-is-broken/</guid>
		<description><![CDATA[What happened to GMail lately? It steals focus! Contacts don&#8217;t work most of the time! Mail is often not sent because the button pushing has no effect. Is this GMail 2.0? Fuck 2.0, I want the working GMail back! And stop it from stealing focus to it&#8217;s own tab, that is SO annoying.]]></description>
			<content:encoded><![CDATA[<p>What happened to GMail lately?<br />
It steals focus!<br />
Contacts don&#8217;t work most of the time!<br />
Mail is often not sent because the button pushing has no effect.</p>
<p>Is this GMail 2.0?<br />
Fuck 2.0, I want the working GMail back!<br />
And stop it from stealing focus to it&#8217;s own tab, that is SO annoying.</p>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/QMPePfF_Qks" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2007/11/24/gmail-is-broken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2007/11/24/gmail-is-broken/</feedburner:origLink></item>
		<item>
		<title>A small feng shui for the office</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/xf_bBpPiiyc/</link>
		<comments>http://blog.kesor.net/2007/11/19/a-small-feng-shui-for-the-office/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 10:21:13 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[office]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/2007/11/19/a-small-feng-shui-for-the-office/</guid>
		<description><![CDATA[Just bought this today. It&#8217;s compact. Made these nice fire things with a red gift band. If only I could get rid of my room-mate and all his junk, this office could be so much better. It could be perfect.]]></description>
			<content:encoded><![CDATA[<p>Just bought this today. It&#8217;s compact. Made these nice fire things with a red gift band. If only I could get rid of my room-mate and all his junk, this office could be so much better. It could be perfect.</p>
<p><a href="http://blog.kesor.net/2007/11/19/a-small-feng-shui-for-the-office/lucky-bamboo/" rel="attachment wp-att-18"><img src='http://blog.kesor.net/wp-content/uploads/2007/11/dsc00011_resized.jpg' title='Lucky Bamboo' alt='Lucky Bamboo' /></a></p>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/xf_bBpPiiyc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2007/11/19/a-small-feng-shui-for-the-office/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2007/11/19/a-small-feng-shui-for-the-office/</feedburner:origLink></item>
		<item>
		<title>The Motherload of all switches</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/7J2Txy6dEAQ/</link>
		<comments>http://blog.kesor.net/2007/11/19/the-motherload-of-all-switches/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 06:09:43 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/2007/11/19/the-motherload-of-all-switches/</guid>
		<description><![CDATA[When I read a news article with something like this in it: Thankfully, Sun realizes that not everyone is looking for a 3,456 port InfiniBand switch. So, it has prepped a 72-port InfiniBand switch that will sit on top of the Sun Blade 6048 rack. I just can&#8217;t stop being amazed.]]></description>
			<content:encoded><![CDATA[<p>When I read a news article with something like this in it:</p>
<p><a href="http://www.theregister.co.uk/2007/11/19/sun_storage_sc07/"><q>Thankfully, Sun realizes that not everyone is looking for a 3,456 port InfiniBand switch. So, it has prepped a 72-port InfiniBand switch that will sit on top of the Sun Blade 6048 rack.</q></a></p>
<p>I just can&#8217;t stop being amazed.</p>
<p><img src="http://regmedia.co.uk/2007/11/19/sunmagnum.jpg"/></p>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/7J2Txy6dEAQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2007/11/19/the-motherload-of-all-switches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2007/11/19/the-motherload-of-all-switches/</feedburner:origLink></item>
		<item>
		<title>Invite the world to GMail</title>
		<link>http://feedproxy.google.com/~r/dotusing/~3/9ZUI22H0Qwk/</link>
		<comments>http://blog.kesor.net/2007/09/01/invite-the-world-to-gmail/#comments</comments>
		<pubDate>Sat, 01 Sep 2007 18:28:20 +0000</pubDate>
		<dc:creator>kesor</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://blog.kesor.net/2007/09/01/invite-the-world-to-gmail/</guid>
		<description><![CDATA[The other day I noticed that I have this &#8220;Invite a friend&#8221; on my GMail. I didn&#8217;t use that thing for more than a year, so I took the chance of this re-discovery to get rid of it. Within several minutes I sent 98 invitations to an imaginary friend whose mail bounced at some noreply@somewhere&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I noticed that I have this &#8220;Invite a friend&#8221; on my GMail. I didn&#8217;t use that thing for more than a year, so I took the chance of this re-discovery to get rid of it. Within several minutes I sent 98 invitations to an imaginary friend whose mail bounced at some noreply@somewhere&#8230; address. And it worked &#8211; I got rid of that little blue box that serves no purpose on my GMail page!</p>
<p>Imagine my surprise when today I find that box at the same place, with 50 new invitations to give away.</p>
<p>No, really &#8211; I don&#8217;t have any friends who don&#8217;t have a GMail account. I don&#8217;t want to use this &#8220;feature&#8221;, ever. And it does not contribute a thing to my GMail experience &#8211; get rid of it Google! Put some AdSense there or something.</p>
<img src="http://feeds.feedburner.com/~r/dotusing/~4/9ZUI22H0Qwk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.kesor.net/2007/09/01/invite-the-world-to-gmail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.kesor.net/2007/09/01/invite-the-world-to-gmail/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 15.271 seconds --><!-- Cached page served by WP-Cache -->

