<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.2" -->
<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/"
	>

<channel>
	<title>The 21st Century Plumber's Blog</title>
	<link>http://www.correlsense.com/cto-blog</link>
	<description>a CTO blog</description>
	<pubDate>Thu, 24 Jul 2008 12:12:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>
	<language>en</language>
			<item>
		<title>Throwing Salt</title>
		<link>http://www.correlsense.com/cto-blog/2008/07/24/throwing-salt/</link>
		<comments>http://www.correlsense.com/cto-blog/2008/07/24/throwing-salt/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 12:05:43 +0000</pubDate>
		<dc:creator>Lanir Shacham</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">http://www.correlsense.com/cto-blog/2008/07/24/throwing-salt/</guid>
		<description><![CDATA[Never been to the NYSE. There were times I was visiting Manhattan once a month and Wall Street in general, but still – never been to the New York Stock Exchange. So of course I was thrilled that the annual &#8220;Banking on IT&#8221; was held in the NYSE. Selected companies presented to IT executives from [...]]]></description>
			<content:encoded><![CDATA[<p>Never been to the NYSE. There were times I was visiting Manhattan once a month and Wall Street in general, but still – never been to the New York Stock Exchange. So of course I was thrilled that the annual &#8220;<a target="_blank" href="http://www.nyse.com/events/1213006770426.html">Banking on IT</a>&#8221; was held in the NYSE. Selected companies presented to IT executives from the banking industry, and we were lucky to be one of them. The organizers of the convention, the Chambers of commerce, told us that there is a dress code – suite and tie. Well I don&#8217;t have a tie. Were I come from – you wear a tie to funerals. Na, just kidding. You simply don&#8217;t wear a tie.  But I was happy for the chance to dress up, once in my life. Although I was constantly worried I&#8217;ll spill some soda or cake on my fresh good looking suit and tie. Imagine how annoyed I was when one of the participants simply went in wearing a simple polo shirt. So the polo shirt had the company logo – Big deal! If I knew that was allowed, I&#8217;d staple a business card to my jeans …</p>
<p>Anyhow, so we were a bunch of technology companies presenting in this huge ball room. Each company got seven minutes to present what it has to offer. Now, you can say many things about me, but if there is something I really understand it is IT technology. And still, there were at least ten companies which I couldn&#8217;t understand what they were selling. Really. I listened carefully to ALL the presentations (not an easy task), and still there were these sales rep&#8217;s presenting their offering, and sometimes even the CEO or founder of the company, and they simply couldn&#8217;t describe what they were selling in a manner that I&#8217;ll be able to understand. UNBELIEVABLE. When it comes to Sales guys I&#8217;m not surprised, most of them really don&#8217;t know what their product actually does…The best sales guys I&#8217;ve met were selling shoes and encyclopedias before moving to high-tech…</p>
<p>It reminded me of a story a veteran salesman once told me:</p>
<p>He had this huge account, and the morning of the presentation, he heard that his competition had a long presentation a day before, and that they had left the customer with a bunch of books about the product. So when the presentation started he said : &#8220;There are those that write books about their product. You should ask yourself why. We simply have a working, useful, product. Please allow me to show it to you…&#8221; He won the deal eventually.</p>
<p>A week before the actual conference, we decided that we would use our seven minutes to show a demo of our product. Simply show what it does. Isn&#8217;t that the idea?? I guess not everyone in my industry still gets it – I believe we should simply create products that:</p>
<ol>
<li>Work</li>
<li>Do what they claim to do</li>
<li>Do something the customer needs</li>
</ol>
<p>All the rest is just throwing salt in your customers&#8217; eyes.</p>
<p>…and my guess is that they are itching already.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.correlsense.com/cto-blog/2008/07/24/throwing-salt/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Goose Chase</title>
		<link>http://www.correlsense.com/cto-blog/2008/06/16/goose-chase/</link>
		<comments>http://www.correlsense.com/cto-blog/2008/06/16/goose-chase/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 10:57:22 +0000</pubDate>
		<dc:creator>Lanir Shacham</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">http://www.correlsense.com/cto-blog/2008/06/16/goose-chase/</guid>
		<description><![CDATA[There was no choice – we had to move. Although there is nothing more annoying than moving to new offices, we are growing J It took a while, but finally we found our new space and we had to do a little refurnishing before the actual move. The previous tenants of our new space, for [...]]]></description>
			<content:encoded><![CDATA[<p>There was no choice – we had to move. Although there is nothing more annoying than moving to new offices, we are growing <span style=\"font-family:Wingdings\">J</span> It took a while, but finally we found our new space and we had to do a little refurnishing before the actual move. The previous tenants of our new space, for some reason, decided they should take with them their entire data center infrastructure - they literally cut all the internal communication cables, in a brutal and strange manner, so they can take their racks with them…it is as if someone told the movers to \&#8217;take the racks\&#8217;!\r\n</p>
<p>The first thing we wanted to make sure was that the new wiring to our communication racks was working. We took the wireline technician to the communication room where there was this cable hanging from the ceiling with a phone end-point, so we automatically assumed that it is one of the phone lines in the office.  Next step was to find the hub that is wired to this phone line, so the technician can define the phone line as ours and enable it for internet. So we\&#8217;re looking around in our offices which was then filled with construction workers and  paint brushes and we can\&#8217;t find the hub. The technician remembered that he already did some wiring work in the building, and he thinks it\&#8217;s in the other side of the building in one of the offices. We kept on looking in different places, with no success, and eventually decided we need to enter one of the abandoned office. But the building maintenance guy left already. No keys. End of first session.\r\n</p>
<p>The next day I verified the key to the office, and we immediately found the hub and the technician got to work. We then returned to our space to see if the phone line is enabled. It wasn\&#8217;t.  At this point I waited for him, and he kept on hopping between the hub we found (which was in the other side of the building…a five minutes walk each time…and it was hot <span style=\"font-family:Wingdings\">J</span> until he told me that it just doesn\&#8217;t work and we\&#8217;ll to buy new infrastructure for the phone lines. So I shouted a bit, and talked to his manager, and eventually someone in the phone company told them there might be another hub in another office, the one next door to us. We thrilled with joy, but of course it was already late. Again, no keys. End off second session.\r\n</p>
<p>The next day, we went to our neighbors, and indeed found another hub. The technician was exhilarated, and started working again. The same evening I got a call that there is still no active phone line. Again – we\&#8217;ll have to lay down new phone line wires – but not from the other side of the building, just from the neighbors hub. End of third session.\r\n</p>
<p>At this point, I was starting to feel that we were missing something.  I went late at night to our new space, after all the handymen left, and entered the communications room. I took the phone line that we assumed IS the wired phone line, and started to track its trail. So I started to pull it, and I pulled and pulled – the phone line turned out in my hand. I mean the other side of the phone line turned out in my hand. IT WASN\&#8217;T CONNECTED TO ANYTHING. NO WONDER THE TECHNICIAN COULDN\&#8217;T GET THE PHONE LINE TO WORK!\r\n</p>
<p>I kept looking in the ceiling, and eventually found a different cable that looked like a phone line, and seemed as if was coming from our next door neighbors.  Of course this one turned out to be the REAL phone line.\r\n</p>
<p>It immediately reminded me of the first thing I do when I get called to a customer site during a malfunction of some kind – I ask \&#8221;What\&#8217;s your current goose chase?\&#8221; – which means: what is the current theory you are trying to validate, although there is no special reason to pursue it, and the only reason you ARE pursuing it is that you have to do something, otherwise your managers/colleagues will start to think that you don\&#8217;t  have a clue, which is exactly the situation…\r\n</p>
<p>It usually happens with malfunctions in multi-tier applications. These events involve so many different technical experts, that goose chases are bound to happen.  For example, I once got called to a customer, whose application was freezing 10 times a day. It happened in his online critical secured financial application – which uses SSL of course – and it didn\&#8217;t happen in his online content website, which was not SSL encrypted. Each application had a different app server, so there were a zillion possible reasons for the problem, but nevertheless the system guys came with their own theory: There are problems where SSL is used, and there aren\&#8217;t problems were SSL in not used. So it is the SSL! Why not upgrade the SSL accelerator? Yeah! That\&#8217;s a good idea! Let\&#8217;s do that!\r\n</p>
<p>And believe it or not – that\&#8217;s what they did, and when I came it was after a couple of work days already invested in upgrading this SSL accelerator, that OF COURSE had NOTHING to do with the actual root-cause.\r\n</p>
<p>My advice – define the phenomena as accurately as you can, and then try to collect as much useful data as you can. Transaction response times broken down by tiers, resource usage within each tier, all available logs from each tier, throughput of each tier, and it all has to be collected in the granularity of the problem – the average behavior in the last 5 minutes probably won\&#8217;t cut it…Once all the data is available, and aligned according to a time line, there are many questions that can be answered. It\&#8217;s always astonishing to me that this basic first step is usually not implemented. If you don\&#8217;t have the data – invest time in creating/deploying some useful probes that will collect the data you need, and don\&#8217;t forget to do so during the malfunction!\r\n</p>
<p>Beware of Goose Chases! \r\n</p>
<p>Cheers, Lanir.</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.correlsense.com/cto-blog/2008/06/16/goose-chase/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Gut Feeling</title>
		<link>http://www.correlsense.com/cto-blog/2008/02/19/gut-feeling/</link>
		<comments>http://www.correlsense.com/cto-blog/2008/02/19/gut-feeling/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 10:06:26 +0000</pubDate>
		<dc:creator>Lanir Shacham</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">http://www.correlsense.com/cto-blog/2008/02/19/gut-feeling/</guid>
		<description><![CDATA[A startup company always needs more money. This is the basic truth of our existence. No matter how much money you raised – you need more – you need to expand, bring more business, more employees to support the new business – and that costs money, new money that usually you still don&#8217;t have 

So [...]]]></description>
			<content:encoded><![CDATA[<p>A startup company always needs more money. This is the basic truth of our existence. No matter how much money you raised – you need more – you need to expand, bring more business, more employees to support the new business – and that costs money, new money that usually you still don&#8217;t have <img src='http://www.correlsense.com/cto-blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />
</p>
<p>So we are also in the middle of a round, as always, and have brought aboard an &#8216;old school&#8217; investor- Very knowledgeable regarding our business and how to build a healthy and stable company. It&#8217;s interesting to see the difference between different types of investors – some use excel and drill down to fine precisions, while others just use &#8216;Gut Feeling&#8217;. This is exactly what 2002 noble prizewinners, Daniel Kahneman and Vernon Smith, studied for a long time –behavior based on prior experience of some kind. They discovered that human decisions, rather than being based on a full analysis of the situation, often rely on shortcuts or rules of thumb. So for us, the measure freaks that measure and calculate everything that moves – it&#8217;s often hard to deal with &#8216;Gut Feeling&#8217;.
</p>
<p>However, it reminded me that I see the same thing when there are performance problems. Usually, there are no well defined measures of what is the desired performance and what we should compare to. And I&#8217;m referring to sites that <strong>do</strong> have SLA measurement of some kind, but almost all of them don&#8217;t have a RUM (Real User Measurement) solution, so they rely on synthetic robots of some kind to measure their performance. But these synthetic measurements don&#8217;t always reflect what is going on in the entire data center. And you&#8217;ll be surprised how much organizations still don&#8217;t have constant SLA measurement of their entire services, synthetic or not.
</p>
<p>So how can you <a href="http://www.correlsense.com/cto-blog/top-3-reasons-an-application-hangs/">solve a performance problem</a> when you can&#8217;t know for sure what was before and what you should aim to? Usually, our first step is to implement a quick service level measurement solution – either using our <a href="http://www.correlsense.com/product.html">SLAce / SharePath products</a>, or (if the customer is cheap) a simple synthetic measurement - and wait for the problem to re-occur. Then we try to set expectations with the customer, regarding the level of improvement we can deliver.
</p>
<p>But how can we know how much we can improve if we don&#8217;t have a clue regarding how it was before the problem??
</p>
<p>Experience, expert knowledge, complex analysis of all the data we collected until the phenomena occurred again – or in other words –&#8217;Gut Feeling&#8217;…
</p>
<p>Cheers, Lanir.</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.correlsense.com/cto-blog/2008/02/19/gut-feeling/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Double Trouble</title>
		<link>http://www.correlsense.com/cto-blog/2008/01/22/double-trouble/</link>
		<comments>http://www.correlsense.com/cto-blog/2008/01/22/double-trouble/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 09:30:40 +0000</pubDate>
		<dc:creator>Lanir Shacham</dc:creator>
		
	<category>cto blog</category>
		<guid isPermaLink="false">http://www.correlsense.com/cto-blog/2008/01/22/double-trouble/</guid>
		<description><![CDATA[I was sitting in my living room reading a little bit, it was 01:00AM, and suddenly I hear this annoying water-drop sound, repeating itself quite disturbingly. So I wandered around, and turns out I had a leak in the tap that supplies the water to my washing machine. I looked behind it and noticed a [...]]]></description>
			<content:encoded><![CDATA[<p>I was sitting in my living room reading a little bit, it was 01:00AM, and suddenly I hear this annoying water-drop sound, repeating itself quite disturbingly. So I wandered around, and turns out I had a leak in the tap that supplies the water to my washing machine. I looked behind it and noticed a small lake has formed.
</p>
<p>Ten days later (I kid you not!) the guy from the washing machine company came to <strong>fix</strong> the <strong>problem</strong>. I told him there was a <strong>leak</strong> from the tap. He started disassembling the washing machine and explained to me in detail how I should always keep this compartment clean and that compartment clean (where you put the washing liquid) and I&#8217;m like: yeah, yeah, just solve the goddamn <strong>leak</strong> so we can wash our clothes, man. By this time the family started to wear very unfashionable clothes…and new dirty cloths got <strong>dumped</strong> in a pile. You can say I suffered from this <strong>malfunction</strong>.  He worked on it for like 30 minutes, cleaned this and cleaned that, told me that that&#8217;s the reason I had a <strong>leak</strong> from the tap, turned the machine on and everything seemed to be OK. No tap leaked.  However, once the machine started to drain the clothes, meaning water got poured out to the pluming hole - water started to fill the room. The plumbing was <strong>blocked</strong>.
</p>
<p>The way the water filled the room never happened before this maintenance guy came and started playing with it. However, it really did not seem to have anything to do with him. And it was definitely a <strong>problem</strong>. So maybe this is the <strong>reason</strong> there was a pond behind my washing machine in the first place, and not the <strong>leak</strong> from the tap. I did not know the answer, but I worked on <strong>solving</strong> the pluming block myself.  Eventually the washing machine returned to work, no water was pouring out to the kitchen floor, and there was no immediate <strong>leak</strong> from the tap as before. <strong>Problem solved</strong>.
</p>
<p>It is amazing how <strong>IT applications</strong> act the same as washing machines. I don&#8217;t know why, it&#8217;s beyond me, but in the really hard <strong>performance problems</strong> we had to deal with in our <a href="http://www.correlsense.com/services.html"><strong>DoctorIT</strong></a> service, there was a clear phenomena which the customer suffered from (<strong>poor response times</strong>, a <strong>performance bottleneck</strong> etc.), and there was a <strong>root-cause</strong> we found that beautifully explained the phenomena. The customer swore that there was no other <strong>performance problem</strong> before, and since we <strong>isolated</strong> a well-defined <strong>root cause</strong> – we were certain that we found and <strong>solved</strong> the <strong>performance problem</strong>. However, that did not happen.
</p>
<p>Can you guess why?
</p>
<p>Because the really hard-to-detect <strong>problems</strong> - the ones that are tricky and keep giving you a hard time to <strong>detect</strong> and <strong>isolate</strong> them –come in PAIRS. They don&#8217;t like to play alone. It&#8217;s not fun for them. They need a friend. The moment you put your hands on one of them, the other hits you from behind. You tend to forget they are a pair, and all your calculations and assumptions focus on isolating a single one, but that is the worst mistake you can make.
</p>
<p>First lesson in solving hard <a href="http://en.wikipedia.org/wiki/Heisenbug">Heisenbugs</a>: assume, from the beginning, that there is more than one <strong>performance bottleneck</strong>.
</p>
<p>If you are lucky, there is only a single <strong>performance bottleneck</strong>, and your work will be fast and smooth. However, you have to assume there is more than one of these <strong>application performance problems</strong>, and then you won&#8217;t be surprised. This way you can better manage your resources for solving the actual <strong>bottlenecks</strong> and your customer&#8217;s expectations will be set accordingly.
</p>
<p>So let&#8217;s get a little bit technical and describe a real case study of detecting and <strong>isolating</strong> a <strong>performance bottleneck</strong> in an <strong>enterprise application</strong>:
</p>
<p>We were called in after the customer has been suffering from <strong>poor application performance</strong> and <strong>response times</strong> for over a month. The <strong>application</strong> would <a href="http://www.correlsense.com/cto-blog/top-3-reasons-an-application-hangs/"><strong>freeze</strong> or <strong>hang</strong></a>  for a few minutes, and then return to work smoothly. The <strong>application hangs </strong>happened once a week on average, with no obvious pattern, and no code change that could hint where the <strong>performance problem</strong> might be. We recorded the <strong>transaction</strong> traffic and resource usage of the <strong>application</strong> (millions of <strong>HTTP requests</strong> and <strong>SQL statements</strong> per day, for a period of week), until the <strong>application hanged</strong> again. Resource consumption analysis revealed that the <strong>poor application performance</strong> was originally due to <strong>memory</strong> consumption in the <strong>application server</strong>…
</p>
<p>which then caused other resources to be highly utilized…
</p>
<p>Lack of <strong>memory</strong> caused a high <strong>paging</strong> rate…
</p>
<p> which caused a high read/write <strong>disk</strong><br />
		<strong>queue</strong>…
</p>
<p> which was the immediate cause for the <strong>performance</strong><br />
		<strong>bottleneck</strong> and <strong>poor response times</strong>.
</p>
<p>Our theory was there was a single instance of an <strong>http request</strong> that triggered an event that over-consumed <strong>memory</strong> in the <strong>application server</strong>. We also assumed this event started minutes before the actual <strong>response time</strong> degradation occurred. We searched for a long running <strong>transaction</strong> that started 5-10 minutes before the <strong>poor response times</strong> began, and lasted at least until 10-20 seconds before the <strong>application hanged</strong>. We indeed found one! We rushed back to the customer site and managed to recreate the <strong>transaction</strong>, and cause the <strong>performance problem</strong> all over again. Using specific parameters, this <strong>transaction</strong> would cause enormous <strong>memory</strong> consumption. The problem was quickly <strong>detected</strong>, <strong>isolated</strong>, and <strong>fixed</strong>. The customer was happy, we were happy, and our bank account was almost happy.
</p>
<p>Two weeks later, the customer called again, and notified us that the <strong>problem</strong> happened again. How can that be? We knew for sure it was fixed! Well, to make a long story short, turned out there was another <strong>transaction</strong>, which under specific parameters generated hundreds of SQL queries that loaded the <strong>database</strong>, which also began in the same month.
</p>
<p>Different <strong>root cause</strong> entirely - same phenomena. We should have known - Double Trouble.
</p>
<p>By the way, my washing machine still <strong>leaks</strong> from time to time. God knows why.
</p>
<p>Until next time, Lanir.
</p>
<p>
 </p>
]]></content:encoded>
			<wfw:commentRSS>http://www.correlsense.com/cto-blog/2008/01/22/double-trouble/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>&#8220;Ninety percent of everything is crap&#8221;</title>
		<link>http://www.correlsense.com/cto-blog/2007/12/03/ninety-percent-of-everything-is-crap/</link>
		<comments>http://www.correlsense.com/cto-blog/2007/12/03/ninety-percent-of-everything-is-crap/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 15:34:31 +0000</pubDate>
		<dc:creator>Lanir Shacham</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">http://correlsense.com/cto-blog/2007/12/03/ninety-percent-of-everything-is-crap/</guid>
		<description><![CDATA[So everybody’s writing a blog these days. “Write a CTO blog” Oren told me, “Everybody does”. Why? Do you really need to share your thoughts with everyone out there? Says who? I’m afraid someone out of my inner conscious will know my thoughts…especially not my colleagues /employees/partners/investors/competitors in the industry. Man, that won’t be such [...]]]></description>
			<content:encoded><![CDATA[<p>So everybody’s writing a blog these days. “Write a CTO blog” Oren told me, “Everybody does”. Why? Do you really need to share your thoughts with everyone out there? Says who? I’m afraid someone out of my inner conscious will know my thoughts…especially not my colleagues /employees/partners/investors/competitors in the industry. Man, that won’t be such a good thing for me. ‘Cause honestly – I really don’t think highly of our industry these days. Like <a href="http://en.wikipedia.org/wiki/Sturgeon's_law">Sturgeon’s law</a> states: “90% of everything is crap”. Well, probably not everything – I mean Google makes my life a lot easier although I’m starting to get really terrified from the control they have over information, and VMWare/Xen – these guys did a hell of a job! I have 50 linux servers working on five simple Intel machines that cost me all together 5K$&#8230; This is a revolution in front of our eyes. We are returning to the mainframe days…Kids, do you know what a mainframe is?</p>
<p>I guess I should introduce myself: My Name is Lanir Shacham, 32, father, husband, friend, surfer and CTO and founder of Correlsense. I started out with computers when I was seven playing on an old Sinclair, then Commodore (and Atari), Apple 2E, IBM PC (I was 13). I wrote my first program using BASIC, and I still remember how proud I was when I embedded a machine code procedure for drawing bricks that my brother wrote for me in my first self developed “BRICKS” game for Apple 2E. I was 10 years old. When I was 13 I stopped for doing mostly sports, sex, drinking and smoking until the age of 18 when I was recruited to the Israeli Army Computer Science Academy and started out my career. This is where I worked on mainframe machines writing PL1 programs using DB2 executed with JCL jobs, later on I worked on Digital (remember them?) Vax VMS servers (The best ever) with Oracle 6/7 using Forms 3.0 and Fortran/Pascal using SNA gateways to interact with a mainframe over WAN, then writing C/VB/Dev2K/PLSQL code for Win95, moving on to C, C++ and MS DNA framework (1997), then using Java and J2EE using Weblogic 2.0 (no WebSphere yet) and all of that before I was 23. I initiated and managed Israel intelligence corps’ information system as a young officer, designed together with my partner and friend Oren Elias, which is Correlsense’s CEO, and with some more colleagues and friends from the Performance Management industry, guys from Precise (today Symantec) , Quest Software, SAP, Oracle.  Many top executives and founders of gorilla companies such as SAP, EMC, BMC, HP Mercury ,Checkpoint, Amdocs, Comverse and more came from the same school I grew up in. Many of Israel’s most successful software companies seeded out of ideas thought by bored programmers in the army. I spent six very long years in Israel’s intelligence force IT department but I can surely state that it was, and still is, by far the best school in our industry. Since then I did a lot more stuff, probably working on every existing platform to date – I dare you to surprise me – I can compile code in any programming language, and if I’m not familiar with it then give me an internet connection and a couple of hours and you’ll get what you asked for. My last position was an IT Architect for IBM Global Technology Unit, consulting about architecture and middleware for the entire Israeli based software vendors. We have here the second biggest population of Hi-Tech companies after the valley, so I got to meet almost everyone, and I learned even more. I hold a B.Sc in Computer Science and M.Sc in Physics from Bar-Ilan university, both I accomplished while working full time. Kids – don’t try this at home – if you want to go to college or university, best to work only part time during that period or not to work at all!</p>
<p>I was a young officer with a budget of millions when I was 21, and I bought applications/middleware/hardware from all the vendors, later on I developed applications and was part of young companies trying to sell software, then I was the gorilla that everybody comes to listen to, but they don’t know that his products hang and crash (except MQ Series which is a fine product, right Sam?), or maybe they do know but just don’t care enough because nobody gets fired for buying Blue. And Don’t think that Red from Oracle is any different – it’s NOT.</p>
<p>WOW – that was a lot babbling about myself, but no more, it was just so you will show some respect and appreciate what I have to say, because when I speak badly about our industry – it is only because I AM the industry. I know it inside out.</p>
<p>I just read this morning an article about this guy David Platt, who is one of Microsoft’s “software legends” or something like that. Anyways, this guy is giving presentations these days in conventions and the topic is – drums – “<a href="http://www.whysoftwaresucks.com">software industry sucks</a>!”. Programmers are lazy, unprofessional and produce terrible code! Well that was refreshing! I couldn’t agree more, and this is the point I want to make today – Why the hell are we as users are willing to work with no good products? Why? Well you can tell me that Windows was embraced by the mass, by I’m not talking about the mass. I’m talking about the products WE as an industry are using – our databases, app severs, system management tools and so forth – almost all of them are hard to install, have terrible UI, terrible logs and never behave as written in the manual. They disrespect us – the professionals who make this world tick. Applications tend to crash, hang, suffer from slow response time and poor performance, CPU jumps to 100%, memory gets fully used, disks fully utilized and what do we do? Carry ourselves with a dumb look on our faces as we wait for the system to reboot and hope for the best. Well I got really sick of it during my years in the big blue, and don’t think for a moment that IBM is any different from all of the other top vendors – CA, HP, BMC, Microsoft, Oracle – they all sell very bad products, and everybody are buying them. Why why tell me why??</p>
<p>Because they are GORILLAS selling to other GORILLAS and closing deals in the golf course instead of the lab. Well I am a goddam freakin&#8217; monkey, and proud of it! And I want us monkeys to overthrow the slow, lazy, banana-eating gorillas who are inflating our daily jobs with mediocre experiences.</p>
<p>This is exactly the reason I founded Correlsense three years ago. I wanted to make a difference, or at least to try. And of course make a buck if I can while doing it <img src='http://www.correlsense.com/cto-blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Making a difference is by creating high quality software – the kind that you know is high quality from the moment you touch it. Making a difference is about solving problems to IT staff, it’s about educating your colleagues, your partners, your customers, and now you – on how you can become a better man in your job – by knowing what is bad practice and what is good, how to think when developing and maintaining an application, how you can solve hard performance problems instead of banging your head in the screen in front of you – I will tell you stories that will make you laugh and cry; I will make fun of those that deserve it and praise those that are worthy; I will expose the truth about code and architecture, about fuzzy algorithms that never work, about investors and top execs that try to look smart but just turn out dumb in the process, about arrogant programmers that don’t have a clue and much much more coming soon to a theater near you <img src='http://www.correlsense.com/cto-blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>You are right - I am terribly obnoxious - but I promise to be honest and at least tell the truth as I see it. No more, no less.</p>
<p>See you next time (if you dare), Lanir
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.correlsense.com/cto-blog/2007/12/03/ninety-percent-of-everything-is-crap/feed/</wfw:commentRSS>
		</item>
	</channel>
</rss>
