<?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>Moritz Haarmann&#039;s Blog &#187; antiusability</title>
	<atom:link href="http://momo.brauchtman.net/tag/antiusability/feed/" rel="self" type="application/rss+xml" />
	<link>http://momo.brauchtman.net</link>
	<description>random thoughts.</description>
	<lastBuildDate>Fri, 27 Jan 2012 15:54:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Apples Network Link Conditioner only built for certain CPUs..</title>
		<link>http://momo.brauchtman.net/2011/08/06/apples-network-link-conditioner-only-built-for-certain-cpus/</link>
		<comments>http://momo.brauchtman.net/2011/08/06/apples-network-link-conditioner-only-built-for-certain-cpus/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 16:32:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[stupid]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=604</guid>
		<description><![CDATA[Xcode 4.1 comes with a nice tool called Network Link Conditioner, which is basically a GUI to configure certain settings of your network to make it behave like a &#8220;Lossy Edge Connection&#8221; or something similar. Why would anyone want to &#8230; <a href="http://momo.brauchtman.net/2011/08/06/apples-network-link-conditioner-only-built-for-certain-cpus/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Xcode 4.1 comes with a nice tool called Network Link Conditioner, which is basically a GUI to configure certain settings of your network to make it behave like a &#8220;Lossy Edge Connection&#8221; or something similar. Why would anyone want to do this? In a nutshell, a bunch of bugs in iOS apps are only visible in such environments and hard to catch in office settings with perfect connections. So, to work around that perfect connection, this tool has been invented</p>
<p><a href="http://momo.brauchtman.net/wp-content/uploads/2011/08/nlcnlc.jpg" rel="lightbox[604]" title="Screenshot"><img class="aligncenter size-medium wp-image-606" title="Screenshot" src="http://momo.brauchtman.net/wp-content/uploads/2011/08/nlcnlc-300x160.jpg" alt="" width="300" height="160" /></a></p>
<p>Apple-like, it looks great and &#8230; doesn&#8217;t work ( which is not that Apple-like at all ). At least on my brand-new Early 2011 MBP, it just crashes. So I got curious and ask some friends to double-check it, and bingo, they had similar issues on the comparable i7-equipped machines.</p>
<p>Back at home, I fired the tool on my ancient 2009 iMac, and voila, it works just fine. So.. what the hell is going on there?</p>
<p>[update] I tested the network link conditioner on my new i5-iMac, not a problem there.</p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2011/08/06/apples-network-link-conditioner-only-built-for-certain-cpus/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>RandomAccessFile weirdness explained, no buffers, just pain.</title>
		<link>http://momo.brauchtman.net/2009/12/18/randomaccessfile-weirdness-explained-no-buffers-just-pain/</link>
		<comments>http://momo.brauchtman.net/2009/12/18/randomaccessfile-weirdness-explained-no-buffers-just-pain/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 15:10:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=448</guid>
		<description><![CDATA[Ola! I&#8217;ve been coding a new android keyboard lately, a project for my university degree but also : for fun. While I was doing this, specially while implementing a file-based dictionary containing frequency information of all words stored in there, &#8230; <a href="http://momo.brauchtman.net/2009/12/18/randomaccessfile-weirdness-explained-no-buffers-just-pain/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ola! I&#8217;ve been coding a new android keyboard lately, a project for my university degree but also : for fun. While I was doing this, specially while implementing a file-based dictionary containing frequency information of all words stored in there, I stumbled upon a very, very weird Java-behavior.</p>
<p>Let&#8217;s explain it. Using RandomAccessFile, you have both Interfaces, DataInput and DataOutput ( and Closeable ) at your service. Wonderful, I thought, and started to use them. Well, two weeks and endless debugging sessions later I figured out why nothing worked the way it should: RandomAccessFile.</p>
<p>This little class is unable to provide the most simple functionality: Write a byte value, say 42, to a certain position, say 11223 in a file, then seek back to 11223, read a byte value, and make sure it&#8217;s the same. The reason for this odd, strange, undesired, undocumented feature? No shared buffers. In fact, no buffers, just for the explicit read and write operations ( they are mapped to native methods anyway ). So basically, everything should work fine in an unbuffered environment, with an operating system directly writing everything down on file.</p>
<p>Because virtually no operating system works unbuffered, RandomAccessFile doesn&#8217;t work. The working workaround is to sleep for some time or something alike.</p>
<p>By the way, I was only able to figure it out by looking at the openJDK source, an excellent source in case you&#8217;re wondering about some Java behaviour. And thanks to <a href="http://www.marc-seeger.de/">Marc Seeger</a> for his help!</p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2009/12/18/randomaccessfile-weirdness-explained-no-buffers-just-pain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finally: WordPress Benchmark</title>
		<link>http://momo.brauchtman.net/2009/11/23/finally-wordpress-benchmark/</link>
		<comments>http://momo.brauchtman.net/2009/11/23/finally-wordpress-benchmark/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 01:57:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=431</guid>
		<description><![CDATA[So, there are no real benchmarks of a WordPress running in the wild available ( couldn&#8217;t believe it either.. ). So I got my ab and gnuplot friends and created one. The reason why I&#8217;m doing this that while developing &#8230; <a href="http://momo.brauchtman.net/2009/11/23/finally-wordpress-benchmark/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, there are no real benchmarks of a WordPress running in the wild available ( couldn&#8217;t believe it either.. ). So I got my ab and gnuplot friends and created one. The reason why I&#8217;m doing this that while developing ( or forking, to be honest, marc&#8217;s work ) i was curious what php can achieve. The answer is, as you will see, very sad.</p>
<p>I ran the benchmarks on two different machines. One of them is a xen-based virtual machine with 4gb of RAM and a dedicated CPU. The MySQL server runs on a seperate VM on the same physical device. The first graph shows the results at a concurrency level of 2, the second one a concurrency level of 5.</p>
<p><a href="http://momo.brauchtman.net/wp-content/uploads/2009/11/test1_s.png" rel="lightbox[431]" title="test1_s"><img class="aligncenter size-medium wp-image-432" title="test1_s" src="http://momo.brauchtman.net/wp-content/uploads/2009/11/test1_s-300x225.png" alt="test1_s" width="300" height="225" /></a><br />
<a href="http://momo.brauchtman.net/wp-content/uploads/2009/11/test2_s.png" rel="lightbox[431]" title="test2_s"><img class="aligncenter size-medium wp-image-433" title="test2_s" src="http://momo.brauchtman.net/wp-content/uploads/2009/11/test2_s-300x225.png" alt="test2_s" width="300" height="225" /></a>The second run was performed on the machine where this blog is hosted. All benchmarks are running against WordPress&#8217; index.php, to not allow caching to falsify the results. The machine is also a virtual machine, enough RAM, slow cpu though. Please keep in mind that most people are using that kind of machines for their blogging, because dedicated machines are not exactly.. cheap. Anyhow, concurrency level 2. I didn&#8217;t bother to check what level 5 would have changed, because the time taken for the first one was already 20 minutes.</p>
<p><a href="http://momo.brauchtman.net/wp-content/uploads/2009/11/test1_m.png" rel="lightbox[431]" title="test1_m"><img class="aligncenter size-medium wp-image-435" title="test1_m" src="http://momo.brauchtman.net/wp-content/uploads/2009/11/test1_m-300x225.png" alt="test1_m" width="300" height="225" /></a></p>
<p>For the sake of being mean to all PHP-lovers, I included a bench of an Rails-Application served from the very same VM as the first benchmarks. Of course, you can&#8217;t compare Rails to PHP. But still interesting, I think.</p>
<p><a href="http://momo.brauchtman.net/wp-content/uploads/2009/11/test1_k.png" rel="lightbox[431]" title="test1_k"><img class="aligncenter size-medium wp-image-434" title="test1_k" src="http://momo.brauchtman.net/wp-content/uploads/2009/11/test1_k-300x225.png" alt="test1_k" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2009/11/23/finally-wordpress-benchmark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using ActiveResource in the wild</title>
		<link>http://momo.brauchtman.net/2009/06/23/using-activeresource-in-the-wild/</link>
		<comments>http://momo.brauchtman.net/2009/06/23/using-activeresource-in-the-wild/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 23:10:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=378</guid>
		<description><![CDATA[My last posts haven&#8217;t been quite technical, and they haven&#8217;t been quite recent too- I&#8217;m sorry, yet I just don&#8217;t have time. As a brief follow-up: it has been overwhelming in San Francisco ( except for the 300$-dentist bill ), &#8230; <a href="http://momo.brauchtman.net/2009/06/23/using-activeresource-in-the-wild/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My last posts haven&#8217;t been quite technical, and they haven&#8217;t been quite recent too- I&#8217;m sorry, yet I just don&#8217;t have time. As a brief follow-up: it has been overwhelming in San Francisco ( except for the 300$-dentist bill ), and I&#8217;m so looking forward to coming back.</p>
<p>And, tada, I&#8217;ve been spending the last few weeks just entering Rails ( a Ghetto? maybe ) a bit more than I did before. As always, there are cool things to tell. And not so cool things, too. Start with the good ones.</p>
<p>Rails has proven to work extremely well in pre-production mode. No framework-sourced flaws, bugs, whatever. Just nice, and with some caching-salt, speed hasn&#8217;t been an issue, in contrast, it has been amazing.</p>
<p>That&#8217;s the good part of it. The bad part is that Rails claims to be capable of working in a distributed environment, providing services ( they don&#8217;t call them Web Services anymore ) addressable via REST ( buzzzz ) over HTTP, of course. Well, that&#8217;s not quite true. If you stick with the <a href="http://api.rubyonrails.org/classes/ActiveResource/Base.html">example given in the docs</a>, and are in fact happy with a remote object capable of experiencing an unauthenticated change of some first name, this is nothing but true. But when it comes to some other features, e.g. associations or caching, one question came up: are they serious?</p>
<p>Let&#8217;s do some demos. In case you want to include objects of a has-many relationship, the way of choice is ( <a href="http://api.rubyonrails.org/classes/ActiveRecord/Serialization.html">according to the ActiveRecord::Serialization docs</a> ) either to call to_xml with really ugly parameters ( such as @ship.to_xml :include=&gt;[:passengers, :sailors ] ) in a non-dry manner or to override to_xml, both not being exactly Rails-like, ugly, hard to maintain and only loosely coupled with real-world requirements.</p>
<p>The other part, the consuming part where ActiveResource is indeed responsible for handling everything, has been consequently kept free of useful stuff. This could on the one hand be a pro for people hating Rails&#8217; magic, but it&#8217;s just quite far away from being usable. And it has nothing in common with the way ActiveRecord behaves. Any options? Sure.</p>
<p>At the moment, I&#8217;m sticking with <a href="http://agilewebdevelopment.com/plugins/hyperactive_resource">HyperactiveResource</a>, the funniest named plugin ever. It extends ActiveResource to play a bit more nice, yet it&#8217;s not the ultimate answer, but a great extension, still. If you&#8217;re into some serious Rails stuff with some distributed thingies, you should give it a try.</p>
<p>So what&#8217;s missing? The feeling to work with something that has been designed by someone who actually uses it doing more than changing first names. I&#8217;m really disappointed by having to deal with the framework, something I wasn&#8217;t used to with Rails before in that intensity. And while Java EE may be a pain, for distributed stuff, it&#8217;s still a very good way if you need reliable and consistent, proven-to-work solutions.</p>
<p>In my next post, I&#8217;ll talk about my android experiences so far. Love it <img src='http://momo.brauchtman.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2009/06/23/using-activeresource-in-the-wild/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web Development and MVC: a pain somewhere, cont&#8217;d.</title>
		<link>http://momo.brauchtman.net/2009/05/18/web-development-and-mvc-a-pain-somewhere-contd/</link>
		<comments>http://momo.brauchtman.net/2009/05/18/web-development-and-mvc-a-pain-somewhere-contd/#comments</comments>
		<pubDate>Mon, 18 May 2009 22:45:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=362</guid>
		<description><![CDATA[Our beloved model-view-controller pattern seems to act as an excuse for every damn web-framework out there. Yet there is one problem. From my point of view, no framework to date has ever managed to slice a web application in a &#8230; <a href="http://momo.brauchtman.net/2009/05/18/web-development-and-mvc-a-pain-somewhere-contd/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Our beloved model-view-controller pattern seems to act as an excuse for every damn web-framework out there. Yet there is one problem. From my point of view, no framework to date has ever managed to slice a web application in a useful way. Really. Why?</p>
<p>First of all, it should be clear that patterns just like MVC can&#8217;t be adapted without major changes from desktop environments to the web. Why? Well, desktops are a safe harbor compared to every browser. The Operating System provides resources, screen estate, some kind of event handling and the promise that once you build your app around a certain system, it will work there. Of course this is the major drawback of desktop applications.</p>
<p>Web Applications are not built for just one system, they are mostly built with the target of total platform-independence. Including that nothing can be taken for granted, just like screen estate, resolution, browser software etc.</p>
<p>And then there is this huge limiting factor called HTTP. HTTP is a simple, beautiful protocol that does a great job for what it was designed. That is, delivering web pages, stateless, happiness. Which introduces just a new detail that clearly seperates desktop from the web, the web just doesn&#8217;t know anything about state. Once a server delivered a page to you, he just doesn&#8217;t care. Really. We introduced sessions and stuff, yet, there is this design-based limitation, and for the time being, we&#8217;re just working around this limitation, whereas desktop applications are stateful: ever heard of RAM?</p>
<p>So the problem we are actually facing is that all the well-engineered patterns of the desktop world just can&#8217;t be adapted. Sorry. There maybe certain areas where the impression of adaptability may occur, yet these impressions vanished as AJAX appeared.</p>
<p>Why? The traditional web-application, let&#8217;s call it Web 1.0, was based on that well-known request-response-leavemyalone cycle. Maybe some session sugar enabled a stateful behaviour, whatever. And we had a way to adapt MVC: put everything that is persistent or part of the &#8220;business logic&#8221; in a Model-Class ( aka bean ). Go ahead and search for your embedded html. Try to put in a seperate file, and tell all your geek-friends that it&#8217;s the view. And finally, the glue was the controller. And yes, it worked out really well. That was then.</p>
<p>Since the unfortunate launch of GMail everything has changed. There is no longer anything like &#8220;impossible&#8221;, since someone clearly demonstrated that virtually no restrictions in terms of usability and functionality exist.</p>
<p>Again, from my point of view, Google just didn&#8217;t reinvent the wheel, they just used available techniques in a new way.</p>
<p>So, with all this &#8220;new&#8221; technology, web application creators were forced to adapt, which led to a wide variety of 1) AJAX-Frameworks like Prototype and JQuery 2) Smart helper functions for server-side components to hide away the fact that none of them is able to encapsulate that new technology beyond some well-designed layer of abstraction.</p>
<p>Welcome to my world. I&#8217;m doing web stuff daily. Someone even pays me for doing it. But I&#8217;m really, really frustrated. There is simply no single well-designed framework, enabling me to really focus on what I want to do, not on how.</p>
<p>Today, business logic isn&#8217;t the problem. There are some very good approaches making it a breeze to brew out even complex logic.</p>
<p>But there is still too much code here ( in my repositories, maybe I&#8217;m just doing wrong ) that&#8217;s just dealing with requests. But the amount wouldn&#8217;t be a big deal, since the average linecount already dropped massively over the years. The problem is that there is absolutely no beauty. Nada. No language can hide, not even Ruby, that it&#8217;s ugly to deal with requests on a per-request level.</p>
<p>I don&#8217;t have a solution, though I&#8217;m thinking about it a looottt. And that&#8217;s just my opinion, expressed in some kind of english. And I&#8217;d really appreciate any single comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2009/05/18/web-development-and-mvc-a-pain-somewhere-contd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Popular Antipatterns explained.</title>
		<link>http://momo.brauchtman.net/2009/03/23/popular-antipatterns-explained/</link>
		<comments>http://momo.brauchtman.net/2009/03/23/popular-antipatterns-explained/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 14:54:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[stupid]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=335</guid>
		<description><![CDATA[There is so much talking about buzzy Design Patterns. But honestly, who cares. We don&#8217;t need MVC as long as it works. What is Flyweight? And definitely no need to decorate anything, this is a factory. But unless you already &#8230; <a href="http://momo.brauchtman.net/2009/03/23/popular-antipatterns-explained/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There is so much talking about buzzy Design Patterns. But honestly, who cares. We don&#8217;t need MVC as long as it works. What is Flyweight? And definitely no need to decorate anything, this is a factory.</p>
<p>But unless you already found the perfect way to eliminate code beauty and readability, I put up this short list of common antipatterns. Use or avoid them, it&#8217;s up to you.</p>
<p><strong>Mietroller</strong></p>
<p>A blend of the words Model, View and Controller, mostly found in big, monolitgic, uncommented source files. Hard to maintain and impossible to test, yet it feels quite natural to do it that way. The usage is simple: just put everything in one file, write it doen as you think it. No classes, no references, just code. Don&#8217;t write methods. The core advantages are:</p>
<ul>
<li>No need for third-party code-scrambles</li>
<li>Looks impressive in an editor with green background and black font</li>
</ul>
<p><strong>Manufactory</strong></p>
<p>Why bother writing even one line of code that is reusable? Exactly, just burn down this useless Factory-Pattern, and replace it with the fancy Manufactory pattern. In case you never heard of the factory-pattern, you are lucky. Else, try to forget it, and forget Object Orientation too.. Advantages are:</p>
<ul>
<li>Many.</li>
</ul>
<p><strong>Heavyweight</strong></p>
<p>Nobody, really no one likes to deal with references or pointers. So it&#8217;s save to assume that there are enough resources to store everything in-place. And of course, this is a very secure approach. No pointers = no danger. Advantages:</p>
<ul>
<li>No need to use strange facilities like References ever again.</li>
</ul>
<p><strong>Globalton</strong></p>
<p>Exactly, not singleton, it&#8217;s globalton. Why? Well, it&#8217;s pretty clear to me. There is no good reason for using global variables. Of course, some are saying it decreases portability and reusability. I don&#8217;t care. Just put everything you need in a global scope. If the language you are using doesn&#8217;t support that feature, use another one. Really. Advantages:</p>
<ul>
<li>Easier<strong>.</strong></li>
</ul>
<p>If you know some more antipatterns, please let me know, I&#8217;d be glad to know as many as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2009/03/23/popular-antipatterns-explained/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIP, Macbook</title>
		<link>http://momo.brauchtman.net/2009/02/02/rip-macbook/</link>
		<comments>http://momo.brauchtman.net/2009/02/02/rip-macbook/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 09:14:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[useless]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[icantbelievethisistrue]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=278</guid>
		<description><![CDATA[So this is great news on a monday morning. Just before I started to work my MacBook died. There was nothing I could do for it. The CPU-Fan stopped rotating at about 9:50am. May it rest in peace.]]></description>
			<content:encoded><![CDATA[<p>So this is great news on a monday morning. Just before I started to work my MacBook died. There was nothing I could do for it. The CPU-Fan stopped rotating at about 9:50am. May it rest in peace.</p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2009/02/02/rip-macbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft to finally create amazing software again</title>
		<link>http://momo.brauchtman.net/2009/01/15/microsoft-to-finally-create-amazing-software-again/</link>
		<comments>http://momo.brauchtman.net/2009/01/15/microsoft-to-finally-create-amazing-software-again/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 11:35:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[icantbelievethisistrue]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=245</guid>
		<description><![CDATA[Of course, this is just fake. Unfortunately. The question in doubt is really when Microsoft is leaving its path leading to nowhere and starts over producing quality software again? Let&#8217;s summarize Microsofts products to have something to talk about. First &#8230; <a href="http://momo.brauchtman.net/2009/01/15/microsoft-to-finally-create-amazing-software-again/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Of course, this is just fake. Unfortunately. The question in doubt is really when Microsoft is leaving its path leading to nowhere and starts over producing quality software again? Let&#8217;s summarize Microsofts products to have something to talk about.<span id="more-245"></span></p>
<p>First there is Microsoft&#8217;s ever green cash-cow, the Office Suite, selling in Germany for about 250€. This suite includes nothing that is not available for free in the OpenOffice Suite, compatibility is mostly ensured. Even worse, this Office suite fails to provide state-of-the-art functionality like wrapping text around the contour of an image. Instead of pushing this product to become even better, Microsoft seems to be happy to sell it. No need to improve it.</p>
<p>Same on the Operating Systems. Instead of inventing something new, useful, Microsoft seems to have decided that this is just not necessary. The eye-candy provided in Vista fails to provide some real usage advantage, and is therefore unnecessary. And while Mac OS is sold in one edition for 100€, Ubuntu and other Linux distributions are free, Vista is being sold in several stunningly expensive editions.</p>
<p>But Microsoft isn&#8217;t sleeping! They just lately presented the amazing new killer-app called Songsmith and the new Taskbar for Windows 7. The first one negates any use besides fun, the second doesn&#8217;t seem to be a revolution. Nothing break-through, as always, years behind.</p>
<p>Welcome to the browser&#8217;s section. While Firefox 3, Safari and Opera work mostly standards compliant and are kept up-to-date, Internet Explorer 7 is far away from rendering anything the way it should be rendered, and is also far from being up-to-date in any way. It seems Microsoft is just waiting here for innovations seen in other Browsers customers like and then implements them. Not what I expect from a global player.</p>
<p>Last but not least, it&#8217;s Microsoft communication pissing me off. Instead of presenting cool features or other breakthroughs, all the CEOs spitting out is related to Microsofts market position.</p>
<p>But with an attitude like this, it seems in question how long Microsoft is going to keep that. Office and some vintage Operating System won&#8217;t keep the value up. What is your opinion on Microsofts products?</p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2009/01/15/microsoft-to-finally-create-amazing-software-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft to receive the annual award for the funniest bug</title>
		<link>http://momo.brauchtman.net/2009/01/12/microsoft-to-receive-the-annual-award-for-the-funniest-bug/</link>
		<comments>http://momo.brauchtman.net/2009/01/12/microsoft-to-receive-the-annual-award-for-the-funniest-bug/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 16:55:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[stupid]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=222</guid>
		<description><![CDATA[Keep looking for that headline! The reason is simple, and you will agree ( hopefully ) that this is indeed a freaking funny bug description. The bug itself is funny, too. And I just don&#8217;t understand why, but let the &#8230; <a href="http://momo.brauchtman.net/2009/01/12/microsoft-to-receive-the-annual-award-for-the-funniest-bug/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Keep looking for that headline! The reason is simple, and you will agree ( hopefully ) that this is indeed a freaking funny bug description. The bug itself is funny, too. And I just don&#8217;t understand why, but let the details rest aside, and let&#8217;s enjoy it:</p>
<p><strong>A Web site cannot set a cookie if the Domain attribute is in uppercase characters and has an odd number of characters in Internet Explorer 7</strong></p>
<p>You can read find that bug in the <a href="http://support.microsoft.com/?scid=kb%3Ben-us%3B932044&amp;x=12&amp;y=15">Knowledge Base</a>. This post features nothing else but this bold bug description, so here&#8217;s my question, to be answered in the comment: what do you think was the code that caused this bug looking like? Any languages ( even brainfuck! ) welcome..</p>
<p>Edit: I stumbled upon a video demonstrating that by getting the square root of 4 and subtracting 2 from the result, the calculator.. outputs some rather unique result. Any explanation here? Try it, works in any Windows version. Buggy times.</p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2009/01/12/microsoft-to-receive-the-annual-award-for-the-funniest-bug/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why PHP should be banned.</title>
		<link>http://momo.brauchtman.net/2009/01/08/why-php-should-be-banned/</link>
		<comments>http://momo.brauchtman.net/2009/01/08/why-php-should-be-banned/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 12:56:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[antiusability]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[RailsMerb]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://momo.brauchtman.net/?p=176</guid>
		<description><![CDATA[Neither is Basic! Really, normally I&#8217;m trying to be objective, but I just can&#8217;t when it comes to PHP. I&#8217;ve done a lot of stuff in PHP over the years ( yes, including a CMS, Portal, Guestbook and Gallery ) &#8230; <a href="http://momo.brauchtman.net/2009/01/08/why-php-should-be-banned/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Neither is Basic! Really, normally I&#8217;m trying to be objective, but I just can&#8217;t when it comes to PHP. I&#8217;ve done a lot of stuff in PHP over the years ( yes, including a CMS, Portal, Guestbook and Gallery ) but as far as I can tell this language meets every requirement to be disqualified as something to consider when it comes to serious, professional software development.</p>
<p>There is certainly good software ( or software that pretends to be good ) written in PHP. But it&#8217;s not the majority. PHP just encourages programmers to do everything insecure, non-reusable and not really portable.</p>
<p>Just think of the word PHP/MySQL, which is nothing but a pain in the ass. I&#8217;ve been running Postgres for years, and every now and then a small PHP script comes my way requiring MySQL. Whhuuzza. No Database Abstraction. And now that there is one, all popular software still uses these funny mysql_do_whatever() methods.</p>
<p>Function naming is certainly another thing that terribly went wrong at some stage of the development. Has someone ever scanned the PHP sources for the functionNameObfuscator.c? I guess there is none, as no program could ever obfuscate stuff that badly. Now, in the upcoming PHP release there will be finally support for Namespaces, though I&#8217;m not really convinced that any of the built-in stuff will be used there prior to 2010.</p>
<p>PHP is perfect to learn some concepts. Like OOP, because there is no need to compile stuff, no need to worry too much about data types and stuff, but once you&#8217;re about to do a real project, keep in mind that type checking, namespaces etc. are stuff that could potentially matter at some point of the development. </p>
<p>What I find most confusing is that simple statements just don&#8217;t work. Why? I don&#8217;t know, they just don&#8217;t. Example? There you go</p>
<pre lang="PHP">// assuming the function foobar() returns some array.
// this won't work.
echo foobar()[0];</pre>
<p>Cool, hu? Not really. And as far as anything WebProgramming is concerned, I just learned my lessons and use something like Merb, Rails or even Java EE. G&#8217;day.</p>
]]></content:encoded>
			<wfw:commentRss>http://momo.brauchtman.net/2009/01/08/why-php-should-be-banned/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

