<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>4 Lines of Code</title>
	<atom:link href="http://4loc.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://4loc.wordpress.com</link>
	<description>A blog about software development and Ruby on Rails</description>
	<lastBuildDate>Wed, 22 May 2013 16:09:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='4loc.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>4 Lines of Code</title>
		<link>http://4loc.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://4loc.wordpress.com/osd.xml" title="4 Lines of Code" />
	<atom:link rel='hub' href='http://4loc.wordpress.com/?pushpress=hub'/>
		<item>
		<title>The rise and fall of the Microsoft empire</title>
		<link>http://4loc.wordpress.com/2013/05/18/the-rise-and-fall-of-the-microsoft-empire/</link>
		<comments>http://4loc.wordpress.com/2013/05/18/the-rise-and-fall-of-the-microsoft-empire/#comments</comments>
		<pubDate>Sat, 18 May 2013 11:58:35 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1533</guid>
		<description><![CDATA[People have always been fascinated by the rise and fall of empires, as the popularity of Edward Gibbon&#8217;s monumental work &#8216;The History of the Decline and Fall of the Roman Empire&#8216; has shown. Even a large and mighty empire can crumble and fall. The Roman Empire vanished. The British Empire is gone. It can occur [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1533&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://4loc.files.wordpress.com/2013/05/4995737599_0f6f878846_z.jpg"><img class="alignleft size-medium wp-image-1534" alt="Empire" src="http://4loc.files.wordpress.com/2013/05/4995737599_0f6f878846_z.jpg?w=300&#038;h=200" width="300" height="200" /></a>People have always been fascinated by the rise and fall of empires, as the popularity of Edward Gibbon&#8217;s monumental work &#8216;<a href="http://en.wikipedia.org/wiki/The_History_of_the_Decline_and_Fall_of_the_Roman_Empire">The History of the Decline and Fall of the Roman Empire</a>&#8216; has shown. Even a large and mighty empire can crumble and fall. The Roman Empire vanished. The British Empire is gone. It can occur for tech empires as well: does anyone remember <a href="http://blog.cas-group.net/2012/04/rise-and-fall-of-the-digital-equipment-corporation/">the rise and fall of DEC</a>? DEC (&#8220;Digital Equipment Corporation&#8221;) was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s. The empires of IBM and DEC are gone. IBM is only a shadow of its former self, and DEC has vanished with the emergence of Microsoft. Now, there is no reason why <a href="http://en.wikipedia.org/wiki/Microsoft">Microsoft</a> should not have a similar fate. Empire can rise and fall again.</p>
<p>The reason why Microsoft became a successful empire is not because their software was superior. Neither MS-DOS nor the <a href="http://en.wikipedia.org/wiki/Intel_8086">x86</a> processors from Intel were better than comparable products. The x86 processor architecture is indeed often <a href="http://stackoverflow.com/questions/2679882/why-is-x86-ugly-aka-why-is-x86-considered-inferior-when-compared-to-others">considered as ugly</a>. But they were cheap and widespread. Compatibility was the key. PCs with <a href="http://en.wikipedia.org/wiki/MS-DOS">MS-DOS</a> were business standard. They were good enough to run simple word processing and spreadsheet software. Software written for MS-DOS would run on any MS-DOS computer. A lock-in effect with a positive feedback loop set it: people wrote software for PCs because PC sold well and were widely distributed in the business world, and people bought in turn PCs because there were at lot of software available for them. Soon everybody in the business world was using PCs, and the old DEC empire started to crumble. Microsoft used the new market power to gain a competitive advantage in the world of windows systems. Again compatibility was the key. How many people remember the <a href="http://en.wikipedia.org/wiki/OS/2">OS/2 operating system</a> from IBM or <a href="http://en.wikipedia.org/wiki/OpenVMS">VAX/VMS</a> from DEC today? All commercial competitors disappeared until only Microsoft was left with Windows. Linux was able to survive in the open-source corner, a niche that is hard to tackle even for large corporations. But it was no serious opponent in the world of window systems.</p>
<p>This has changed. There are <a href="http://www.androidpolice.com/2013/03/13/google-ceo-larry-page-750-million-android-devices-activated-to-date-more-than-250-million-in-the-last-6-months/">750 million Android devices</a> today. Times in the IT industry change fast. Now apparently the Microsoft empire starts to decay (or at best to stagnate). The very pillars which made Microsoft successful begin to crumble. The new Windows 8 system is no longer compatible to the classic world of Microsoft Windows software. There is no longer a central desktop where Windows applications would run. There is a desktop, but it is hidden behind a new interface. As you know Windows 8 comes with a new colorful surface named &#8220;Metro&#8221;, which is intended to replace the desktop. Microsoft wants people to use the new &#8220;Metro&#8221; interface instead of the classic desktop, and wants to people to download apps from their app store, similar to Apple&#8217;s app store, or Google Play (the former Android Market). Apparently Microsoft tries to keep pace with their competitors. Unfortunately they seem to damage the very pillar they are built on: compatibility.</p>
<p>Using old Windows software on a new Windows 8 system is a hassle. Older versions of windows programs for instance use often a help in the Windows Help format. This format is no longer supported in Windows 8. Just try to enable the legacy windows help system winhlp32 on windows 8. It is annoying. If you start an old applications which uses Windows Help, then you might get the following message:  &#8220;The Help for this program was created in Windows Help format, which depends on a feature that isn’t included in this version of Windows. However, you can download a program that will allow you to view Help created in the Windows Help format.&#8221; If you do this, and follow the official links, then you will get a link to an update of the help system, and if you try to install this update, then an error message occurs which claims <strong>&#8220;the update is not applicable to this computer&#8221;</strong>. Great. It is possible to get it working, it is just difficult. There is in fact a non-functional stub of WinHlp32.exe in Windows 8, which shows the above message that the help does not work. It is <a href="http://www.eightforums.com/software-apps/7540-winhlp32-exe-how-can-i-enable-legacy-windows-help-system-windows-8-a.html">possible to replace the WinHlp32 file</a>, but the &#8220;TrustedInstaller&#8221; prevents you from doing it. Obviously Microsoft does not mind or does not care if older programs (for their own platform) do not work.</p>
<p>From my humble point of view, Microsoft needs to fixed two things: they need to ensure <strong>compatibility</strong> as much as they can (for example by fixing things like the WinHlp32 problem, even if it is a minor issue), and they must win the hearts of <strong>business</strong> customers back. These are the pillars their empire is built on.</p>
<ul>
<li>Microsoft successfully managed to alienate many of their loyal developers and now even their main customers, i.e. small and large businesses. Their main software is called Office, and it is used in offices: in most offices I know there are PCs running Microsoft Windows. If MSFT continues to alienate these customers, then they should have a problem. These users do not have touch screen devices, and they are used to classic graphical user interface with desktop and mouse input. They want to use the Office software they know (Word, Excel and Powerpoint) in the way they always used it. The new Metro interface is not useful at all for classic computers with keyboard and mouse. By hiding the old desktop behing the new Metro UI, the multi-dimensional Window UI is essentially being replaced by a 2-dimensional UI made of rectangular colorful tiles. Like the ones we had in the age of DOS. The new Metro UI and the flat colored &#8220;live tiles&#8221; feel like a step back to the age of DOS. A finger is always less precies than a mouse pointer, just because it is much wider. It is maybe useful to point to pictures or icons, but it is not useful to use office software. A real step forward would have been a 3D UI (as they can be found in games today), where the traditional desktop could be accessed through windows. That would have been revolutionary.</li>
<li>Apparently they neglected the compatibility of existing Windows software. This was always an advantage of Windows. Now traditional Windows software does not run as good it always did, and the new Microsoft App Store offers only a few apps. If Microsoft&#8217;s app store will offer as many good apps as the stores from Apple and Google remains doubtful. Developers tend to develop software for widely distributed systems, but most of the new devices run Android (i.e. a Linux derivative). Users increasingly use and buy computers without Microsoft OS, either smartphones (iPhones and Android phones) or tablets (iPads or Android tablets). Whether Windows phones will be successful is an open question.Any UI rises and falls with the number of good apps available for it. A total replacement of the old desktop in the medium term would render all existing applications useless. And when it comes devices with touchscreens, iPad and Android devices are at least as good as the new Windows 8, but wider distributed.</li>
</ul>
<p>This means Microsoft loses all traditional advantages at once by the radical switch to a new UI. We will see how it turns out. I have a feeling that it will not turn out well. Too much change and too late. Is this the beginning from the end of the Microsoft empire? Will they end like IBM, a pale shadow of their former self? People increasingly buy smartphones and tablet PCs, but they are not from Microsoft: they are mainly from Apple (iPhone &amp; iPad), or equipped with Android. We have seen in the <a href="http://en.wikipedia.org/wiki/Microcomputer_revolution">Microcomputer revolution</a> what happens to older, larger systems if they are increasingly replaced by newer, smaller systems with a new operating system. I am curious how it will turn out this time.</p>
<p><em>( Photo Credit: <a href="http://www.flickr.com/photos/47287396@N05/4995737599/">Pedro Vezini</a> via <a href="http://compfight.com">Compfight</a> <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/">cc</a> )</em></p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/general/'>general</a>, <a href='http://4loc.wordpress.com/category/history/'>history</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1533/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1533&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2013/05/18/the-rise-and-fall-of-the-microsoft-empire/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>

		<media:content url="http://4loc.files.wordpress.com/2013/05/4995737599_0f6f878846_z.jpg?w=300" medium="image">
			<media:title type="html">Empire</media:title>
		</media:content>
	</item>
		<item>
		<title>Unsteadiness of progress in development</title>
		<link>http://4loc.wordpress.com/2013/05/16/unsteadiness-of-progress-in-development/</link>
		<comments>http://4loc.wordpress.com/2013/05/16/unsteadiness-of-progress-in-development/#comments</comments>
		<pubDate>Thu, 16 May 2013 00:03:59 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[analogies]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1515</guid>
		<description><![CDATA[There is a certain unsteadiness and ruggedness in the software world. Software development often feels like moving on a rugged landscape: sometimes it goes amazingly fast, but often you are just stuck and do not make progress for hours. Either you make a lot of progress in a few time, or you make no progress [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1515&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://4loc.files.wordpress.com/2013/05/4801482524_cb31b66f6c.jpg"><img class="alignleft size-medium wp-image-1524" alt="Canyon" src="http://4loc.files.wordpress.com/2013/05/4801482524_cb31b66f6c.jpg?w=200&#038;h=300" width="200" height="300" /></a>There is a certain unsteadiness and ruggedness in the software world. Software development often feels like moving on a rugged landscape: sometimes it goes amazingly fast, but often you are just stuck and do not make progress for hours. Either you make a lot of progress in a few time, or you make no progress at all for a large time span. There are times when you make a few keystrokes and everything just works, for instance when you stick a few plugins together, make some function calls, add a few lines of code, and everything just works. These are the good times, when you think you have achieved <a href="http://4loc.wordpress.com/2009/08/23/longing-for-world-domination/">world domination</a> and can move an army of bits with a few keystrokes, when the <a href="http://4loc.wordpress.com/2010/11/16/programmers-are-like-little-gods/">programmers are like little gods</a> in their little self-made binary universes.</p>
<p>And then there are times when things look desperate, when nothing works at all, and you do not know why, and can not figure it out. An exception has been raised, an error occurs, or something does not work, and you have no idea why. Plugins for instance are wonderful if they work out of the box, autmatically. But if they do not work, then it becomes cumbersome. The more automated a plugin or component is, the more annoying is it when it stops to work, because in this case you have no other options than examining it in detail, which means to drill down through the simple shell into the complex core where you understanding nothing at first.</p>
<p>Version conflicts and <a href="http://en.wikipedia.org/wiki/Dependency_hell">dependency hells</a> can be very time-consuming and annoying, too. Ruby-on-Rails programs for example need the right combination of Ruby Version (for example Ruby 1.8.7 or 1.9.2), the right Ruby-On-Rails Version (2.3.8 or 3.2), and the right RubyGems Version (say 1.3.5). The gems or plugins have their own versions, too. The whole system only works if everything fits together. In the beginning this is no problem, for a new system usually everything is up-to-date. But then time goes on, and you have to update the Linux version, or the Ruby version, or the RubyGems Version. And suddenly the other versions no longer fit. It can be very frustrating to get the system working again in this case.</p>
<p>Software programs usually are not fault-tolerant systems at a basic level, there is no graceful degradation in machine language. On the lowest level in machine language or assembly the program works only if there is no error. A single error can be the system to a full stop. Either the computer program runs, which means you have to get every instruction right, or it hangs, throws an exception and stops completely. It is of course usually possible to figure the problem out, if you have enough time, but sometimes it takes a long time to understand what is going on in the various <a href="http://4loc.wordpress.com/2010/03/13/the-six-stages-of-debugging/">stages of debugging</a>.</p>
<p><em>Photo Credit: <a href="http://www.flickr.com/photos/70021771@N00/4801482524/">tim caynes</a> via <a href="http://compfight.com">Compfight</a> <a href="http://creativecommons.org/licenses/by-nc/2.0/">cc</a></em></p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/analogies/'>analogies</a>, <a href='http://4loc.wordpress.com/category/development/'>development</a>, <a href='http://4loc.wordpress.com/category/software/'>software</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1515/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1515&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2013/05/16/unsteadiness-of-progress-in-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>

		<media:content url="http://4loc.files.wordpress.com/2013/05/4801482524_cb31b66f6c.jpg?w=200" medium="image">
			<media:title type="html">Canyon</media:title>
		</media:content>
	</item>
		<item>
		<title>Fundamental attribution error of programming</title>
		<link>http://4loc.wordpress.com/2012/12/20/fundamental-attribution-error-of-programming/</link>
		<comments>http://4loc.wordpress.com/2012/12/20/fundamental-attribution-error-of-programming/#comments</comments>
		<pubDate>Thu, 20 Dec 2012 21:39:20 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1485</guid>
		<description><![CDATA[Sam Stephenson is the creator of the Prototype JavaScript framework and rbenv, the competitor to RVM. He recently wrote an interesting article why programmers are not their product named &#8220;you are not your code&#8220;. Are you? This is in fact what programmers do quite often: their identify themselves with their code. After all, they have [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1485&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://4loc.wordpress.com/2012/12/20/fundamental-attribution-error-of-programming/code/" rel="attachment wp-att-1503"><img src="http://4loc.files.wordpress.com/2012/12/code.jpg?w=300&#038;h=199" alt="code" width="300" height="199" class="alignleft size-medium wp-image-1503" /></a><a href="http://sstephenson.us/">Sam Stephenson</a> is the creator of the Prototype JavaScript framework and rbenv, the competitor to RVM. He recently wrote an interesting article why programmers are not their product named &#8220;<a href="http://sstephenson.us/posts/you-are-not-your-code">you are not your code</a>&#8220;. Are you? </p>
<p>This is in fact what programmers do quite often: their identify themselves with their code. After all, they have written and created every line and every character. They have invented the names, the functions, and the structures. Nobody else knows their code as good as they do. They own their &#8220;precious&#8221; code. <a href="http://4loc.wordpress.com/2010/11/16/programmers-are-like-little-gods/">Programmers are like little gods</a> who like to rule their own universe.</p>
<p>The advantage is obvious: if the software is succesful and you identify with it, it is your success. The drawback: if the software is not succesful and you identify with it, it is your failure. This is similar to a sports team: if a sports team wins, then everybody wants to take part in the success. If the team continues to lose, then everybody starts to blame each other: the president the trainer, the trainer the players, the players each other, etc.</p>
<p>It often works to claim the ownership of something because people have a lot of <a href="http://en.wikipedia.org/wiki/Cognitive_bias">cognitive biases</a>. One of these biases is the fundamental attribution error in Psychology: we have a tendency to over-emphasize personality-based explanations and ignore the role of other influences (for instance situational ones). We also tend to attribute great events to great men, know as <a href="http://en.wikipedia.org/wiki/Great_Man_theory">great man theory</a>. </p>
<p>While it is debatable if this is a good thing or not, a developer of a modern web application can hardly claim he is the only author of it. In the early days of PCs, it was only the programmer and the CPU that mattered, at least if you did machine programming in assembly language directly. Then we had the first high-level programming language to program systems with disk-operating systems like CP/M or various forms of DOS. Together with graphical user interfaces object-oriented programming languages arrived, and for the web comfortable high-level languages like Java, Ruby or Python with garbage collection appeared. Today we have 4 or 5 layers between the programmer and the CPU: for example for Ruby programs the programs are written in Ruby, Ruby is written in C, C is written in Assembly, and Assembly boils down to machine code.</p>
<p>And this is only the language itself. A modern web application is like an iceberg, the stuff above the surface is written by you and your team, the stuff below by countless others. It is not only the language and the tools for editing and debugging, a web application is based on a lot of different servers and systems</p>
<ul>
<li>the operating system like MacOS or Linux</li>
<li>the web server like Apache or Nginx</li>
<li>the web server modules like Phusion Passenger</li>
<li>the database server like MySQL or PostgreSQL</li>
<li>the caching server like Memcached or Redis</li>
<li>the mail server and mail transfer agents like Postfix or Sendmail</li>
<li>the message queue processing server like ActiveMQ, RabbitMQ or ZeroMQ</li>
</ul>
<p>Then there are also the languages and version management systems, frameworks and libraries,<br />
gems and plugins, written by countless other developers:</p>
<ul>
<li>languages like C, Ruby, Python or Javascript </li>
<li>version management systems like SVM, Git, RVM or rbenv</li>
<li>frameworks like Rails or Django </li>
<li>libraries like Prototype or jQuery</li>
<li>gems and plugins for pagination, authentication, etc.</li>
</ul>
<p>In order to build a modern application, you setup different servers and configure them, choose a language, a framework and suitable libraries, and finally you select different plugins and gems and stick them together in a unique way. If you have done all this you can hardly claim <strong>you</strong> have created the system. And yet we tend to do it..</p>
<p>Therefore if you are a Ruby developer and you have produced more than others, it is not because you are taller or smarter. It is probaby because you are <a href="http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants">standing on the shoulders</a> of many others.</p>
<p><em>(The <a href="http://www.flickr.com/photos/27851913@N00/4443886636/">sourcecode photo</a> is from Flickr user <a href="http://www.flickr.com/photos/nyuhuhuu/">nyuhuhuu</a>)</em></p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/development/'>development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1485/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1485&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2012/12/20/fundamental-attribution-error-of-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>

		<media:content url="http://4loc.files.wordpress.com/2012/12/code.jpg?w=300" medium="image">
			<media:title type="html">code</media:title>
		</media:content>
	</item>
		<item>
		<title>Ubuntu on Samsung Series 7 Chronos</title>
		<link>http://4loc.wordpress.com/2012/12/15/ubuntu-on-samsung-series-7-chronos/</link>
		<comments>http://4loc.wordpress.com/2012/12/15/ubuntu-on-samsung-series-7-chronos/#comments</comments>
		<pubDate>Sat, 15 Dec 2012 17:50:19 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[UEFI]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1469</guid>
		<description><![CDATA[After my 8-year old laptop refused to work this year, I looked for a while to buy a new one. The Lenovo ThinkPads looked good, they are quite popular among Linux fans. Sony and Apple make good machines as well. Finally I decided to buy a new Samsung Series 7 &#8220;chronos&#8221; laptop, and tried to [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1469&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://4loc.wordpress.com/2012/12/15/ubuntu-on-samsung-series-7-chronos/desktop/" rel="attachment wp-att-1470"><img class="alignleft size-medium wp-image-1470" alt="desktop" src="http://4loc.files.wordpress.com/2012/12/desktop.png?w=300&#038;h=168" width="300" height="168" /></a></p>
<p>After my 8-year old laptop refused to work this year, I looked for a while to buy a new one. The Lenovo ThinkPads looked good, they are quite popular among Linux fans. Sony and Apple make good machines as well. Finally I decided to buy a new Samsung Series 7 &#8220;chronos&#8221; laptop, and tried to create a dual boot system for Windows 8 and Ubuntu 12.10. This turned out to be more difficult than expected.</p>
<p>By default the machine has Windows 8 installed, uses <a href="http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface">UEFI</a> and has &#8220;Secure Boot&#8221; switched on in the BIOS by default. After I switched &#8220;Secure Boot&#8221; off in the BIOS (and set it to &#8220;UEFI and CSM OS&#8221;) I was able to install Ubuntu, by booting from CD with Settings/Change PC Settings/General/Advanced Startup in Windows 8. The installation was cumbersome, because after the installation and the restart of the machine somehow ignored Ubuntu and booted only Windows 8. With the help of <a href="https://help.ubuntu.com/community/Boot-Repair">Boot Repair</a> it finally worked. </p>
<p>So now I have got a new Samsung Series 7 laptop with dual boot setup for Windows 8 and Ubuntu 12.10. Or so I thought. Windows 8 starts fine, but if I wanted to start Ubuntu regularly the following Machine Check Exception error occured:</p>
<p><code>[Hardware Error] CPU 1: Machine Check Exception: 5 Bank 6<br />
[Hardware Error] RIP !inexact! 33<br />
[Hardware Error] TSC 95b623464c ADDR fe400 MISC 3880000086<br />
.. [similar messages for CPU 2,3 and 0] ..<br />
[Hardware Error] Machine Check: Processor context corrupt<br />
Kernel panic - not syncing: Fatal Machine Check<br />
Rebooting in 30 seconds<br />
</code></p>
<p>As you know <a href="http://en.wikipedia.org/wiki/Kernel_panic">kernel panic</a> is the Linux equivalent of the Windows <a href="http://en.wikipedia.org/wiki/Blue_Screen_of_Death">Blue Screen of Death</a>. Something which you don&#8217;t want to see too often. It certainly does not sound good. The laptop started to reboot every time after the Kernel panic. The second boot trial often worked, but the Kernel Panic errors were of course annoying. I wondered if it is a Kernel or a driver problem. I deactivated Hyperthreading in the BIOS and also disabled the Execute Disable Bit (EDB) flag in the BIOS. EDB is an Intel hardware-based security feature that can help reduce system exposure to viruses and malicious code. Then the error did occur less frequently, but it still appeared occasionally.</p>
<p>Finally I found a Kernel bug report <a href="https://bugzilla.kernel.org/show_bug.cgi?id=47121">47121</a> where someone reported that it maybe helps to set the &#8220;OS Mode Selection&#8221; in the BIOS to &#8220;UEFI OS&#8221;, instead to &#8220;UEFI and CSM OS&#8221;. The packages and libraries that are loaded seem to be different. I needed to switch to &#8220;UEFI and CSM OS&#8221; to install Ubuntu in the first place. Now I had to switch it off again. But after I switched it back to &#8220;UEFI OS&#8221; the Grub boot meanu now seems to have a higher resolution and &#8211; it booted without errors. It looks like UEFI was the root cause for all the major troubles. </p>
<p>Thus if you get a Kernel Panic error on a Samsung Series 7 and Series 9 laptop like the above one, then have look at the BIOS settings. Deactivate all advanced settings to increase performance like Hyperthreading and EDB Bit, and set &#8220;OS Mode Selection&#8221; to &#8220;UEFI OS&#8221;. Using the right BIOS settings the laptop from Samsung works really well, with both Windows 8 and Ubuntu 12.10. It is a nice machine, high quality, good equipment, comparable in every aspect to a Macbook Pro (just like the Samsung Galaxy S2/3 is like the iPhone 4/5, and the Samsung Galaxy Tab is like the iPad). </p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/general/'>general</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1469/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1469&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2012/12/15/ubuntu-on-samsung-series-7-chronos/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>

		<media:content url="http://4loc.files.wordpress.com/2012/12/desktop.png?w=300" medium="image">
			<media:title type="html">desktop</media:title>
		</media:content>
	</item>
		<item>
		<title>Local vs. Remote Port Forwarding</title>
		<link>http://4loc.wordpress.com/2012/11/30/local-vs-remote-port-forwarding/</link>
		<comments>http://4loc.wordpress.com/2012/11/30/local-vs-remote-port-forwarding/#comments</comments>
		<pubDate>Fri, 30 Nov 2012 21:31:52 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[principles]]></category>
		<category><![CDATA[port forwarding]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>
		<category><![CDATA[tunneling]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1451</guid>
		<description><![CDATA[Have you ever wondered what port forwarding is or what the difference between local and remote port forwarding is? Port forwarding is a way to forward or &#8220;tunnel&#8221; TCP traffic through SSH from one machine to another. Using just one line of code, you can create an outgoing tunnel, forward your IP requests over that [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1451&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Have you ever wondered what port forwarding is or what the <a href="http://superuser.com/questions/353234/what-is-the-difference-of-local-and-remote-ip-forwarding">difference between local and remote port forwarding</a> is? <a href="http://www.debianadmin.com/howto-use-ssh-local-and-remote-port-forwarding.html">Port forwarding</a> is a way to forward or &#8220;tunnel&#8221; TCP traffic through SSH from one machine to another. Using just one line of code, you can create an outgoing tunnel, forward your IP requests over that tunnel, and receive the response. In this way you can <strong>pull</strong> the data from a remote server to a <strong>local</strong> server (local port forwarding), and your local machine acts as a proxy server for the remote one. Or you can create an incoming tunnel to a remote server which receives IP requests, forwards them over that tunnel to the local server where it is processed and sent back again. Thus it is possible to <strong>push</strong> data from a local server to/through a <strong>remote</strong> server (remote port forwarding).</p>
<p>Local Port Forwarding (Outgoing Tunnel): </p>
<ul>
<li> Principle: Local host forwards/displays content of remote host. <strong>Local host acts as proxy</strong>. Tunneling opens a listening socket on localhost and transfers content to remote server</li>
<li> Command: <code>ssh -L local_port:remote_host:remote_port login@servername</code></li>
<li> Tunnel: local host -(SSH tunnel)&rarr; remote host -(SSH tunnel)&rarr; local host </li>
<li> Example: check remote host behind load-balancer or firewall on localhost  </li>
</ul>
<p>Remote Port Forwarding (Incoming Tunnel):</p>
<ul>
<li> Principle: remote host forwards content of localhost. <strong>Remote host acts as proxy</strong>. Tunneling opens a listening socket on the remote server host and transfers the content to the local host</li>
<li> Command: <code>ssh -R remote_port:local_host:local_port login@servername</code></li>
<li> Tunnel: remote host -(SSH tunnel)&rarr; local host -(SSH tunnel)&rarr; remote host </li>
<li> Example: make localhost visible in the internet or giving access to a service on your home machine to people at work</li>
</ul>
<br />Filed under: <a href='http://4loc.wordpress.com/category/development/'>development</a>, <a href='http://4loc.wordpress.com/category/principles/'>principles</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1451/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1451&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2012/11/30/local-vs-remote-port-forwarding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>
	</item>
		<item>
		<title>Sisyphus Projects</title>
		<link>http://4loc.wordpress.com/2012/06/30/sisyphus-projects/</link>
		<comments>http://4loc.wordpress.com/2012/06/30/sisyphus-projects/#comments</comments>
		<pubDate>Sat, 30 Jun 2012 17:05:07 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[analogies]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1441</guid>
		<description><![CDATA[You know death march projects: in the software development and software engineering industries, a death march is a name for a project that is destined to fail. Some software projects are Sisyphus projects: you build it up only to break it down a bit later. An example are Facebook applications: you build them up in [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1441&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='575' height='354' src='http://www.youtube.com/embed/2vRJ2CzLJuc?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>You know <a href="http://en.wikipedia.org/wiki/Death_march_%28project_management%29">death march projects</a>: in the software development and software engineering industries, a death march is a name for a project that is destined to fail. Some software projects are <a href="http://en.wikipedia.org/wiki/Sisyphus">Sisyphus projects</a>: you build it up only to break it down a bit later. An example are Facebook applications: you build them up in a cumbersome process, and if you are finally ready, you can break it down and start rolling up the boulder again, because Facebook has changed its API again. The old API is now deprecated, and the application is no longer compatible with the new one. Congratulations! One feels a bit like Sisyphus who rolls the boulder up the hill. Remember in Greek mythology Sisyphus was a king punished by being compelled to roll an immense boulder up a hill, only to watch it roll back down, and to repeat this action forever.</p>
<p>Optimizing web applications for different browsers can be cumbersome, too: if you finally have optimized you application for IE6-9, and you have fixed <a href="http://www.positioniseverything.net/explorer/threepxtest.html">the 3 Pixel Jog Bug</a> and other nice relatives, there is a new browser IE 10, followed rapidly by IE 11-19, which behave completely different and introduce bugs you never dreamed of. You can start all again rolling the boulder up the hill. Sometimes software development can be exciting and fascinating, but sometimes it is just frustrating and exhausting.</p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/analogies/'>analogies</a>, <a href='http://4loc.wordpress.com/category/development/'>development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1441/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1441/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1441&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2012/06/30/sisyphus-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>
	</item>
		<item>
		<title>Some social networks are like black holes for data</title>
		<link>http://4loc.wordpress.com/2012/03/11/some-social-networks-are-like-black-holes-for-data/</link>
		<comments>http://4loc.wordpress.com/2012/03/11/some-social-networks-are-like-black-holes-for-data/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 22:32:08 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[analogies]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[social network]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1404</guid>
		<description><![CDATA[In earlier posts I tried to compare start-ups and quasars, and social networks with expanding universes. Now I would like to take a look a &#8220;black holes&#8221; and their relation to social networks. From the inside social networks are like expanding universes, they grow bigger each day by adding more members, more relationships, and more [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1404&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://4loc.files.wordpress.com/2008/10/black_hole_quasar_nasa.jpg"><img class="alignleft size-medium wp-image-1116" title="Black_hole_quasar_NASA" src="http://4loc.files.wordpress.com/2008/10/black_hole_quasar_nasa.jpg?w=300&#038;h=240" alt="" width="300" height="240" /></a> In earlier posts I tried to compare <a href="http://4loc.wordpress.com/2008/10/21/start-ups-are-like-quasars/">start-ups and quasars</a>, and <a href="http://4loc.wordpress.com/2011/12/30/social-networks-are-like-expanding-universes/">social networks with expanding universes</a>. Now I would like to take a look a &#8220;black holes&#8221; and their relation to social networks.</p>
<p>From the inside social networks are like expanding universes, they grow bigger each day by adding more members, more relationships, and more informations. From the outside they are quite the opposite: they are acting like big black holes who suck in information and make it inaccessible for everyone outside. Robert Scoble compared large closed corporate social networks like Facebook to black holes and coined the term “<a href="http://scobleizer.com/2012/02/04/its-too-late-for-dave-winer-and-john-battelle-to-save-the-common-web/">data black holes</a>”. Data vanishes inside these black holes, and never comes out again. Can we save the common, open web or is it too late?</p>
<p>Currently, Facebook behaves indeed much like a data black hole who sucks in a larger part of the web and private information every day. Facebook is much more closed in this respect than Google+, which has like Twitter a public feed, better private/public sharing options through the &#8220;circle&#8221; feature, and it allows the export of data by &#8220;Data Liberation&#8221;. After the IPO, Facebook wants to grow and expand its own intergalactic advertising universe even further. Whether this will be successful or not will be seen. Will Facebook be able to beat Google AdWords with their own Advertising programm by sucking in the majority of information and traffic of the web? What do you think?</p>
<p><em>(The image of a quasar or growing black hole is from Wikipeda and can be found <a href="http://en.wikipedia.org/wiki/File:Black_hole_quasar_NASA.jpg">here</a>)<br />
</em></p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/analogies/'>analogies</a>, <a href='http://4loc.wordpress.com/category/general/'>general</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1404/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1404&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2012/03/11/some-social-networks-are-like-black-holes-for-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>

		<media:content url="http://4loc.files.wordpress.com/2008/10/black_hole_quasar_nasa.jpg?w=300" medium="image">
			<media:title type="html">Black_hole_quasar_NASA</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming together</title>
		<link>http://4loc.wordpress.com/2012/01/17/programming-together/</link>
		<comments>http://4loc.wordpress.com/2012/01/17/programming-together/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 21:25:33 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[analogies]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1386</guid>
		<description><![CDATA[Programming together in a group is a bit like living together in the same house or sharing the same apartment. It can be fun if all work together. It can be frustrating and annoying, too. Others will get upset if you don&#8217;t clean up the kitchen (and do not leave clean code), mess things up [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1386&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://4loc.files.wordpress.com/2012/01/1483155938_f65dee08b2_z.jpg"><img src="http://4loc.files.wordpress.com/2012/01/1483155938_f65dee08b2_z.jpg?w=300&#038;h=225" alt="" title="1483155938_f65dee08b2_z" width="300" height="225" class="alignleft size-medium wp-image-1393" /></a>Programming together in a group is a bit like living together in the same house or sharing the same apartment. It can be fun if all work together. It can be frustrating and annoying, too. Others will get upset if you don&#8217;t clean up the kitchen (and do not leave <a href="http://4loc.wordpress.com/2009/04/14/clean-software/">clean code</a>), mess things up or if you change their things. In an apartment- or flat-sharing community, it is often the shared rooms like kitchen and bathrooms that cause the most trouble.</p>
<p>To be more precise, software engineers or software architects who work together are a bit like architects who live together in the house they are building. It works best if everybody agrees on a central plan (if there is any) or if everyone works and &#8220;lives&#8221; in his own space, i.e. everyone has his own room(s), owned only by himself, where the others are not allowed to change things. If you are lucky, then the others may show you their rooms occasionally. Some shared regions like the main entrance, can be public, though. Basically, programming well with others is difficult, just like living together, because likes, tastes and preferences vary. </p>
<p>Since <a href="http://4loc.wordpress.com/2010/11/16/programmers-are-like-little-gods/">programmers are like little gods</a>, almighty and all knowing entities in the world they have created, the clash begins already if two or more programmers with equal rights must work together. One wants a red room, the other a green. One wants wooden furniture, the other plastic. To find a compromise means to communicate and talk with each other. And this is an area were most programmers do not excel. I am not good at it, either. I think it is justified to say many have chosen to become a programmer in order to avoid too much idle talk and communication. This is were the difficulties begin..</p>
<p><em>(The picture is from Flickr user <a href="http://www.flickr.com/photos/70672543@N00/">Annette Bouvain</a>  and shows a <a href="http://www.flickr.com/photos/70672543@N00/1483155938/">flat share</a></em>)</p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/analogies/'>analogies</a>, <a href='http://4loc.wordpress.com/category/development/'>development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1386/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1386/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1386&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2012/01/17/programming-together/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>

		<media:content url="http://4loc.files.wordpress.com/2012/01/1483155938_f65dee08b2_z.jpg?w=300" medium="image">
			<media:title type="html">1483155938_f65dee08b2_z</media:title>
		</media:content>
	</item>
		<item>
		<title>A minimum number of chips and code</title>
		<link>http://4loc.wordpress.com/2011/12/31/a-minimum-number-of-chips-and-code/</link>
		<comments>http://4loc.wordpress.com/2011/12/31/a-minimum-number-of-chips-and-code/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 12:57:14 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1375</guid>
		<description><![CDATA[Good hardware engineers like the legendary Steve Wozniak make designs which have a minimum number of chips. They try to design a simple minimum-chip circuit, because in hardware design a minimal number of chips means to minimize the cost. Good software engineers make code which have a minimum number of lines. They try to design [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1375&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://4loc.files.wordpress.com/2011/12/2680667779_5c72de38b1_z.jpg"><img src="http://4loc.files.wordpress.com/2011/12/2680667779_5c72de38b1_z.jpg?w=300&#038;h=225" alt="" title="2680667779_5c72de38b1_z" width="300" height="225" class="alignleft size-medium wp-image-1380" /></a>Good <strong>hardware </strong>engineers like the legendary Steve Wozniak make designs which have a minimum number of chips. They try to design a simple minimum-chip circuit, because in hardware design a minimal number of chips means to minimize the cost. </p>
<p>Good <strong>software </strong>engineers make code which have a minimum number of lines. They try to design a simple minimum-code program, because in software design a minimal number of lines means to minimize the complexity. Less code means less effort to understand it, less trouble while maintaining it, and less hassle in changing it. </p>
<p>Thus in general, less items in engineering means less cost and less complexity. A minimum number of items, whether chips or lines of code, is important to achieve simplicity and the KISS principle. The <a href="http://en.wikipedia.org/wiki/KISS_principle">KISS principle</a> states that most systems work best if they are kept simple rather than made complex, therefore simplicity should be a key goal in design and unnecessary complexity should be avoided.</p>
<p><em>(the image from Flickr User <a href="http://www.flickr.com/photos/richevenhouse/">Fellowship of the Rich</a> shows an <a href="http://www.flickr.com/photos/38101026@N00/2680668251/">Apple motherboard</a>)</em></p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/development/'>development</a>, <a href='http://4loc.wordpress.com/category/general/'>general</a>, <a href='http://4loc.wordpress.com/category/software/'>software</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1375/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1375&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2011/12/31/a-minimum-number-of-chips-and-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>

		<media:content url="http://4loc.files.wordpress.com/2011/12/2680667779_5c72de38b1_z.jpg?w=300" medium="image">
			<media:title type="html">2680667779_5c72de38b1_z</media:title>
		</media:content>
	</item>
		<item>
		<title>Social networks are like expanding universes</title>
		<link>http://4loc.wordpress.com/2011/12/30/social-networks-are-like-expanding-universes/</link>
		<comments>http://4loc.wordpress.com/2011/12/30/social-networks-are-like-expanding-universes/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 12:51:00 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[analogies]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[social network]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1362</guid>
		<description><![CDATA[The universe is not static, it is expanding ever since the Big Bang 13.7 billion years ago. It contains billions and billions of stars and galaxies, and it is getting bigger all the time. Social networks like Google+, Twitter, or Facebook are similar. They do not only contain billions and billions of users and pages, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1362&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://4loc.files.wordpress.com/2011/12/640px-wmap_2010.png"><img class="alignleft size-medium wp-image-1364" title="640px-WMAP_2010" src="http://4loc.files.wordpress.com/2011/12/640px-wmap_2010.png?w=300&#038;h=150" alt="" width="300" height="150" /></a>The universe is not static, it is expanding ever since the Big Bang 13.7 billion years ago. It contains billions and billions of stars and galaxies, and it is getting bigger all the time.</p>
<p>Social networks like Google+, Twitter, or Facebook are similar. They do not only contain billions and billions of users and pages, they are also getting bigger all the time. Each day, more users join, and existing users add more content: they add more photos, share more links, and write more posts.</p>
<p>This is the major challenge in the engineering of social networks: <strong>to handle a system which is getting bigger all the time</strong>. An engineer of such a network is like a cook whose pots are constantly boiling over. He must add more pots each day, and keep the old still cooking.</p>
<p>Facebook was founded in 2004, and it was expanding ever since, gaining more users and more friends each day. Since it does not allow users to quit, and does not delete old content, it grows more and more each day. Twitter was founded in march 2006, and it was expanding ever since that time, too. Each day more users join, existing users gain more followers, and create more tweets. The latest and most advanced social network is Google+, which was started in July 2011 and combines the best features of Facebook and Twitter. It is growing at an ever accelerating rate, too.</p>
<p>The fundamental problem for the engineer is clear: a system which is getting bigger all the time is hard to handle, because it requires nearly unlimited scalability. If the engineers do not consider this from the start, it will be hard to build it later. Apparently, Google has the best prerequisites to master this challenge, it knows how to build scalable systems better than any other company. Some websites say <a href="http://highscalability.com/google-architecture">Google is the King of scalability</a>.</p>
<p><em>(The picture of the <a href="http://en.wikipedia.org/wiki/Accelerating_universe">accelerating universe</a> is from Wikipedia)</em></p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/analogies/'>analogies</a>, <a href='http://4loc.wordpress.com/category/development/'>development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1362/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1362&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2011/12/30/social-networks-are-like-expanding-universes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>

		<media:content url="http://4loc.files.wordpress.com/2011/12/640px-wmap_2010.png?w=300" medium="image">
			<media:title type="html">640px-WMAP_2010</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming well with others</title>
		<link>http://4loc.wordpress.com/2011/11/06/programming-well-with-others/</link>
		<comments>http://4loc.wordpress.com/2011/11/06/programming-well-with-others/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 11:05:33 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[ownership]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[teamwork]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1317</guid>
		<description><![CDATA[Recently there was a post at the 37signals blog Signal vs. Noise about the question why programs become territorial. The reason is simple: Programs become territorial because programmers naturally consider their code as their territory. Your code is your work and your creation based on your ideas, right? Therefore as a programmer it is natural [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1317&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Recently there was a post at the 37signals blog <a href="http://37signals.com/svn">Signal vs. Noise</a> about the question <a href="http://37signals.com/svn/posts/3023-why-programs-become-territorial">why programs become territorial</a>. The reason is simple: Programs become territorial because programmers naturally consider their code as their territory. Your code is your work and your creation based on your ideas, right? Therefore as a programmer it is natural to think that your code belongs to you. It is the world you have created. And in his own world the <a href="http://4loc.wordpress.com/2010/11/16/programmers-are-like-little-gods/">programmer is a little god</a> who knows everything, while everyone else is a mere mortal without superpowers. The own world contains only cities and places the programmer has built himself &#8211; so the programmer is the creator, architect, ruler, general, and governor all in one. A programmer which tries to understand the code from someone else has not only lost his superpowers, he is completely lost. It is a bit like being a tourist in a foreign city &#8211; you will feel lost in the beginning. Maps in form of database diagrams and UML models help to a certain degree, but even with a map it remains difficult to understand a foreign territory.</p>
<p>Software engineers tend to own their creations. It goes well in two cases: if everybody knows and owns his own part, i.e. if everybody has his own territory, or &#8211; if if the territory belongs to the team.  This means everybody knows and can change everything, everything is well documented and the team agrees on certain coding standards, policies and guidelines. Unfortunately, working in a team is not easy, because it is difficult to create useful documentation, and programmers do not like giving up their freedom. They like their superpowers. Developers want autonomy, mastery and purpose. Working in a team is difficult, because it means to have a team ego instead of an individual ego. Agreeing on standards does not mean that everyone in the team has to accept tools, libraries and plugins <strong>you</strong> prefer, rather it means to accept things others prefer more than you, and to abandon personal habits and likes. This is not easy, because programmers are often very opinionated. So the two extremes that work are:</p>
<ul>
<li>The <strong>individual</strong> rules: team has no strong ego, territory belongs to the individual</li>
<li>The <strong>team</strong> rules: individuals give up their ego, territory belongs to the team </li>
</ul>
<p>Between those extremes it gets complicated. Code changes can lead easily to personal conflicts if code is owned by people. Therefore developers tend to avoid changing the code from others. <strong>Programming well with others is difficult</strong>. It certainly requires good communication. Most programmers know how to communicate, but they don&#8217;t want to. They want to do it themselves, and they see others as competitors. It takes indeed a bit the fun out of programming if you have to justify and explain every decision to others. To find the right <a href="http://4loc.wordpress.com/2009/01/08/a-number-of-issues/">balance between cooperation and competition</a> in a team is not easy. In general, <a href="http://en.wikipedia.org/wiki/The_Golden_Rule">the golden rule</a> helps: One should treat others as one would like others to treat oneself. Do not ignore them, ask others for their opinion, show them your respect, include them in important decisions, explain your architecture, show them your achievements etc. Communication is the glue that keeps groups together. This is the reason why most programmers have difficulties when it comes to programming well with others. They lack social skills, and the only languages they really like are programming languages. They are used to work with machines and not with people. </p>
<p><a href="https://plus.google.com/113939332173985992126">Ben Collins-Sussman</a> and <a href="https://plus.google.com/101174951617223562800">Brian Fitzpatrick</a> give us some hints how to program well with others. Documentation is important: document your design decisions, your architecture, your goals, your failures, for example on an easy editable Wiki. <a href="http://4loc.wordpress.com/2010/01/31/the-google-generation/">The ability to communicate</a> is also an important aspect. They argue in this video (and their forthcoming book with the same title) that collaborating and communicating with others is at least as important as having great technical skills. According to Ben and Fitz, the right attitude is important in a team. You should be thinking about &#8220;how do I work with a team&#8221; and not &#8220;how do I present myself as a genius&#8221;</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='560' height='315' src='http://www.youtube.com/embed/q-7l8cnpI4k?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />Filed under: <a href='http://4loc.wordpress.com/category/development/'>development</a>, <a href='http://4loc.wordpress.com/category/software/'>software</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1317/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1317&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2011/11/06/programming-well-with-others/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming Blogs</title>
		<link>http://4loc.wordpress.com/2011/10/18/programming-blogs/</link>
		<comments>http://4loc.wordpress.com/2011/10/18/programming-blogs/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 21:16:36 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1310</guid>
		<description><![CDATA[Hacker news has an interesting list of programming blogs which you should read daily. The blogs from John Resig, Jeff Atwood, James Hamilton, and Joel Spolsky are certainly good. And guess what? Someone even mentioned this humble blog. What programming blogs do you prefer to read? Filed under: development<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1310&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Hacker news has an interesting list of <a href="http://news.ycombinator.com/item?id=3120380">programming blogs which you should read dail</a>y. The blogs from <a href="http://ejohn.org/category/blog/">John Resig</a>, <a href="http://www.codinghorror.com">Jeff Atwood</a>, <a href="http://perspectives.mvdirona.com/">James Hamilton</a>, and <a href="http://www.joelonsoftware.com/">Joel Spolsky</a> are certainly good. And guess what? Someone even mentioned this humble blog. What programming blogs do you prefer to read?</p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/development/'>development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1310/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1310&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2011/10/18/programming-blogs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>
	</item>
		<item>
		<title>Steve Wozniak about Engineers</title>
		<link>http://4loc.wordpress.com/2011/10/09/steve-wozniak-about-engineers/</link>
		<comments>http://4loc.wordpress.com/2011/10/09/steve-wozniak-about-engineers/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 19:55:37 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1304</guid>
		<description><![CDATA[In a recent Google+ comment, Steve Wozniak wrote: I&#8217;ll always be for the poor engineers. They have so much skill and experience but get paid very little. They design the products that change the world but those who write stories about them get paid more. But the thrill of making things yourself is just too [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1304&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In a recent <a href="https://plus.google.com/102509936935617434280/posts/1qJtVvcaDUn">Google+ comment</a>, Steve Wozniak wrote:</p>
<blockquote><p>I&#8217;ll always be for the poor engineers. They have so much skill and experience but get paid very little. They design the products that change the world but those who write stories about them get paid more. But <strong>the thrill of making things yourself is just too strong for real engineers to give up</strong>.</p></blockquote>
<p>How true!</p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/development/'>development</a>, <a href='http://4loc.wordpress.com/category/software/'>software</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1304/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1304&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2011/10/09/steve-wozniak-about-engineers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>
	</item>
		<item>
		<title>Aircraft-carrier of Authentication</title>
		<link>http://4loc.wordpress.com/2011/10/09/aircraft-carrier-of-authentication/</link>
		<comments>http://4loc.wordpress.com/2011/10/09/aircraft-carrier-of-authentication/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 08:06:19 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[analogies]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[SSO]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1290</guid>
		<description><![CDATA[Normal applications are usually protected by authentication modules or plugins. Like warships they protect the application against hostile intruders and regulate who is allowed to get in. In Ruby on Rails one would use RestfulAuthentication or AuthLogic for this purpose. They are powerful and easy to configure, and they provide enough protection for a whole [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1290&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://4loc.files.wordpress.com/2011/10/800px-uss_nimitz_in_victoria_canada_036.jpg"><img src="http://4loc.files.wordpress.com/2011/10/800px-uss_nimitz_in_victoria_canada_036.jpg?w=300&#038;h=198" alt="" title="800px-USS_Nimitz_in_Victoria_Canada_036" width="300" height="198" class="alignleft size-medium wp-image-1291" /></a></p>
<p>Normal applications are usually protected by <a href="https://www.ruby-toolbox.com/categories/rails_authentication">authentication modules or plugins</a>. Like warships they protect the application against hostile intruders and regulate who is allowed to get in. In Ruby on Rails one would use RestfulAuthentication or AuthLogic for this purpose. They are powerful and easy to configure, and they provide enough protection for a whole application. Once they are adapted to the application and are able to communicate with it, they work fine. </p>
<p>Big <a href="http://en.wikipedia.org/wiki/Single_sign-on">Single Sign-On</a> (SSO) Servers are different. Instead of adapting them to your application, you must adapt your application to them. If normal authentication plugins are like warships, then Single Sign-On (SSO) Servers like <a href="http://shibboleth.internet2.edu/">Shibboleth</a> and <a href="http://forgerock.com/openam.html">OpenAM</a> are like <strong>aircraft-carriers of authentication</strong>. They are very powerful, and can protect multiple applications, but they are also very huge, heavy and expensive, because they are complicated to configure and to maintain. They are accompanied by multiple other units, for instance web policy agents (which correspond to airplanes). They operate with highest security measures like <a href="http://de.wikipedia.org/wiki/Security_Assertion_Markup_Language">SAML</a>. They are powerful weapons once they are configured, delivered and deployed. Unfortunately, it often takes a while until they are ready. </p>
<p><em>(The picture is from Wikipedia and shows the <a href="http://en.wikipedia.org/wiki/File:USS_Nimitz_in_Victoria_Canada_036.jpg">USS Nimitz</a>)</em></p>
<br />Filed under: <a href='http://4loc.wordpress.com/category/analogies/'>analogies</a>, <a href='http://4loc.wordpress.com/category/general/'>general</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1290/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1290&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2011/10/09/aircraft-carrier-of-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>

		<media:content url="http://4loc.files.wordpress.com/2011/10/800px-uss_nimitz_in_victoria_canada_036.jpg?w=300" medium="image">
			<media:title type="html">800px-USS_Nimitz_in_Victoria_Canada_036</media:title>
		</media:content>
	</item>
		<item>
		<title>Stephen Wolfram: The idea of computation</title>
		<link>http://4loc.wordpress.com/2011/10/01/stephen-wolfram-the-idea-of-computation/</link>
		<comments>http://4loc.wordpress.com/2011/10/01/stephen-wolfram-the-idea-of-computation/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 06:59:32 +0000</pubDate>
		<dc:creator>0x4a6f4672</dc:creator>
				<category><![CDATA[principles]]></category>
		<category><![CDATA[computation]]></category>
		<category><![CDATA[programs]]></category>

		<guid isPermaLink="false">http://4loc.wordpress.com/?p=1281</guid>
		<description><![CDATA[Stephen Wolfram about the idea of computation, the foundation of science and the limits of technology Filed under: principles<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1281&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Stephen Wolfram about the idea of computation, the foundation of science and the limits of technology</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='560' height='315' src='http://www.youtube.com/embed/60P7717-XOQ?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />Filed under: <a href='http://4loc.wordpress.com/category/principles/'>principles</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/4loc.wordpress.com/1281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/4loc.wordpress.com/1281/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=4loc.wordpress.com&#038;blog=4732228&#038;post=1281&#038;subd=4loc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://4loc.wordpress.com/2011/10/01/stephen-wolfram-the-idea-of-computation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fd9c0c07d7161defee1f25b6b46b20b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">0x4a6f4672</media:title>
		</media:content>
	</item>
	</channel>
</rss>
