<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>techfounder &#187; techfounder</title>
	<atom:link href="http://www.techfounder.net/category/techfounder/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.techfounder.net</link>
	<description>Blog about web development and Internet entrepreneurship</description>
	<lastBuildDate>Mon, 21 Jun 2010 19:41:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>What makes a good programmer?</title>
		<link>http://www.techfounder.net/2009/07/22/what-makes-a-good-programmer/</link>
		<comments>http://www.techfounder.net/2009/07/22/what-makes-a-good-programmer/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 02:24:38 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[Web development]]></category>
		<category><![CDATA[techfounder]]></category>
		<category><![CDATA[practices]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[quality]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=368</guid>
		<description><![CDATA[Some casual surfing led me to this article from a couple of years ago, titled "How to recognize a good programmer". It was a nice read, but as many in the comments pointed out, the criteria the author set forth most likely describe himself and are not really useful as rules-of-thumb on how to recognize [...]]]></description>
			<content:encoded><![CDATA[<p>Some casual surfing led me to <a href="http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/">this article</a> from a couple of years ago, titled "How to recognize a good programmer". It was a nice read, but as many in the comments pointed out, the criteria the author set forth most likely describe himself and are not really useful as rules-of-thumb on how to recognize a good programmer. </p>
<p>It got me thinking though, on what are the attributes I consider useful in fellow programmers. So what makes a good programmer?<br />
<span id="more-368"></span></p>
<h2>An analytical thinker</h2>
<p>Programmers need to be problem solvers. The process of programming requires that we systematically break complicated problems down, plan and implement solutions and find / eliminate small inconsistencies in code (bugs). </p>
<p>Analytical thinking also manifests in the ability to follow complicated logic through disparate code segments and understand it. It  allows us to grasp abstract concepts such as Object Oriented methodology and design patterns and implement it in practice.</p>
<h2>Has his priorities straight</h2>
<p>If I would ask you to rate the following according to priority, how would you order them?</p>
<ul>
<li>Security</li>
<li>Maintainability</li>
<li>Usability</li>
<li>Performance</li>
<li>LOC (lines-of-code) count</li>
</ul>
<p>Take a moment to think about that, and then consider:</p>
<ol>
<li>If you picked <b>LOC count</b> first, you failed big time in my book. In fact, LOC optimization can often go directly against the other metrics (such as maintainability). A lower LOC count should never be a goal, only a result of careful application of well factored architecture.</li>
<li>If you picked <b>performance</b> first, you are probably the guy who keeps writing articles about how you should use a <i>while</i> loop instead of a <i>for</i> loop since it came out a few milliseconds faster in your benchmarks. You might be inflicted with a case of premature optimization.<br />
<blockquote><p>We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.<br />
<a href="http://en.wikipedia.org/wiki/Optimization_%28computer_science%29#When_to_optimize" target="_blank" style="float:right;">Donald Knuth</a></p>
</blockquote>
<p>Performance should only be good enough to satisfy the requirements of the application. Aside from caveats to well-known pitfalls (such as executing queries in each iteration of a long loop), performance optimizations should be deferred to the very last and even then should be used appropriately (profile ... profile ... profile ... optimize). </p>
<p>The only exception to this is if you are primarily developing performance dependent applications (such as low-level system drivers).
</li>
<li><b>Security</b> is on somewhat of a middle ground. Depending on the application and distribution model it can be completely useless or mission critical. It's mostly somewhere in between, and thus can't be ranked as number one.</li>
<li><b>Maintainability</b> is definitely one of the most important attributes of a software application. High maintainability allows you to improve other attributes (such as performance), <i>when it is needed</i>.
<p>Maintainability is the single most important factor for keeping productivity up and costs down. For a long time I strongly believed this to be <b>the</b> most important attribute of software design.<br />
However ...</li>
<li>The most important attribute is <b>usability</b>. In the end, the worth of your application is only as much value as it delivers to the end-user.
<p>We should always remember - software is not written to serve its developers or the systems they run on. They are written to solve problems. If those problems are not solved, then the project is a failure.</p>
<p>I wrote usability here as a more general term than just UI/UX effectiveness. Even a command line application or a background service has its usability factor in the sense of how well it answers a specific need.
</li>
</ol>
<h2>Gets things done</h2>
<blockquote><p>In principle, it’s simple. You’re looking for people who are</p>
<p>   1. Smart, and<br />
   2. Get things done.<br />
<a href="http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html" target="_blank" style="float:right;">Joel Spolsky</a><br />

</p></blockquote>
<p>Quite possibly the single most important trait in a developer. You can excel at all the previous attributes and still be a mediocre programmer if you just <b>can't get things done</b>. One average but productive developer could easily replace several highly talented but slowly moving developers, depending on his responsibilities. </p>
<p>At the end of the day you definitely want more highly-productive developers than those who are high on theory but not actual work.</p>
<h2>Does more than "just enough"</h2>
<p>Getting things done is important. Getting things done "the right way" is even more important. </p>
<p>Constantly paying off your technical debt is crucial - if you keep accruing debt by "hacking" quick fixes that work now but are not maintainable, you only create the appearance of progress. In reality, the cost of getting rid of a large technical debt could become prohibitive before you know it.</p>
<p>Taking the time to constantly refactor code into a more maintainable state is the best way to prevent the spiral into project oblivion. </p>
<h2>Responsible</h2>
<p>A person could be a very capable programmer on technical ability alone, however if he does not own up to his mistakes and does not respect deadlines he could become a liability very quickly. </p>
<p>Responsibility also means to know where to let go of your ego for the good of the project. We developer often high large egos as we consider ourselves experts on many things. Putting the project first is a sign of a good developer.</p>
<h2>Good human relations</h2>
<p>Another all-around useful trait, this one applies to programmers as well. There is some stereotype that programmers are reclusive, unsociable creatures - programmers are still people <img src='http://www.techfounder.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . </p>
<p>In order to be a part of a team or handle clients, a programmer must have above basic social skills. Rudeness, arrogance, short-temper - do not have a place in a professional work environment. All it takes is one bad apple to ruin the mood for everybody.</p>
<h2>That's about it</h2>
<p>If you answer to all of the above, you are probably a pretty good programmer (and you are <a href="http://www.lionite.com/jobs">welcome to apply with us</a> <img src='http://www.techfounder.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ). </p>
<p>If you read the article I mentioned at the beginning, you might notice I didn't mention passion or technological diversity as qualifying traits. Simply put, I don't think they're very relevant to the quality of a programmer. </p>
<p>Passion is nice to have, however I've known many very professional and high-quality developers who were just content to go about their work professionally from 9 to 5 and then go home and have a meaningful and fulfilling family life. A programmer can definitely completely professional without being passionate about programming.</p>
<p>Technological diversity is another nice to have but not a prerequisite - as long as you are in command of the technologies you work with, a lack of diversity shouldn't affect you too much. Decision makers need to be well aware of all the options before starting a project, however nowadays the choice of technology simply is not that important. </p>
<p>You can achieve good results regardless of the programming language and database engine among other consideration. The biggest consideration should be the type of skills available to your personnel.</p>
<p>I hope to see more suggestions and thoughts in the comments on what you think make a good programmer.</p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=368" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2009%2F07%2F22%2Fwhat-makes-a-good-programmer%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2009%2F07%2F22%2Fwhat-makes-a-good-programmer%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2009/07/22/what-makes-a-good-programmer/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Conveying value to clients</title>
		<link>http://www.techfounder.net/2009/04/05/conveying-value-to-clients/</link>
		<comments>http://www.techfounder.net/2009/04/05/conveying-value-to-clients/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 03:31:37 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[Business Development]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[techfounder]]></category>
		<category><![CDATA[price proposal]]></category>
		<category><![CDATA[web project clients]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=151</guid>
		<description><![CDATA[Preface: This article was written mostly half a year ago, as I was wrapping up an intense period of freelancing and sub-contracting. It is less relevant for me now, as I'm now an equal partner in a small web firm and my freelancing days are beyond me - however, I thought it might be a [...]]]></description>
			<content:encoded><![CDATA[<p>Preface: This article was written mostly half a year ago, as I was wrapping up an intense period of freelancing and sub-contracting. It is less relevant for me now, as I'm now an equal partner in a <a title="Lionite Internet Services" href="http://www.lionite.com" target="_blank">small web firm</a> and my freelancing days are beyond me - however, I thought it might be a good read.</p>
<p><span id="more-151"></span></p>
<h2>How much are you worth</h2>
<p>As a freelancer and sub-contractor, one of the basic skills I had to develop is conveying value to prospective clients. In order to earn the rates I want to charge, it's important to make the client understand the value he is getting in return.</p>
<p>Clients seeking freelancers are often looking for cheaper rates, as the thinking goes that companies inherently charge more - companies have additional costs that freelancers do not, and those costs are reflected in their rates.</p>
<p>While looking for cheaper rates, clients still expect quality - and those two properties have a very tangible relationship. You can assume higher rates reflect greater quality - however, in software development, quality is an attribute that is hard to explain to non-technical people, and as in every other occupation, higher rates don't necessarily mean higher quality.</p>
<p>My goal when communicating with a prospective client is to convey to him what is the value that I bring to the table. While admittedly my rates are not cheap - I believe they are more than fair, and the value I can give greatly exceeds the monetary compensation I demand for it.</p>
<p>So how can I convince a client that I'm worth what I ask for?</p>
<h2>Talking about quality in software development</h2>
<p>The following are metrics that are widely accepted as proponents of software quality:</p>
<ul>
<li>Maintainability - How easy is it to debug and maintain the source code? How is it to make small changes?<br />
The cost of maintaining the product over any stretch of time is highly dependent on this. Also, larger development projects will bog down during active development if they are not maintainable.</li>
<li>Extendability - How easy is it to add functionality and features to the product? This affects the cost of future development, cost that may be larger than the original investment.</li>
<li>Security - How secure is the product against known and unknown exploits in its domain? This concerns mostly products with online accessibility, which places web products at the highest risk spectrum.</li>
<li>Domain relevance - How well does the product actually answers the problems it sets to solve? this is a metric that is hard to measure without real users testing the product. However, having plenty of experience in this area can definitely reduce the margin of error.</li>
</ul>
<p>And another metric that is not software-development specific:</p>
<ul>
<li>Professionalism - How much respect does a service provider has for his line of work? how much respect does he have for his clients and how much does he put into his communications with them? how good is he with meeting time schedules and price estimates?</li>
</ul>
<p>There are many ways in which I try to convey the value I can give in each of those areas -</p>
<ul>
<li>By presenting my best work in <a title="Xplace" href="http://www.xplace.com/ShowCompany.xpl?co=7628">online</a> <a href="http://www.bizreef.co.il/biz/Lionite">profiles</a> with a short summary of the what I reviewed above. (Warning - links are in Hebrew <img src='http://www.techfounder.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</li>
<li>By writing in my <a title="My blog! you are here" href="http://www.techfounder.net">blog</a> about issues relevant to those qualities.</li>
<li>By actively participating in <a title="DevNet PHP forums" href="http://forums.devnetwork.net/memberlist.php?mode=viewprofile&amp;u=36058">forums</a> and other software development <a title="Stackoverflow" href="http://stackoverflow.com/users/10585/eran-galperin">communities</a>.</li>
<li>By always trying to be transparent and professional in any communication with clients.</li>
</ul>
<p>The fact that I perform those activities because I enjoy and learn from them is to my advantage. <img src='http://www.techfounder.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Those activities are mostly behind the scenes though, cause the next most important step is:</p>
<h2>Striving for a face-to-face meeting</h2>
<p>My number one goal is to meet clients face-to-face. By putting a face behind the CV and answering any  questions in a professional manner, I increase the chances of a closing a deal tenfold.</p>
<p>I know many freelance developers have a reluctance to meet face-to-face, and are generally shy in such meetings. For the most part I embrace it - I strongly believe that after such a meeting the client will know exactly what value I stand for, and then it will only come down to costs versus value considerations.</p>
<p>Another equally important aspect of the face-to-face meeting is to understand in greater detail the scope and features of the project. Often, a second meeting for specifications only is required. I will write about the specification process in a future article, hopefully.</p>
<h2>Creating a transparent and fair cost and scope proposal</h2>
<p>When creating the actual price proposal it's important to keep two things in mind:</p>
<ul>
<li>Be clear on what's included in the proposal</li>
<li>Make it obvious how much every part costs separately</li>
</ul>
<p>Being clear on what's included in the proposal is a no-brainer. It will prevent future misunderstandings and points of contention. To a large degree, this is also influenced by the level of specifications document attached to the proposal (you do have one, don't you?).</p>
<p>Making it obvious how much every part costs is an effective way to translate to a client how much effort will it take to develop specific features. This allows a client to make value considerations - how much a feature is worth to the project versus how much it will cost to develop it, and often allows for compromises that can take a price proposal from the "out of range" zone to the "let's do business" zone.</p>
<p>Allow the client to make his own decisions regarding what features to keep or leave out, but provide your opinion as well. We, as web professionals, have a responsibility of educating our clients with our knowledge and experience in the field. Don't be afraid to influence the client with what you think is best for the project.</p>
<h2>Stand behind your pricing</h2>
<p>This might be difficult advice in those times of economic strife, however I strongly recommend standing firm beyond your price proposals if you believe them to be fair and thought out. If you represent with conviction that the price proposal stands for your worth, it increases your integrity in the eyes of the client.</p>
<p>Never leave money you believe you are worth on the table. There are other ways to come to terms that all sides can live with, such as trimming down on features and scope or converting some of the cost into shares in the project.</p>
<p><strong>Flashback: </strong></p>
<p>I remember that when I wrote this piece I had just submitted a price proposal for a freelance project at the sum of around 4,000$US. I was pretty sure I had conveyed my value perfectly to the client, though he had argued that the price is unacceptable for him. He wanted to close it at 2,500$, which is a pretty steep cut.</p>
<p>I was caught in a serious dillemma - I was out of the market for a couple of months, living off previous projects income, and it was the height of the financial crisis. Should I take the hit and take the project anyway or stick with my pricing?</p>
<p>I decided to hold firm to my pricing. The client went off to request more price proposals from other developers (with my specifications document - which at the time I was not charging for), but continued to contact me in 2-3 weeks interval, asking whether I'd be willing to come closer to his terms.</p>
<p>In the mean time I started my own <a href="http://www.lionite.com" target="_blank">web company</a> with two other extremely talented partners, and we went on to close several major projects that make that 4000$ seem a bit disproportional right now. I was recently contacted for a last time by that client, and I was happy to respond that I'm no longer available for his project.</p>
<p>My own moral of this story is that if you follow through with your beliefs and represent your value well, you will eventually get through to the right clients. Clients that refuse to recognise that they need to pay for the quality they want to recieve, are clients that I rather not work with.</p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=151" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2009%2F04%2F05%2Fconveying-value-to-clients%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2009%2F04%2F05%2Fconveying-value-to-clients%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2009/04/05/conveying-value-to-clients/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Framework certification</title>
		<link>http://www.techfounder.net/2008/12/30/zend-framework-certification/</link>
		<comments>http://www.techfounder.net/2008/12/30/zend-framework-certification/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 17:59:07 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[techfounder]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=195</guid>
		<description><![CDATA[Today I took and passed the Zend Framework certification exam. A possible project involving Zend might be materializing in the near future, and this was a requirement from one of my contractors (OpenIT). Being that they offered to sponsor the cost, I had no reason not take it. As I found no concrete online information [...]]]></description>
			<content:encoded><![CDATA[<p>Today I took and passed the <a href="http://www.zend.com/en/services/certification/framework/">Zend Framework certification exam</a>. A possible project involving Zend might be materializing in the near future, and this was a requirement from one of my contractors (<a href="http://www.openit.co.il/">OpenIT</a>). Being that they offered to sponsor the <a href="http://www.zend.com/en/store/php-certification/zend-framework-certification-exam-voucher">cost</a>, I had no reason not take it.</p>
<p>As I found no concrete online information on the test (and the <a href="http://downloads.zend.com/framework/generic/ZFC_Study_Guide_v1.pdf">guide link</a> from Zend doesn't work), I might as well elaborate a little for the benefit of future test takers reading this blog -<br />
<span id="more-195"></span><br />
The test is 1.5 hours long and composed of 75 questions. Most questions are multiple choice with the rest being open-ended (usually requiring to enter what you believe will the be the result input from several manipulations). The scope of the test is pretty encompassing, touching some modules that I wouldn't normally use (or even imagine a <a href="http://framework.zend.com/manual/en/zend.memory.html">possible use scenario for</a>), but if you have enough experience of the core features (MVC, Db, Cache, Filter/Validation, Localization / Internationalization and Security) and coding standards - you should do just fine.</p>
<p>The one thing to watch out for is the relatively high percentage of trick questions - which actually made the test somewhat harder than I'd anticipated (after you hit several trick questions in a row, you start being suspicious of every question). Some questions didn't even have an absolutely right answer, but sort of the answer of least incorrectness.</p>
<p>Thankfully, 1.5 hours is plenty long for delibrating some of those more ambigious questions - I had finished my first run in about 35 minutes and rechecked everything in 10 more minutes - leaving me 45 minutes to spare.</p>
<p>I do have some more respect for people holding the certification now (regarding knowledge and experience), though I'm not sure what regard does it hold in the industry (this is the first time I've encountered someone asking for it - and the client is Zend itself, so it's not surprising). If anyone has had previous experience with ZF certification qualification requirements, I would love to hear it.</p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=195" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F12%2F30%2Fzend-framework-certification%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F12%2F30%2Fzend-framework-certification%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2008/12/30/zend-framework-certification/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Octabox launched and I&#8217;m back to blogging</title>
		<link>http://www.techfounder.net/2008/10/10/octabox-launched-and-im-back-to-blogging/</link>
		<comments>http://www.techfounder.net/2008/10/10/octabox-launched-and-im-back-to-blogging/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 05:42:26 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[techfounder]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=123</guid>
		<description><![CDATA[I've been super-busy the last couple of months - I've came across a stupendous amount of work that I couldn't refuse in addition to the effort towards the release of my own startup, business platform Octabox. Things are finally calming down, and I'll be getting back to blogging, writing about plenty of things I've learned [...]]]></description>
			<content:encoded><![CDATA[<p>I've been super-busy the last couple of months - I've came across a stupendous amount of work that I couldn't refuse in addition to the effort towards the release of my own startup, <a href="http://www.octabox.com" title="Octabox Business Platform">business platform Octabox</a>. Things are finally calming down, and I'll be getting back to blogging, writing about plenty of things I've learned / implemented / experimented with the last two months.</p>
<p><span id="more-123"></span></p>
<p>First I'd like to expand on the (soft) release of Octabox - Octabox is a web platform for professional individuals and small businesses, providing a complete informartion management and collaboration environment. The concept was borne in the mind of my good friend and Octabox co-founder, <a href="http://adambe.com">Adam Benayoun</a>, as the result of accumulated experience in building information management systems for many small businesses over the years.</p>
<p>Octabox is a cross between the vast functionality offered by application platform <a title="Salesforce" href="http://www.salesforce.com/">Salesforce</a> and the simple and usable approach of <a title="Basecamp project managment" href="http://www.basecamphq.com/">basecamp</a> (of <a title="37Signals" href="http://www.37signals.com/">37signals</a>). It is an application platform in the sense that it offers many on-demand applications for managing information (such as task management, contact relationship mangement, whiteboard/brainstorming and much more), but the focus is on keeping everything as simple and usable as possible to accomodate the needs of small business operations (all the way down to single individuals - freelancers, consultants and so forth). It is our belief that this sector is feeling the need for more powerful tools, yet is reluctant to use so called "enterprise" applications due to complexity and cost.</p>
<p>Octabox now enters a private beta phase to weed out issues and to figure what features are in demand so they'd be integrated in the public release. Hence, the "soft" release - the marketing effort has not begun yet (as can be seen by missing content on the site). We are handing out beta invitations if you register through our waiting list on the site. Blog readers get special treatment, so contact me through the contact form to secure your invitation <img src='http://www.techfounder.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>Octabox by the way runs on PHP 5.2.6 with MySQL 5.1 with Zend Framework 1.6 as the abstraction layer. I have much to say about building a high-availability entreprise web-application using those tools, so stay tuned as I already have a couple article drafts on the pipeline on framework performance, mysql query optimizations, server setup and much more.</p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=123" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F10%2F10%2Foctabox-launched-and-im-back-to-blogging%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F10%2F10%2Foctabox-launched-and-im-back-to-blogging%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2008/10/10/octabox-launched-and-im-back-to-blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attention subscribers &#8211; I&#8217;ve moved to feedburner</title>
		<link>http://www.techfounder.net/2008/07/10/attention-subscribers-ive-moved-to-feedburner/</link>
		<comments>http://www.techfounder.net/2008/07/10/attention-subscribers-ive-moved-to-feedburner/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 19:36:41 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[techfounder]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=94</guid>
		<description><![CDATA[I've signed up my blog's feed to feedburner yesterday, to give me better control of my subscriptions in case I ever need to make changes to the site and also to get some better statistical information . If you subscribed to my blog's feed, I would appreciate it if you could resubscribe at my feedburner [...]]]></description>
			<content:encoded><![CDATA[<p>I've signed up my blog's feed to <a href="http://www.feedburner.com">feedburner</a> yesterday, to give me better control of my subscriptions in case I ever need to make changes to the site and also to get some better statistical information <img src='http://www.techfounder.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<p>If you subscribed to my blog's feed, I would appreciate it if you could resubscribe at my feedburner feed - <a href="http://feeds.feedburner.com/Techfounder">http://feeds.feedburner.com/Techfounder</a>. After you've subscribed you can unsubscribe from the old one. Sorry for the trouble and thank you for reading my blog! <img src='http://www.techfounder.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=94" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F07%2F10%2Fattention-subscribers-ive-moved-to-feedburner%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F07%2F10%2Fattention-subscribers-ive-moved-to-feedburner%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2008/07/10/attention-subscribers-ive-moved-to-feedburner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Microsoft User Experience</title>
		<link>http://www.techfounder.net/2008/07/10/the-microsoft-user-experience/</link>
		<comments>http://www.techfounder.net/2008/07/10/the-microsoft-user-experience/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 02:46:38 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[UI]]></category>
		<category><![CDATA[techfounder]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=92</guid>
		<description><![CDATA[I got repeatedly annoyed today by what I consider typical behavior for Microsoft products. Windows has the option to perform automatic updates - and recommends to do so in the Security Center (no one wants to see red lights in their Security Center. Does CODE RED mean anything to you? Also, everybody just LOVES updates. [...]]]></description>
			<content:encoded><![CDATA[<p>I got repeatedly annoyed today by what I consider typical behavior for Microsoft products. Windows has the option to perform automatic updates - and recommends to do so in the Security Center (no one wants to see red lights in their Security Center. Does CODE RED mean anything to you? Also, everybody just LOVES updates. Unless it's from Adobe).</p>
<p>After automatic updates does its thing, it promptly suggests to restart the computer. Two options are given - Restart now and Restart later. What 'Restart now' does should be obvious, however 'Restart later' is apparently open to interpretation - as Windows will constantly remind you to restart every 10 minutes or so, and will forcibly restart the computer itself if left unattended.<br />
<span id="more-92"></span><br />
<img src="http://www.techfounder.net/wp-content/uploads/2008/07/countdown.png" alt="Restart? NO!" class="header" /></p>
<p>What is the reasoning behind this nagging reminder? everybody will shutdown / restart their computer eventually. If I chose not to restart it now, could it be that I won't want to restart it in 10 minutes either? is my security compromised to such a degree that I need to be annoyed into submission to restart the computer?</p>
<p>This annoyance is either amplified or dampened (depending on your perspective) by Windows inability to perform system shutdown without user guidance. Often it will stop on one or more open programs which have unsaved data, prompting the user for action (Save?  Yes, No, Cancel). If no action is taken, system shutdown will never complete. Too many times I trusted Windows to complete my laptop's shutdown procedure only to discover an hour later that it ran out of battery waiting for my confirmation... (at least hibernation can happen automatically. Thank god for small miracles).</p>
<p>I will conclude this rant by shifting focus to a company I used to respect for having a good user experience - Adobe. Recently, all Adobe products have Automatic Updates turned on for some reason - with no obvious way to turn it off permanently. No offense Adobe, but unless someone can hack into my computer through Photoshop - I don't need your stinking updates. Especially when they clock at around 500Mb since you try to transparently push Adobe Air on to my computer. </p>
<p>Adobe, don't be like Microsoft. Respect your users (or risk losing them).</p>
<p><a href="http://www.intelliadmin.com/blog/2007/11/disable-adobe-automatic-updates.html">Disable Adobe updater</a></p>
<p>UPDATE: Apparently, I am not the only one annoyed by Windows Automatic Updates (big surprise there). Check out <a href="http://www.codinghorror.com/blog/archives/000294.html">this handy guide</a> over at Coding Horror for making your life a little bit better.</p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=92" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F07%2F10%2Fthe-microsoft-user-experience%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F07%2F10%2Fthe-microsoft-user-experience%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2008/07/10/the-microsoft-user-experience/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>And google ruled the Internet (search) world</title>
		<link>http://www.techfounder.net/2008/06/13/and-google-ruled-the-internet-search-world/</link>
		<comments>http://www.techfounder.net/2008/06/13/and-google-ruled-the-internet-search-world/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 22:41:50 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[The Webs]]></category>
		<category><![CDATA[techfounder]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=67</guid>
		<description><![CDATA[Google and Yahoo have just announced a search partnership that integrates Google adsense in Yahoo search and selected Yahoo sites. We went from a possible Microsoft-Yahoo merger presenting a front to Google's search dominance, to Google increasing its hold on advertised search and starting a direct collaboration with its biggest search competitor. Google was the [...]]]></description>
			<content:encoded><![CDATA[<p>Google and Yahoo have <a href="http://www.techcrunch.com/2008/06/12/yahoo-runs-into-googles-arms/">just announced a search partnership</a> that integrates Google adsense in Yahoo search and selected Yahoo sites. We went from a possible Microsoft-Yahoo merger presenting a front  to Google's search dominance, to Google increasing its hold on advertised search and starting a direct collaboration with its biggest search competitor. Google was the most dominant search entity before (upwards of 60% of all searches) and now it is reaching the status Microsoft has with operating systems. And we all know how that worked out.<br />
<span id="more-67"></span><br />
Should the <a href="http://judiciary.house.gov/newscenter.aspx?A=948">U.S congress intervene</a>? I doubt it would end any differently then when <a href="http://en.wikipedia.org/wiki/United_States_v._Microsoft">they tried that with Microsoft</a> a decade ago. Some minor concessions were made, but Internet Explorer is still the most dominant browser today (though there has been <a href="http://www.thecounter.com/stats/2008/June/browser.php">improvement</a>). </p>
<p>Despite Google's mantra of <a href="http://www.google.com/corporate/tenthings.html">'do no evil'</a>, <a href="http://blog.digitalbackcountry.com/?p=1436">there</a> <a href="http://byronmiller.typepad.com/byronmiller/2007/02/google_removed_.html">have</a> <a href="http://www.mulley.net/2006/10/23/how-odd-my-thinkhouse-pr-blog-post-is-banned-from-google/">been</a> <a href="http://ditoweb.com/seo-strategies/google/my-web-design-and-seo-pages-were-removed-from-googles-indexwtf/">past</a> incidents in which dubious discretion was used. Google can cripple websites and companies that depend on them by cutting off their oxygen and removing them from their index. If even their biggest competitor can't make a stand, who will?</p>
<p>I used to be a Google fan. I think their search engine algorithm was a true breakthrough and their continuing efforts to improve it are very much appreciated. They also created one of the flagships of modern web-applications - Gmail, which changed a lot of perceptions of what can be done with web technologies to provide an alternative for desktop applications. Lately though innovations have been scarce, unless they are related to search monetization.</p>
<p>Google today is the industry standard for search, a slow moving enterprise entity where once they were an innovative start-up with an idealistic mantra. It's now up to as of yet unformed start-up to be the next market disruptor and show us how the next generation of web search should be. If history is any indication, it is only a matter of time.</p>
<p>(Now I just hope I don't get removed from the Google index by the powers that be <img src='http://www.techfounder.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  )</p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=67" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F06%2F13%2Fand-google-ruled-the-internet-search-world%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F06%2F13%2Fand-google-ruled-the-internet-search-world%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2008/06/13/and-google-ruled-the-internet-search-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My partner launches blog, world peace seems closer than ever</title>
		<link>http://www.techfounder.net/2008/06/11/my-partner-launches-blog-world-peace-seems-closer-than-ever/</link>
		<comments>http://www.techfounder.net/2008/06/11/my-partner-launches-blog-world-peace-seems-closer-than-ever/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 18:52:35 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[Business Development]]></category>
		<category><![CDATA[The Webs]]></category>
		<category><![CDATA[techfounder]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=66</guid>
		<description><![CDATA[My good friend and co-founder at Octabox, Adam Benayoun, has finally launched his personal blog after talking about it for a long time. Adam has a sharp business and marketing mind, so if you have any interest in hearing some edgy advice about Internet business development and guerrilla marketing, subscribe to his feed.]]></description>
			<content:encoded><![CDATA[<p>My good friend and co-founder at <a href="http://www.octabox.com" title="Octabox Web Platform" target="_blank">Octabox</a>, Adam Benayoun, has finally launched his <a href="http://adambe.com" target="_blank" title="adambe">personal blog</a> after talking about it for a long time. Adam has a sharp business and marketing mind, so if you have any interest in hearing some edgy advice about Internet business development and guerrilla marketing, subscribe to his feed. </p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=66" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F06%2F11%2Fmy-partner-launches-blog-world-peace-seems-closer-than-ever%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F06%2F11%2Fmy-partner-launches-blog-world-peace-seems-closer-than-ever%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2008/06/11/my-partner-launches-blog-world-peace-seems-closer-than-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Almost useful IE replacement</title>
		<link>http://www.techfounder.net/2008/06/08/almost-useful-ie-replacement/</link>
		<comments>http://www.techfounder.net/2008/06/08/almost-useful-ie-replacement/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 01:19:37 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[techfounder]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=60</guid>
		<description><![CDATA[I stumbled upon a tool by the name of IETester today, that is supposed to render websites in different IE engines from version 5.5 to 8 beta. It appears to be working quite well, allowing to open multiple tabs of different IE versions. Unfortunately its Javascript support is too limited to be of real use [...]]]></description>
			<content:encoded><![CDATA[<p>I stumbled upon a tool by the name of IETester today, that is supposed to render websites in different IE engines from version 5.5 to 8 beta. It appears to be working quite well, allowing to open multiple tabs of different IE versions. Unfortunately its Javascript support is too limited to be of real use for serious application development.</p>
<p>Still, a nice tool for web designers wishing to test their HTML and CSS layouts against several generations of IE, without having to resort to hacking multiple installations of different versions (such as <a href="http://tredosoft.com/Multiple_IE">multipleIE</a>).</p>
<p><a href="http://www.my-debugbar.com/wiki/IETester/HomePage">IETester</a> [via <a href="http://lifehacker.com/395353/ietester-renders-sites-like-internet-explorer-55-through-8">LifeHacker</a>]</p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=60" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F06%2F08%2Falmost-useful-ie-replacement%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F06%2F08%2Falmost-useful-ie-replacement%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2008/06/08/almost-useful-ie-replacement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How not to provide user feedback</title>
		<link>http://www.techfounder.net/2008/06/08/how-not-to-provide-user-feedback/</link>
		<comments>http://www.techfounder.net/2008/06/08/how-not-to-provide-user-feedback/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 00:34:25 +0000</pubDate>
		<dc:creator>Eran Galperin</dc:creator>
				<category><![CDATA[UI]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[techfounder]]></category>

		<guid isPermaLink="false">http://www.techfounder.net/?p=57</guid>
		<description><![CDATA[As part of my work on the blog's presence, I try to submit my articles to relevant directories. One such directory is the Zend Framework Tutorials site, which I thought would be a perfect place for my Models in the Zend Framework series. When I try to submit my article I am presented with the [...]]]></description>
			<content:encoded><![CDATA[<p>As part of my work on the blog's presence, I try to submit my articles to relevant directories. One such directory is the <a title="ZF Tutorials" href="http://www.zftutorials.com/" target="_blank">Zend Framework Tutorials</a> site, which I thought would be a perfect place for my Models in the Zend Framework series.<span id="more-57"></span></p>
<p>When I try to submit my article I am presented with the following form:</p>
<p><img src="http://www.techfounder.net/wp-content/uploads/2008/06/form.gif" alt="Suggest new tutorial form" width="600" height="513" /></p>
<p>First thing I wonder, is what the hell do they mean by reciprocal URL. I know what the term means, but what am I expected to write there? no clue in sight, and no 'help' link to be found.</p>
<p>So I try to fill it up the best as I can, only to receive the following cryptic error:</p>
<p><img src="http://www.techfounder.net/wp-content/uploads/2008/06/form_fail.gif" alt="Form fail" width="528" height="562" class="header" /></p>
<p>Hmmm... Listing seems to be broken. No kidding. WTF?? Check it manually? what am I supposed to do with this? I tried variations with the URL (with and without http://), tried changing the reciprocal URL, nada. I looked around the site to see other submitted tutorials and found no clue as to what I was doing wrong.</p>
<p>What is the failure here:</p>
<ul>
<li>A cryptic error message</li>
<li>No further help is offered</li>
<li>The error is preventing me from completing the process</li>
<li>No contact email or any other way to ask for assistance</li>
</ul>
<p>This is what you get when you let programmers design user interactions. (If anybody has any idea on how to solve this, I would appreciate it)</p>
 <img src="http://www.techfounder.net/wp-content/plugins/feed-statistics.php?view=1&post_id=57" width="1" height="1" style="display: none;" /><div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F06%2F08%2Fhow-not-to-provide-user-feedback%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.techfounder.net%2F2008%2F06%2F08%2Fhow-not-to-provide-user-feedback%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.techfounder.net/2008/06/08/how-not-to-provide-user-feedback/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
