<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5421705863107704762</id><updated>2011-11-02T17:44:22.207+01:00</updated><category term='space'/><category term='linux'/><category term='pki'/><category term='introduction'/><category term='hello'/><category term='scalability'/><category term='ec2'/><category term='mechnical_turk'/><category term='patterns'/><category term='security'/><category term='yEd'/><category term='alien'/><category term='partitioning'/><category term='oracle'/><category term='life'/><category term='containers'/><category term='diagram'/><category term='resource isolation'/><category term='data structures'/><category term='man-in-the-middle'/><category term='opensource'/><category term='amazon'/><category term='enterprise'/><category term='kernel'/><category term='ssl'/><category term='certificate'/><category term='pattern'/><category term='opensolaris'/><category term='algorithm complexity'/><category term='aws'/><category term='review'/><category term='solaris'/><category term='sharding'/><title type='text'>The BIG software blog</title><subtitle type='html'>A blog focusing on my exploration, review and opinion on all manner of software, scalability and architecture. Mainly for the enterprise and internet applications space with a bias towards java-based technologies.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-1964688511700191103</id><published>2011-08-06T01:03:00.004+02:00</published><updated>2011-08-20T00:05:08.497+02:00</updated><title type='text'>Patents in the US really makes one angry!</title><content type='html'>&lt;div&gt;Over the last couple of years I've heard a lot of stuff around the impact of Software Patents, mainly in the US.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Google is desperate  to beef up it's "war chest" of patents, as proven by the acquisition of Motorola. The runaway auction on the Nortel patent portfolio being another example. The patents are not really individually evaluated but are bought in bulk, 400k USD / patent!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyways, I was reffered to an extremely interesting story that ran on &lt;a href="http://www.thisamericanlife.org/radio-archives/episode/441/when-patents-attack"&gt;This american life&lt;/a&gt; that dug down into the issue that I highly recommend. A warning might be in place, you might feel enraged but yet powerless to do anything ... like I did.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-1964688511700191103?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/1964688511700191103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2011/08/patents-in-us-really-makes-one-angry.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/1964688511700191103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/1964688511700191103'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2011/08/patents-in-us-really-makes-one-angry.html' title='Patents in the US really makes one angry!'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-5588019892133089412</id><published>2011-06-28T00:46:00.004+02:00</published><updated>2011-06-28T01:03:56.053+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='partitioning'/><category scheme='http://www.blogger.com/atom/ns#' term='resource isolation'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='containers'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Finally light weight virtualization for Linux..</title><content type='html'>I've been quite a fan of &lt;a href="http://en.wikipedia.org/wiki/Solaris_Containers"&gt;Solaris Containers / Solaris Zones&lt;/a&gt; for quite some time. For a lot of use cases they provide a very good compromise between resource partitioning, fault isolation and efficiency. They are a very good fit for a system landscape with uniform OS-environments, since they are all running the same kernel, but still logically separate environments, e.g. in software as a service situations where there are multiple customer instances of the same service.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, I'm probably a late-comer to this but it seems that the Linux camp is closing in. I read a twitter engineering &lt;a href="http://engineering.twitter.com/2011/06/join-flock.html"&gt;blog post&lt;/a&gt; which led me on a click stream to the &lt;a href="http://lxc.sourceforge.net/"&gt;linux containers project&lt;/a&gt;. through the &lt;a href="http://www.mesosproject.org/"&gt;Mesos project&lt;/a&gt; which twitter is apparently building it's cloud with. Anyways it seems to have been around for quite a while since the news archive goes back all the way to 2008. It's a bit more limited in scope from Solaris Zone from what I can gather but cool and basically addressing the same architectural tradeoff sweetspot as Solaris Zones.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll check it out in more detail when I have a more urgent itch to scratch, but in the meanwhile though I'd let you know.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-5588019892133089412?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/5588019892133089412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2011/06/finally-light-weight-virtualization-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/5588019892133089412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/5588019892133089412'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2011/06/finally-light-weight-virtualization-for.html' title='Finally light weight virtualization for Linux..'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-8308495945785999188</id><published>2011-04-29T12:51:00.001+02:00</published><updated>2011-04-29T12:51:48.464+02:00</updated><title type='text'>The truth about social networks</title><content type='html'>&lt;div&gt;&lt;p&gt;http://gigaom.com/2011/04/28/the-lies-that-social-networks-keep-telling-themselves/&lt;/p&gt;&lt;p&gt;Insiteful about social networks at gigaom which is quickly becoming my favorite among thoughtful "slow technews"&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-8308495945785999188?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/8308495945785999188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2011/04/truth-about-social-networks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/8308495945785999188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/8308495945785999188'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2011/04/truth-about-social-networks.html' title='The truth about social networks'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-2739737349214283059</id><published>2011-03-05T23:33:00.002+01:00</published><updated>2011-03-05T23:40:23.374+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='alien'/><category scheme='http://www.blogger.com/atom/ns#' term='space'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>Are we all Aliens?</title><content type='html'>&lt;img src="http://journalofcosmology.com/images/HooverFigure1a.jpg" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 329px; height: 256px;" border="0" alt="" /&gt;Intriguing thought, are we all Aliens? See &lt;a href="http://journalofcosmology.com/Life100.html"&gt;this article&lt;/a&gt;. This could of course be put in the same hoax category as "Cold fusion" in a couple of years, but they appear to have gone through some effort the vet the result and extensively peer-review.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-2739737349214283059?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/2739737349214283059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2011/03/are-we-all-aliens.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/2739737349214283059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/2739737349214283059'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2011/03/are-we-all-aliens.html' title='Are we all Aliens?'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-7434168629560209686</id><published>2010-10-30T00:25:00.020+02:00</published><updated>2010-11-04T23:26:47.926+01:00</updated><title type='text'>Anonymity on the net is officially dead!</title><content type='html'>&lt;div&gt;&lt;b&gt;Background&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Your presence on the internet has always been possible to trace to some degree, at least after the introduction of &lt;a href="http://en.wikipedia.org/wiki/Http_cookies"&gt;cookies&lt;/a&gt;. A cookie is basically a mechanism by which a server application can read a value from a client. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Due to the stateless nature of the underlying protocols some mechanism of tracking your interactions with the application really is necessary, otherwise each request on the service would be considered in isolation. The most common technique is to use cookies, but there are alternatives like URL-rewriting that could serve the same purpose, &lt;a href="http://www.developertutorials.com/tutorials/java/implement-session-tracking-050611-1110/"&gt;here is a good introduction&lt;/a&gt;. The tracking cookies for these use cases doesn't need to persistent and can be expired when the browser terminates.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;The Light Side&lt;/b&gt;&lt;/div&gt;&lt;div&gt;So this is the &lt;b&gt;session user tracking&lt;/b&gt; which is generally considered quite benign and at least a necessary evil to have some amount of usability when interacting with web applications.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Now what if the cookie is stored persistently in your browser? That can allow convenient functions in the web application between sessions, like remembering your username, user preferences, entry points into the web application, customized content, or even automatic sign-in etc.  Let's call this &lt;b&gt;persistent user tracking&lt;/b&gt;. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;The Dark Side&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Persistent user tracking can also be used for less obvious and less beneficial effects for the user. Common usage includes add-tracking, user browsing history tracking and user behavior analysis among other things.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are ways in which we are led to believe that we can protect ourselves from this. For example, putting the browser into a mode where cookies are accepted only into transient memory, no matter the type of cookie (persistent or temporary). Other actions thought to have an effect against this tracking is to occasionally clear out all cookies and cache entries. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;End game&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Now this is pretty much proven to be completely ineffective. &lt;/div&gt;&lt;div&gt;&lt;i&gt;Proof #1 - The Evercookie&lt;/i&gt;&lt;/div&gt;&lt;div&gt;There is a combination of techniques that is collectively called the "Evercookie" that pretty much voids all hope of avoiding user tracking, at least for the average net citizen. The Evercookie is invented by Samy Kamkar and is described on his &lt;a href="http://samy.pl/evercookie/"&gt;webpage&lt;/a&gt;, there is also a experiment lab where you can experiement with the Evercookie. The Evercookie includes the following components:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt; Standard HTTP Cookies &lt;span class="Apple-style-span"&gt;- Simple enough&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Local Shared Objects (Flash Cookies) &lt;span class="Apple-style-span"&gt;- "Flashcookie", having a small flash program store a value that is cross-browser and outside of any browser "Clear data" operation&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Silverlight Isolated Storage &lt;span class="Apple-style-span"&gt;- The same thing but for silverlight&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Storing cookies in RGB values of auto-generated, force-cached &lt;span class="Apple-style-span"&gt;- Really innovative mechanism by storing a cookie value using &lt;a href="http://en.wikipedia.org/wiki/Steganography"&gt;steganography&lt;/a&gt; in a picture that is cached&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"&gt; PNGs using HTML5 Canvas tag to read pixels (cookies) back out&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Storing cookies in Web History&lt;span class="Apple-style-span"&gt; - Using browsing history in an innovative way with predefined relative links and query with javascript whether they are present in the history&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Storing cookies in HTTP ETags &lt;span class="Apple-style-span"&gt;- Pretty straight forward use of the Etag to store the cookie value&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Storing cookies in Web cache&lt;/li&gt;&lt;li&gt; window.name caching &lt;span class="Apple-style-span"&gt;- Storing data in the DOM-tree connected to a browser window / tab, only available as long as the browser window is open but can be used to provide the "stickyness"&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Internet Explorer userData storage &lt;span class="Apple-style-span"&gt;- IE specific technology for cookie like storage that was never standardized&lt;/span&gt;&lt;/li&gt;&lt;li&gt; HTML5 Session Storage &lt;span class="Apple-style-span"&gt;- HTML5 versions of the technologies above &lt;/span&gt;&lt;/li&gt;&lt;li&gt; HTML5 Local Storage &lt;span class="Apple-style-span"&gt;- HTML5 versions of the technologies above &lt;/span&gt;&lt;/li&gt;&lt;li&gt; HTML5 Global Storage &lt;span class="Apple-style-span"&gt;- HTML5 versions of the technologies above &lt;/span&gt;&lt;/li&gt;&lt;li&gt; HTML5 Database Storage via SQLite&lt;span class="Apple-style-span"&gt; - A full blown database available in HTML5&lt;/span&gt; &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;The nature of the beast is such that the combination of techniques is extremely sticky and difficult to get rid of. If one of the components of the evercookie is dealt with there are other components that still make it possible to track the user. If not ALL traces of the evercookie is removed simulataneously the components restablishes themselves.  The fundamental concept of many of the components require javascript to be enabled for it to be effective, so this could potentially be thwarted, e.g. with the &lt;a href="http://noscript.net/"&gt;No-script firefox plugin&lt;/a&gt;, but a lot of modern websites really become subfunctional without javacript and not really for the average net-citizen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Proof #2 - Panopticlick&lt;/i&gt;&lt;/div&gt;&lt;div&gt;The EFF ran an &lt;a href="https://panopticlick.eff.org/"&gt;experiement&lt;/a&gt; on how to identify users that have thwarted explicit cookies buy using fingerprinting of the browsers, some aspects not even using javascript. They received a very good user tracking result, over 90% tracking capability.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;In conclusion&lt;/b&gt;&lt;/div&gt;&lt;div&gt;For the average net citizen anonymity and not being tracked is not really feasible. So act accordingly where privacy and security is concerned. Some thechniques that might be helpful:&lt;/div&gt;&lt;div&gt;* Compartmentalize your browsing, e.g. using different virtual machines for different purposes&lt;/div&gt;&lt;div&gt;* Use the private browsing mode / incognito mode offered by your browser, eventually they may become good enough to thwart the evercookie and similar "attacks".&lt;/div&gt;&lt;div&gt;* Assume that you are always tracked and act accordingly&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ol&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-7434168629560209686?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/7434168629560209686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/10/anonymity-on-net-is-officially-dead.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/7434168629560209686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/7434168629560209686'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/10/anonymity-on-net-is-officially-dead.html' title='Anonymity on the net is officially dead!'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-954997895747870244</id><published>2010-10-03T00:37:00.012+02:00</published><updated>2010-10-04T23:33:53.577+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='man-in-the-middle'/><category scheme='http://www.blogger.com/atom/ns#' term='pki'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise'/><category scheme='http://www.blogger.com/atom/ns#' term='ssl'/><category scheme='http://www.blogger.com/atom/ns#' term='certificate'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Why a private SSL certificate is better...</title><content type='html'>Some SSL / TLS basics is available &lt;a href="http://en.wikipedia.org/wiki/Secure_Sockets_Layer"&gt;here&lt;/a&gt;.  SSL provides authentication, &lt;a href="http://en.wikipedia.org/wiki/Information_security#Confidentiality"&gt;confidentiality&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Information_security#Integrity"&gt;integrity&lt;/a&gt;. Authentication of the server, and less commonly used the server can also request authentication of the client.&lt;br /&gt;&lt;br /&gt;The confidentiality and integrity relies on pretty good theoretical grounds in hard-core cryptography so not much else needs to be said there. Most reasonable ciphers are computationally infeasible to crack.&lt;br /&gt;&lt;br /&gt;The authentication is what really distinguishes a&lt;a href="http://en.wikipedia.org/wiki/Public_key_infrastructure"&gt; public key infrastructure&lt;/a&gt; such as SSL/TLS from conventional cryptography where security basically depends on two parties sharing a common secret. For PKI the &lt;a href="http://en.wikipedia.org/wiki/Chain_of_trust"&gt;chain of trust&lt;/a&gt; is critical to the integrity of the authentication process, ultimately authentication is provided by performing a "proof-of-possession of private key". Your client needs to rely on the Certificate authority that has issued the certificate for the server which you want to authenticate. Without this trust the whole PKI breaks down and you could be communicating with anybody, receiving your sensitive data.&lt;br /&gt;&lt;br /&gt;So the title of the blog post sounds like it's contrary to security best practice, right? The common knowledge is that the certificates should be issued by reliable parties.&lt;br /&gt;&lt;br /&gt;There are a few problems with this though. The most platforms in use have crypto packages which include "well known" CAs. The platforms have really bloated their CA-stores to include a truly astounding amount of root CAs. Windows for example have well over 200 approved CAs in their root CA-store. Some of the problems:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Not all CAs use the same high standards when verifying ownership and identity&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Some CAs are under the control of governments with questionable records of privacy and due process in wiretapping&lt;/li&gt;&lt;li&gt;Server OSs quite often include the same"client" trust stores as client OS&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;With the proliferation of root CAs available the risk of a &lt;a href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack"&gt;man-in-the-middle&lt;/a&gt; attacks are quite significant. The way it can be pulled off is:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The client doesn't specify that it only relies on a certificate issued to domain www.acme.org from a specific CA&lt;/li&gt;&lt;li&gt;An attacker has  recieved the right to become an intermediate CA from a root CA in the client's certificate store and can issue a certificate on-the-fly&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;An attacker has received a certificate for the www.acme.org domain from a different CA, the CA will of course have to have less than perfect routines or by it's nature be open to being pressured, e.g. from a government agency&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Best practice rules to thwart these kind of man in the middle attacks&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 1 - Use private SSL certificates for enterprise server side applications&lt;/span&gt;&lt;br /&gt;The certificate or the private CA will then have to be installed into the certificate trust store manually.&lt;br /&gt;&lt;br /&gt;For consumer applications this is of course impractical, but for server side applications it's quite easy e.g. &lt;a href="http://www.agentbob.info/agentbob/79-AB.html"&gt;installing a certificate into the java keystore&lt;/a&gt; or appropriate cryptolib for the platform.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 2 - Verify that the complete certificate chain matches the expected&lt;/span&gt;&lt;br /&gt;This is especially important if the Rule1 cannot be followed for some reason, e.g. client side of which limited control can be asserted. Don't rely on a connection just because you don't get a certificate exception.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 3 - Start from an empty trust store for enterprise applications&lt;/span&gt;&lt;br /&gt;&lt;span&gt;My strong recommendation is that all enterprise applications should ensure that the local trust store is empty when a system is first commissioned. As services are deployed, only the certificates needed for the service is added to the trust-stores. This is perhaps only practical for server-side applications.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The inspiration for this blog post came to a large degree from this &lt;a href="http://twit.tv/sn243"&gt;Security now podcast episode&lt;/a&gt; which is a great general purpose security podcast.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-954997895747870244?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/954997895747870244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/10/why-private-ssl-certificates-are-better.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/954997895747870244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/954997895747870244'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/10/why-private-ssl-certificates-are-better.html' title='Why a private SSL certificate is better...'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-5933655338886442628</id><published>2010-09-23T00:11:00.004+02:00</published><updated>2010-09-23T00:19:57.863+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data structures'/><category scheme='http://www.blogger.com/atom/ns#' term='scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='algorithm complexity'/><title type='text'>The wonders of datastructures...</title><content type='html'>I came across &lt;a href="http://bhavin.directi.com/to-trie-or-not-to-trie-a-comparison-of-efficient-data-structures/"&gt;this&lt;/a&gt; interesting post, it collates a few advanced data structures.&lt;br /&gt;&lt;br /&gt;For normal-scale applications the stuff in your platform of choice is usually good enough, the normal lists, maps, collections of various space/time complexity implementations.&lt;br /&gt;&lt;br /&gt;The post brings up interesting references to how moderna CPU-architectures can affect the standard space/time tradeoffs moot.&lt;br /&gt;&lt;br /&gt;When dealing with problems to be solved at massive scale these things will likely kick-in.&lt;br /&gt;&lt;br /&gt;Anyways, a little of the joy felt when taking the first CS-data structure classes came upon me when reading this. If I get time I'll try to experiment with a few of the implementations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-5933655338886442628?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/5933655338886442628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/09/wonders-of-datastructures.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/5933655338886442628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/5933655338886442628'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/09/wonders-of-datastructures.html' title='The wonders of datastructures...'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-5753790023570837322</id><published>2010-09-04T00:17:00.007+02:00</published><updated>2010-11-08T16:22:44.492+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mechnical_turk'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='aws'/><title type='text'>Mechanical turk and regional wage pressure</title><content type='html'>Interesting post on AWS "Mechanical Turk" service, really making a strong case for extending to the service to include robust reputation mechanisms into the service to have the wages go up.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://behind-the-enemy-lines.blogspot.com/2010/07/mechanical-turk-low-wages-and-market.html"&gt;http://behind-the-enemy-lines.blogspot.com/2010/07/mechanical-turk-low-wages-and-market.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I get the feeling though that one of the reasons that the price of labor on the mechanical turk is not only the economics discussed in the article. I believe that there is also an element of the "turks" being from other low-wage countries or regions and will accept working for less and thus pushing the prices down.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-5753790023570837322?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/5753790023570837322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/09/interesting-post-on-aws-mechanical-turk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/5753790023570837322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/5753790023570837322'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/09/interesting-post-on-aws-mechanical-turk.html' title='Mechanical turk and regional wage pressure'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-954114089358647583</id><published>2010-09-03T00:04:00.008+02:00</published><updated>2010-09-03T00:17:09.705+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='diagram'/><category scheme='http://www.blogger.com/atom/ns#' term='yEd'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>yEd review &amp; scalability</title><content type='html'>Tried out the &lt;a href="http://www.yworks.com/en/products_yed_about.html"&gt;yEd diagram editor&lt;/a&gt; and as an example made a picture of the scalability patterns in the &lt;a href="http://thebigsoftwareblog.blogspot.com/2010/08/scalability-fundamentals-and.html"&gt;previous post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_m_gkqqIFgo8/TIAfrrhZOBI/AAAAAAAAGNY/anztldDkxik/s1600/scalability-patterns.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 220px;" src="http://2.bp.blogspot.com/_m_gkqqIFgo8/TIAfrrhZOBI/AAAAAAAAGNY/anztldDkxik/s320/scalability-patterns.png" alt="" id="BLOGGER_PHOTO_ID_5512440779179112466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Heard some good things about it on the javaposse podcast, but I was not very impressed. It's a bit too primitive and not user friendly in it's current form. Also the included symbol library is very limited. Maybe given time it can grow on you.&lt;br /&gt;&lt;br /&gt;Pros&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It's all java so it can run anywhere, even as a webstart application so you don't need to install anything&lt;/li&gt;&lt;li&gt;Plenty of auto-layout styles&lt;/li&gt;&lt;li&gt;Quite fast&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Cons&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Small symbol library&lt;/li&gt;&lt;li&gt;Inflexible in positioning&lt;/li&gt;&lt;li&gt;User friendliness is not the best&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Anyways, I'll continue using it for a while and see if it grows on me as I find out more of the features and get used to the user interaction model.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-954114089358647583?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/954114089358647583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/09/yed-review-scalability.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/954114089358647583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/954114089358647583'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/09/yed-review-scalability.html' title='yEd review &amp; scalability'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_m_gkqqIFgo8/TIAfrrhZOBI/AAAAAAAAGNY/anztldDkxik/s72-c/scalability-patterns.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-6179416708897651569</id><published>2010-08-28T01:24:00.021+02:00</published><updated>2010-09-13T08:03:50.762+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='partitioning'/><category scheme='http://www.blogger.com/atom/ns#' term='patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='sharding'/><title type='text'>Scalability patterns and an interesting story...</title><content type='html'>&lt;div&gt;I read a pretty interesting war-story from solving scalability the pragmatic and incremental way.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://highscalability.com/blog/2010/8/23/6-ways-to-kill-your-servers-learning-how-to-scale-the-hard-w.html"&gt;http://highscalability.com/blog/2010/8/23/6-ways-to-kill-your-servers-learning-how-to-scale-the-hard-w.html&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When the whole story started the blogger was a somewhat naive and inexperienced developer from the sound of it, discovering some of the fundamental scalability strategies along the way. And to be honest, we've all been there.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fundamentally the following strategies can be used to achieve scalability in my experience, different problems lends itself to varying combinations and flavors of the scalability patterns below, but the fundamentals stay the same.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Load distribution - Spread the system load across multiple processing units&lt;/li&gt;&lt;li&gt;Parallelization - Work on the same task in parallel on multiple processing units&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Relaxing of data constraints - Many different techniques and trade-offs with regards to the immediacy of processing / storing / access to data fall in this strategy&lt;/li&gt;&lt;li&gt;Queuing and batch  - Achieve efficiencies of scale by processing batches of data, usually because the overhead of an operation is amortized across multiple request&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The load distribution pattern really exists in two common flavors:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Load balancing / load sharing - Spreading the load across many components with out regard to the data inside of the request according to some load balancing algorithm&lt;/li&gt;&lt;li&gt;Partitioning - Spreading the load across many components by routing an individual request to a component that owns that data specific to the request&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Partitioning can further be divided into the two patterns:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Vertical partitioning - Spreading the load across the functional boundaries of a problem space, separate functions being handled by different processing units&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Horizontal partitioning - Spreading a single type of data element across many instances, according to some partitioning key, e.g. hashing the player id and doing a modulus operation, etc.  Quite often referred to as sharding.&lt;/li&gt;&lt;/ul&gt;So a lot of different ways to approach scalability problems which I expect to return in future blogposts.&lt;br /&gt;&lt;br /&gt;The lessons (with the titles sometimes paraphrased) from the blog post and some comments.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Lesson #1 (Put Smarty compile and template caches on an active-active DRBD cluster with high load and your servers will DIE!)&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="color: rgb(38, 38, 38); line-height: 25px;font-family:Georgia,'Times New Roman',serif;font-size:14px;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;This is not really addressing scalability, more like enhancing performance&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(38, 38, 38); line-height: 25px;font-family:Georgia,'Times New Roman',serif;font-size:14px;"&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Lesson #2 (Don't use out-of-the-box configurations)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;This is not really addressing scalability, more like enhancing performance&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Lesson #3 ( single points of contention will eventually become a bottleneck)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Their solution was to introduce master-slave replication.&lt;/div&gt;&lt;div&gt;This is an example of the &lt;b&gt;load distribution&lt;/b&gt; pattern by spreading the read-requests over multiple databases.&lt;/div&gt;&lt;div&gt;This is also an example of using the &lt;b&gt;relaxing of data constraints&lt;/b&gt; pattern as the replication to achieve good scalability in all likelihood was not completely synchronous so the replicated data was not perfectly consistent in time&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Lesson #4 ( plan in advance )&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Hope for the best but prepare for the worst!&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Lesson #5 ( offload your databases as much as possible ) &lt;/b&gt;&lt;/div&gt;&lt;div&gt;They introduced memcachd to offload their databases from load.&lt;br /&gt;A common way to use a memcachd architecture is to &lt;span style="font-weight: bold;"&gt;partition&lt;/span&gt; the memcached instances to hold a subset of the data elements.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is of course yet another common example of the pattern &lt;b&gt;relaxing of data constraints.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Lesson #6 ( file systems matter and can run out of space / inodes)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;So all good stuff!&lt;br /&gt;&lt;br /&gt;Addressing scalability problems in most shapes and forms need to employ one or more of the patterns outlined above&lt;span style="font-weight: bold;"&gt;. &lt;/span&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-6179416708897651569?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/6179416708897651569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/08/scalability-fundamentals-and.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/6179416708897651569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/6179416708897651569'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/08/scalability-fundamentals-and.html' title='Scalability patterns and an interesting story...'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-3002546510543079432</id><published>2010-08-05T00:17:00.006+02:00</published><updated>2010-08-05T13:59:39.641+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensolaris'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracle and the OpenSolaris distribution ... RIP!</title><content type='html'>First a matter of terminology, there is "Opensolaris" the open source code and community and there is "OpenSolaris" the binary distribution that Sun started to produce a couple of years back and also offered commercial support packages for.&lt;br /&gt;&lt;br /&gt;I've been running OpenSolaris on my home machine for the last couple of years quite happily for the most part. After going through the initial hurdles to get DVD/MP3 et al to work life has been good. Now I'm tentatively starting to migrate to some linux distro given the state of things highlited below.&lt;br /&gt;&lt;br /&gt;The last official release was made in june 2009 thus named OpenSolaris 2009.06.&lt;br /&gt;&lt;br /&gt;Since last summer I went over to the development repo to get a sneak peak at the latest and greatest and it's been running very smoothly and including core-innovation as well as updated 3de party apps.&lt;br /&gt;&lt;br /&gt;The next release was scheduled to be 2010.03 and the repo was allegedly only 1 build short of the final bits, but then the BIG merger happened and Oracle took control of Sun. After that no news were forthcoming and no binary distro!&lt;br /&gt;&lt;br /&gt;Now Oracle have a totally different approach than Sun to communication and development, unarguably more commercially successful, but also extremely closed. Keeping even it's own opensource care takers in the dark, and generally the non-Oracle part of the Opensolaris community in a bit of a chaos, see for example the entries below:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cuddletech.com/blog/pivot/entry.php?id=1134"&gt;Ben Rockwoods blog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zdnet.co.uk/news/server-os/2010/07/14/opensolaris-board-may-quit-over-oracles-silence-40089539/"&gt;News on Opensolaris Govering Board&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.theregister.co.uk/2010/08/03/illumos_opensolaris_spork/"&gt;Sporking of Opensolaris&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.c0t0d0s0.org/archives/6740-Regarding-the-OGB,-Solaris,Opensolaris-and-all-the-rest-....html#extended"&gt;Inside analysis&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anyways my conclusions from all this is and other sources that&lt;br /&gt;a) Oracle will not sponsor an opensource Opensolaris based distribution to any meaningful degree&lt;br /&gt;b) The new code contributions developed by Oracle engineering will be judged on a case-by-base whether they will go into the open or be kept behind closed doors, so far it's been put "out there", but will it continue?&lt;br /&gt;c) Non-oracle interest in participation in Opensolaris community will vane and be limited to a few companies that have created products around the innovative technology in solaris&lt;br /&gt;&lt;br /&gt;The question is will the community be strong enough to create a viable binary distribution without Oracle contribution?&lt;br /&gt;&lt;br /&gt;I don't think so and are hedging my bets and preparing to move to some Linux distro. Any suggestions?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-3002546510543079432?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/3002546510543079432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/08/oracle-and-opensolaris-distribution-rip.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/3002546510543079432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/3002546510543079432'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/08/oracle-and-opensolaris-distribution-rip.html' title='Oracle and the OpenSolaris distribution ... RIP!'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5421705863107704762.post-6048558989458583397</id><published>2010-07-27T01:28:00.000+02:00</published><updated>2010-07-27T01:46:05.887+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introduction'/><category scheme='http://www.blogger.com/atom/ns#' term='hello'/><title type='text'>Hello world!</title><content type='html'>For a long time now I have thought about dipping my toes into the blogosphere, being a creator an not only a consumer. During my summer-vacation the ideas have gathered and the energy reserves been charged, so time to dig in!&lt;br /&gt;&lt;br /&gt;The content of the blog will focus around software, a few non-software related posts will likely make it's way in here as well. Should they start to eclipse the "stuff", I might move them to a separate blog.&lt;br /&gt;&lt;br /&gt;The content will mostly be in English to be able to reach a wider audience as some of my personal contacts and colleagues are English speaking. Not a native English writer you will have to bear with me. Occasionally a post might be in Swedish if it's only of interest to such an audience.&lt;br /&gt;&lt;br /&gt;A "project" that I have thought about exploring is to take a "grand tour" of the enterprise technology stack with opinions, observations, reviews and technology demonstrations. I have outlined a small enterprise / internet application that I will use as the  skeleton for some of this. The outline of which will likely be my first "real" post.&lt;br /&gt;&lt;br /&gt;As always in the blogosphere polite interaction and communication is greatly appreciated.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5421705863107704762-6048558989458583397?l=thebigsoftwareblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thebigsoftwareblog.blogspot.com/feeds/6048558989458583397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/07/hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/6048558989458583397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5421705863107704762/posts/default/6048558989458583397'/><link rel='alternate' type='text/html' href='http://thebigsoftwareblog.blogspot.com/2010/07/hello-world.html' title='Hello world!'/><author><name>Jeppe</name><uri>http://www.blogger.com/profile/06985234316505923998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_m_gkqqIFgo8/TE4RRfyBoQI/AAAAAAAABJQ/4k06VD7QTkI/S220/profile.JPG'/></author><thr:total>0</thr:total></entry></feed>
