<?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>Life in the startup lane &#187; Software Engineering</title>
	<atom:link href="http://tomchikoore.com/category/software-engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://tomchikoore.com</link>
	<description></description>
	<lastBuildDate>Tue, 31 Jan 2012 23:58:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Java developers, there is life outside the container</title>
		<link>http://tomchikoore.com/2009/10/01/java-developers-there-is-life-outside-the-container/</link>
		<comments>http://tomchikoore.com/2009/10/01/java-developers-there-is-life-outside-the-container/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 20:49:24 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[j2se]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[servlet]]></category>
		<category><![CDATA[servlet container]]></category>

		<guid isPermaLink="false">http://tomchikoore.com/?p=171</guid>
		<description><![CDATA[Of late I have been looking at a good number of resumes and interviewing some candidates for Java developer positions.  I must say that I was astounded by the number of candidates who do not know how to design any Java software that does not involve a servlets or  JSPs .  It is clear to me that there is [...]]]></description>
			<content:encoded><![CDATA[<p>Of late I have been looking at a good number of resumes and interviewing some candidates for Java developer positions.  I must say that I was astounded by the number of candidates who do not know how to design any Java software that does not involve a servlets or  JSPs .  It is clear to me that there is a good number of Java developers out there who are oblivious to the fact that there is a world of Java outside the container.   And these developers are no slouches either. The developers that I interviewed were highly certified Java developers with strong Java fundamentals. </p>
<p>I am still failing to reconcile the strong fundamentals of the Java developers with their inability to design outside the container.  I view the ability to design outside the container as something every Java developer should be able to do.  During interviews, that should not be a question that should be asked at all. In fact, I never used to ask the question at all until I noticed that each time I asked a candidate a design question, they made the assumption that there should be a container, servlets and JSPs involved.  When I dug a little deeper, I made the observation that there is an unbelievably high number of highly certified Java developers who fall short when asked to design anything that is not hosted in a container.</p>
<p>In my opinion, Java certifications and their emphasis on particular patterns are dumbing down the Java developer.  The world of Java consulting exacerbates the problem because it rewards those who solve problems by rote.  While I have nothing against patterns or consulting, I cannot help but observe that we might be losing a generation (in dev generation years) of Java developers in much the same way we lost a good generation of developers to 4GLs at the end of the last decade. Who is going to develop the complex stuff?  Who is going to innovate? Innovative solutions to complex problems cannot be solved within the constraints of containers.</p>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2009/10/01/java-developers-there-is-life-outside-the-container/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>2008 Web Search is still in 1979</title>
		<link>http://tomchikoore.com/2008/04/28/2008-web-search-is-still-in-1979/</link>
		<comments>http://tomchikoore.com/2008/04/28/2008-web-search-is-still-in-1979/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 00:51:49 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Enterprise software]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://tomchikoore.wordpress.com/?p=31</guid>
		<description><![CDATA[  On Thursday (04/24/2008 ) last week, I had the privilege of talking to Dr. Jim Martin’s Natural Language Processing (NLP) graduate class, at the University of Colorado at Boulder, about the work that we are  doing at Filtrbox and the role that current NLP students will play in the future of information technology.  This [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-family: Arial;"><span style="font-size: small;">On Thursday (04/24/2008 ) last week, I had the privilege of talking to Dr. Jim Martin’s Natural Language Processing (NLP) graduate class, at the University of Colorado at Boulder, about the work that we are<span>  </span>doing at Filtrbox and the role that current NLP students will play in the future of information technology.<span>  </span>This blog post is the basis of my message to the class.</span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-family: Arial;"><span style="font-size: small;">As I have written <a title="Unstructured thoughts for unstructured data" href="http://tomchikoore.wordpress.com/2008/02/29/nlp-unstructured-thoughts-for-unstructured-data/" target="_blank">before</a>, the problem that we face today is how to harness the data that is available on the web so that we can apply meaningful interpretation to it using applications.<span>  </span>This problem is rooted in the assumption that the data that is stored on the web is “unstructured”.<span>  </span>Unlike the majority of the data processed by applications today which is stored in some form of a structure e.g. a relational database, the data on the web is not so, as its is perceived as discrete pieces of data scattered all over the web.</span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-family: Arial;"><span style="font-size: small;">I told the class that part of what I am doing at Filtrbox is an attempt to prove that the data on the web is not as “unstructured” as we may think today.<span>  </span>Within that data, there is a lot of structure, relationship and general interconnectedness no matter how “discrete” we may think it is.<span>  </span>With effective mining of the data and good applications, we can apply interpretation to the data and produce meaningful information.<span>  </span>However, we are still far from applications that can apply effective interpretive meaning on this data.<span>  </span>The reason for this is that we have to address the problem of information retrieval (IR) first before we can get to the writing of applications.<span>  </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family: Arial;"><span style="font-size: small;"></span></span> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-family: Arial;"><span style="font-size: small;">To recognize where we are today on the continuum of web data information retreival and applications; a look at the evolution of enterprise applications gives us a great analogy:</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size: small;"><span style="font-family: Arial;">Enterprise</span><span style="font-family: Arial;"> applications are where they are today primarily because they have a structured data storage model (Relational Database or RDB) and a standard access model (Structured Query Language or SQL).<span>  </span>Before there were enterprise applications that we know today, there were only RDBs and SQL. <span> </span>While RDB work dates back to the 1960s, the RDBs that the majority is familiar with today had their beginnings in the 1970s. <span> </span>The first (or widely believed to be) commercially available implementation of RDB+SQL was Oracle, then known as Relational Software, in 1979. This provided the ability to query an RDB for data using SQL but no applications as we know them today.<span>  </span>Analogizing this with the web, this is where we are today. We can go on Google or our favorite RSS readers (RDB analogy) and query for web data using a weak REST API or search form (SQL analogy) but we have no applications comparative to what is in enterprise today to interpret that data.<span>  </span>So simply put, today we are where enterprise applications were in 1979.</span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-family: Arial;"><span style="font-size: small;">My message to the class was that applications like Filtrbox are starting to barely scratch the surface with respect to the implementing of applications on top of web data.<span>  </span>That is because, although its 2008, we are still in 1979.<span>  </span>The stumbling block is the perception of the “unstructured” nature of web data. Today’s NLP students will play a large role tomorrow in identifying and establishing structure in the “unstructured” web data in order to move us beyond 1979.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2008/04/28/2008-web-search-is-still-in-1979/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filtrbox Pizzabox Bug-Bash</title>
		<link>http://tomchikoore.com/2008/03/27/filtrbox-pizzabox-bug-bash/</link>
		<comments>http://tomchikoore.com/2008/03/27/filtrbox-pizzabox-bug-bash/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 06:53:37 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Techstars]]></category>

		<guid isPermaLink="false">http://tomchikoore.wordpress.com/?p=29</guid>
		<description><![CDATA[Last night, Filtrbox commandeered &#8220;The Bunker&#8221; at Techstars (thanks to David Cohen) for the first Filtrbox Pizzabox Bug-Bash.  We invited Boulder locals to come in and help us test Filtrbox as well as provide us feedback on the product thus far. The event was a success and I would like to thank all those who [...]]]></description>
			<content:encoded><![CDATA[<p style="margin:0;" class="MsoNormal"><span style="font-family:Arial;">Last night, <a target="_blank" href="http://www.filtrbox.com" title="Filtrbox -  Manage your information overload">Filtrbox </a>commandeered &#8220;The Bunker&#8221; at <a target="_blank" href="http://www.techstars.org" title="Techstars">Techstars </a>(thanks to <a href="http://www.techstars.org/mentors/dcohen/" title="David Cohen">David Cohen</a>) for the first Filtrbox Pizzabox Bug-Bash.<span>  </span>We invited Boulder locals to come in and help us test Filtrbox as well as provide us feedback on the product thus far. The event was a success and I would like to thank all those who were in attendance.<span>  </span>The feedback that we received from testers was great. <span> </span><span> </span>Look out for more information about this event on the <a target="_blank" href="http://filtrbox.com/blog/" title="Filtrbox - More Knowledge. Less Noise">Filtrbox blog</a>. We had an awesome evening of fun, pizza and beer; here are some pictures from last night:</span></p>
<p style="margin:0;" class="MsoNormal"><span style="font-family:Arial;"></span></p>
<p style="margin:0;" class="MsoNormal"><span style="font-family:Arial;"> <span style="font-family:Arial;"><a href="http://tomchikoore.files.wordpress.com/2008/03/image_175.jpg" title="Filtrbox Pizzabox Bug-Bash (click to enlarge)"><img src="http://tomchikoore.files.wordpress.com/2008/03/image_175.thumbnail.jpg" alt="Filtrbox Pizzabox Bug-Bash (click to enlarge)" /></a>  <a href="http://tomchikoore.files.wordpress.com/2008/03/image_176.jpg" title="image_176.jpg"><img src="http://tomchikoore.files.wordpress.com/2008/03/image_176.thumbnail.jpg" alt="Filtrbox Pizzabox Bug-Bash (click to enlarge)" /></a> <a href="http://tomchikoore.files.wordpress.com/2008/03/image_181.jpg" title="Filtrbox Pizzabox Bug-Bash (click to enlarge)"><img src="http://tomchikoore.files.wordpress.com/2008/03/image_181.thumbnail.jpg" alt="Filtrbox Pizzabox Bug-Bash (click to enlarge)" /></a> <a href="http://tomchikoore.files.wordpress.com/2008/03/image_177.jpg" title="image_177.jpg"><img src="http://tomchikoore.files.wordpress.com/2008/03/image_177.thumbnail.jpg" alt="Filtrbox Pizzabox Bug-Bash (click to enlarge)" /></a></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2008/03/27/filtrbox-pizzabox-bug-bash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NLP: Unstructured thinking for unstructured data</title>
		<link>http://tomchikoore.com/2008/02/29/nlp-unstructured-thoughts-for-unstructured-data/</link>
		<comments>http://tomchikoore.com/2008/02/29/nlp-unstructured-thoughts-for-unstructured-data/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 08:56:40 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://tomchikoore.wordpress.com/?p=22</guid>
		<description><![CDATA[In my last blog post, I talked about how we have had to develop Natural Language Processing (NLP) algorithms in order to overcome the lack of standardization on the web.  At Filtrbox, the more we dig deeper into the web, exploring its inner depths for information, the more I find that we are having to [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Arial;">In my last blog post, I talked about how we have had to develop Natural Language Processing (NLP) algorithms in order to overcome the lack of standardization on the web.<span>  </span>At Filtrbox, the more we dig deeper into the web, exploring its inner depths for information, the more I find that we are having to use a NLP concept here or a half NLP concept there to facilitate the process of mining unstructured data. The application of NLP concepts is increasingly figuring into the majority of our algorithms.<span>  </span>I have begun to notice that my thought process as software architect, designer and developer is tending to exhibit influences of NLP and machine learning concepts much more than before.</span><span style="font-family: Arial;"> </span></p>
<p> </p>
<p><span style="font-family: Arial;">I think NLP fundamentals are essential for those who wish to undertake the challenge of building the next generation of web applications that process the unstructured data on the web.<span>  </span>Yes, there are efforts to build a structured web via initiatives such as the semantic web and the various APIs being proposed. I respect these efforts; however, I would not solely rely on these initiatives alone. <span> </span>The proposed APIs provide access to structured data stored on various islands on the web.<span>  </span>For those users who do not have their data on those islands, their data is not accessible via the API.<span>  </span>The Semantic Web is the initiative that will bring us closest to structured data on the web.<span>  </span>However, as we are witnessing its painfully slow adoption, it looks like its going to be a while before we have some structure on the web. The challenge is what do we do now while we wait for these initiatives to mature. I think what we do today is, instead of waiting for content publishers to structure their content, we process content publishers’ content as is and we programmatically infer the structure of the content. <span> </span></span></p>
<p><span style="font-family: Arial;"></span></p>
<p><span style="font-family: Arial;">The application of NLP concepts are one way we can make the content structure inferences.<span>  </span>By applying NLP, this will take us a step closer to programmatic input, processing and storage of unstructured data.<span>  </span>We have traditionally thought in terms of structured data, programmed for structured data and stored structured data.<span>  </span>The challenge posed by the web today is an opportunity to break new ground for software engineers and start thinking, programming and storing unstructured data. </span></p>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2008/02/29/nlp-unstructured-thoughts-for-unstructured-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A case for standardizing blog templates</title>
		<link>http://tomchikoore.com/2008/02/04/a-case-for-standardizing-blog-templates/</link>
		<comments>http://tomchikoore.com/2008/02/04/a-case-for-standardizing-blog-templates/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 21:06:29 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Enterprise 2.0]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://tomchikoore.wordpress.com/?p=21</guid>
		<description><![CDATA[Alex Isikold of AdaptiveBlue has published a great post on “How YOU can make the web more structured”.  A section of this post, &#8220;Standardizing Blog Templates Across Platforms&#8221;, really resonates with me.  Isikold is suggesting that blogging platforms such as WordPress and TypePad standardize their templates.  Why is this important?  To help answer this question, [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family:Arial;"><a href="http://alexiskold.wordpress.com">Alex Isikold</a> of <a href="http://www.adaptiveblue.com/">AdaptiveBlue</a> has published a great post on <a href="http://tomchikoore.wordpress.com/wp-admin/post-new.php">“How YOU can make the web more structured”</a>.<span>  </span>A section of this post, &#8220;Standardizing Blog Templates Across Platforms&#8221;, really resonates with me.<span>  </span>Isikold is suggesting that blogging platforms such as WordPress and TypePad standardize their templates.<span>  </span>Why is this important?</span><span style="font-family:Arial;"> </span></p>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">To help answer this question, here is the Web 2.0 school of thought that I subscribe to:<span>  </span>Let’s start off with an enterprise database analogy. The basic assumption is that blogs are nothing but a data store.<span>  </span>While information in a blog makes for an interesting read, it is about as interesting as reading data in a text column in a relational database.<span>  </span>While the data in a single text column may have a lot of meaning, its meaning and usefulnes is enhanced when the data is combined with other columns in the same table in database, or with other tables in the same database, or even with data in other databases. The wealth of data is hidden in its interconnections with other data. In order to harvest the wealth of data in databases, applications are built on top of the databases that reference and make relational semantic inferences between the data in the database(s).<span>  </span>Today, blogs are the database(s). What is lacking are the applications that harvest the wealth of information stored in the blogs.<span>  </span>These are the applications that the next wave of Web 2.0 companies (including myself) are working on.</span><span style="font-family:Arial;"> </span></p>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">The pace of these next generation applications is being hindered by the lack of a consistent structure (standard) in blog data. What Isikold is bringing attention to is that unlike relational databases, which adhere to relational database management system standard (characterized by a simple TABLE/COLUMN/ROW+SQL structure that has been consistent over the years), blogs have no such standard. The structure of blogs is currently left up to the blogging platforms such a WordPress, Typepad etc. Blogging standards today are akin to having Oracle, SQL Server, MySQL each using a different standard for storing and retrieving information. Not only a different a standard for each of the databases, but a different standard for each version of each database.<span>  </span>Exacerbating the problem further, each of the different databases being customizable by anyone and anyone can change the standard to a standard of their liking. If these databases were is such a state, it would be very difficult to write any applications that leverage data from these databases. ODBC and JDBC standards would be very unreliable, if not useless.<span>  </span>Such is the state of the blogosphere today when one looks at it from a data interface perspective.</span><span style="font-family:Arial;"> </span><span style="font-family:Arial;"> </span></p>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">As many of you know, I am currently devoted to work on the layer of applications that leverages the data in blogs and beyond in order make such data more useful to users.<span>  </span>The lack of standardization (as described above) makes it difficult to identify the content in blogs.<span>  </span>Content identification is important because an application needs to be able to identify the difference between actual blog post text and some other text on the blog so that analyses and inferences can be established appropriately.<span>  </span>I have been monitoring the different types of templates in an attempt to predict template patterns for the different blogging platforms (mainly WordPress, TypePad, Blogger, MovableType).<span>  </span>I came to the conclusion that pattern prediction is only successful to a certain point due to the following </span></p>
<blockquote><p><span style="font-family:Arial;">1) the original templates from the blogging platform vendor consists of multiple major and minor versions that do not have a predictable consistency in the template content tagging and </span></p></blockquote>
<blockquote><p><span style="font-family:Arial;">2) there are modified/hand coded templates floating out there which are totally unreliable. </span></p></blockquote>
<p><span style="font-family:Arial;">As a result of these observations, I have resorted to writing my own content identification algorithms that include a combination of template pattern predictor algorithms and NLP based semantic blog post text identification algorithms.<span>  </span>While this has served me well up to now, a blog template standard will be very beneficial not only to myself but many people who have not figured out how get past the problem. </span><span style="font-family:Arial;"> </span></p>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">Isikold is suggesting that a standard be adopted with the goal of giving blog templates a consistent structure.<span>  </span>This means the adoption of a template standard that identifies the different types of data on the different parts of bogs post. Isikold is suggesting that on a blog post, the template should make it easy to identify the </span><span style="font-family:Arial;">blog post text, the side bar, the name of the author, the data that blog post was published, the tags for the blog post content and the blog posts comments.<span>  </span>I believe an adoption of this simple template will go a long way in helping to bring the next wave of Web 2.0 applications to market faster.  I support a blog template standard.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2008/02/04/a-case-for-standardizing-blog-templates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Correct RSS date format</title>
		<link>http://tomchikoore.com/2008/02/04/correct-rss-date-format/</link>
		<comments>http://tomchikoore.com/2008/02/04/correct-rss-date-format/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 19:19:47 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Enterprise 2.0]]></category>
		<category><![CDATA[Enterprise software]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://tomchikoore.wordpress.com/?p=20</guid>
		<description><![CDATA[If you see a date like “01/02/07” in an RSS feed, what do you do?  You write a blog post about it.  The applications that I am working on are reliant on some calculations using RSS dates.  I have noticed that the RSS date specification is probably the most taken for granted part of the [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family:Arial;">If you see a date like “01/02/07” in an RSS feed, what do you do?<span>  </span>You write a blog post about it.</span><span style="font-family:Arial;"> </span></p>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">The applications that I am working on are reliant on some calculations using RSS dates.<span>  </span>I have noticed that the RSS date specification is probably the most taken for granted part of the RSS spec.<span>  </span>It is taken for granted because many consumers of RSS program around the date inconsistencies so there is not much of an outcry.<span>  </span>However, when you see a date like 01/02/07, you have to stop and say something.</span><span style="font-family:Arial;"> </span></p>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">To those developers generating RSS feeds, please take a look at the RSS date format specifications as per the RSS specification.<span>  </span>I will summarize it here:</span><span style="font-family:Arial;"> </span></p>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">The RSS date must conform to the <a href="http://www.faqs.org/rfcs/rfc822.html">RFC-822</a> (refer to the BNF for &#8220;date-time&#8221;  in section 5) date time format.<span>  </span>Examples of this format are:</span><span style="font-family:Arial;"> </span></p>
<blockquote><p><span style="font-family:Arial;"></span><span style="font-family:Arial;">Wed, 04 Feb 2008 08:00:00 EST</span></p></blockquote>
<blockquote><p><span style="font-family:Arial;"></span><span style="font-family:Arial;">Wed, 04 Feb 2008 13:00:00 GMT</span></p></blockquote>
<blockquote><p><span style="font-family:Arial;"></span><span style="font-family:Arial;">Wed, 04 Feb 2008 15:00:00 +0200</span><span style="font-family:Arial;"></span><span style="font-family:Arial;"> </span></p></blockquote>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">Do not just execute a stringifying method on your date object before writing it to the RSS feed.<span>  </span>Set the date format to the above mentioned format first before writing it to the RSS feed.</span><span style="font-family:Arial;"> </span></p>
<p style="margin:0;" class="MsoNormal"><span style="font-family:Arial;">To validate whether your date is correct, you can use <a href="http://feedvalidator.org/">http://feedvalidator.org</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2008/02/04/correct-rss-date-format/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Filtrbox is hiring</title>
		<link>http://tomchikoore.com/2008/01/25/filtrbox-is-hiring/</link>
		<comments>http://tomchikoore.com/2008/01/25/filtrbox-is-hiring/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 17:52:02 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Techstars]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://tomchikoore.wordpress.com/?p=17</guid>
		<description><![CDATA[At Filtrbox, we are on a quest to create software that helps people &#8220;know what they don&#8217;t know&#8221;.  How do we go about doing that, you may ask.  Well, if you want to know how we do that, come and join us because WE ARE HIRING. If you meet the following requirements, you have an opportunity [...]]]></description>
			<content:encoded><![CDATA[<div style="margin:0;"><span style="font-size:10pt;font-family:Arial;">At Filtrbox, we are on a quest to create software that helps people &#8220;know what they don&#8217;t know&#8221;.  How do we go about doing that, you may ask.  Well, if you want to know how we do that, come and join us because<span class="Apple-converted-space"> </span><b>WE ARE HIRING</b>. If you meet the following requirements, you have an opportunity to be part of the best software development team in<span class="Apple-converted-space"> </span>Boulder,<span class="Apple-converted-space"> </span>Colorado:</span></div>
<div style="margin:0;"><span style="font-size:10pt;font-family:Arial;"></span></div>
<div style="margin:0;"><font size="3"><font face="Times New Roman"></font></font></div>
<div style="margin:0;"><span style="font-size:10pt;font-family:Arial;"></span></div>
<p>
<div style="margin:0;"><span style="font-size:10pt;font-family:Arial;">*Solid Java skills<br />
*Solid web application development skills<br />
*Experience with Natural Language Processing concepts (a plus)<br />
*Actionscript 2 or 3 (a plus)<br />
*System administration skills, Linux, Apache, Tomcat, MySQL (a plus)<br />
<br />
*Must be energetic, motivated and creative</span></div>
<div style="margin:0;"><span style="font-size:10pt;font-family:Arial;"></span></div>
<p></p>
<div style="margin:0;"><span style="font-size:10pt;font-family:Arial;">Send your resume to <strong>jobs at filtrbox dotcom</strong></span></div>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2008/01/25/filtrbox-is-hiring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>That software may be around for a very long time&#8230;.write it well.</title>
		<link>http://tomchikoore.com/2008/01/13/that-software-may-be-around-for-a-very-long-timewrite-it-well/</link>
		<comments>http://tomchikoore.com/2008/01/13/that-software-may-be-around-for-a-very-long-timewrite-it-well/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 06:49:59 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Enterprise software]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://tomchikoore.wordpress.com/2008/01/13/that-software-may-be-around-for-a-very-long-timewrite-it-well/</guid>
		<description><![CDATA[During the holidays I was surfing the web and discovered forums dedicated to software that I wrote almost a decade ago. It felt really good discovering that there are hordes of consultants out there being certified on architecture, designs and API that I conceived and developed (There is nothing like discovering that people’s passing of a certification hinges [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family:Arial;">During the holidays I was surfing the web and discovered forums dedicated to software that I wrote almost a decade ago. It felt really good discovering that there are hordes of consultants out there being certified on architecture, designs and API that I conceived and developed (There is nothing like discovering that people’s passing of a certification hinges upon them knowing the meaning of a phrase or term that you coined). </span><span style="font-family:Arial;"> </span></p>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">Feeling proud of myself and maybe even a little boastful, I decided to anonymously answer a question in one of the free forums since I would &#8220;obviously&#8221; be the final authority on such matters.  As soon as I posted the “obviously correct” answer to the question, there was a response from one veteran consultant who indicated that I did not know what I was talking about, I had it all wrong and he proceeded to teach me the correct usage of the part of the software under discussion. WHOA!!! Wait a minute!!! But, I created the software!!! You can’t tell me the &#8220;correct usage&#8221; of my own API. It turns out that after so many years of consulting on the software, many consultants have come up with very creative workarounds and ingenious uses of the software.  I tip my hat to them because they are now doing things with the software that I did not even imagine at the time that I designed and developed the software.  I was both proud and humbled after reading the response from the consultant. </span><span style="font-family:Arial;"> </span></p>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;">This experience reminded me of the importance of architecting, designing and developing enduring software because you never know how long your code will be out there making a difference in people’s lives.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2008/01/13/that-software-may-be-around-for-a-very-long-timewrite-it-well/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>“simplicity of solution” is an essential element of quality</title>
		<link>http://tomchikoore.com/2007/06/24/%e2%80%9csimplicity-of-solution%e2%80%9d-is-an-essential-element-of-quality/</link>
		<comments>http://tomchikoore.com/2007/06/24/%e2%80%9csimplicity-of-solution%e2%80%9d-is-an-essential-element-of-quality/#comments</comments>
		<pubDate>Sun, 24 Jun 2007 06:29:35 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://tomchikoore.wordpress.com/2007/06/24/%e2%80%9csimplicity-of-solution%e2%80%9d-is-an-essential-element-of-quality/</guid>
		<description><![CDATA[Last month, I posted a response to Brad Feld&#8217;s question, &#8220;Why Do Computers Suck So Much?&#8221;, which I think deserves its own posting here because I feel so strongly about it: Computers do not suck so much, it’s the software engineers. Software engineers suck even more. Being a software engineer myself, I think over the [...]]]></description>
			<content:encoded><![CDATA[<p>Last month, I posted a response to <a target="_blank" href="http://www.feld.com/blog/index.php">Brad Feld&#8217;s </a>question, <a target="_blank" href="http://www.feld.com/blog/archives/2007/05/why_do_computer.html">&#8220;Why Do Computers Suck So Much?&#8221;, </a>which I think deserves its own posting here because I feel so strongly about it:</p>
<p>Computers do not suck so much, it’s the software engineers. Software engineers suck even more. Being a software engineer myself, I think over the years the quality of engineering in software has been slowly going downhill and it has been no secret. While I know some of the reasons why software is sometimes deliberately designed so that is difficult to use with certain third party products (forced migration strategy anyone??), I would like to take your question as an opportunity rant on my dissatisfaction with the quality of software design and engineering in general. It’s just something that has been irking me for some time.</p>
<p>Software engineers tend to forget that software engineering is a craft. It’s a craft whose beauty is in the detailed attention paid to the relevance of the functionality and the quality of the finished product. Engineers tend to forget this fact and their managers tend to be ignorant of it. Engineering managers have been lacking in identifying great engineers. More often than not, engineering managers do not understand the composition dynamics of a great software engineering team. Most managers mistake the person who can whip up the code the fastest (and rant differences between technologies and languages) to be a great engineer and they stack their teams with a whole lot of those types of engineers. A great engineer is a person, who can not only find smart solutions to complex problems but one who can also simplify the solutions to complex problems. The smartest guy in the room is not necessarily a great engineer but just a smart guy. In my working with some of the engineers and their “program/product managers” from some of the “tier one” software companies, I noticed that a lot of them were simply just smart guys and not necessarily great engineers because they failed to make abstractions of software that were any less than “smart abstractions”. (The average user is better served not by smart abstraction of software but rather by simplified abstractions.) The end result is software that just does not “simply work” as the average user would expect. Instead, users must know that this and that needs to be done before they can complete their tasks because to a geek engineer, his/her tester and their program/product manager, that is “so obvious”. What they fail to understand is that users have an affinity towards simple abstractions as evidenced by the fact that when all else fails, the user falls back on the simplest abstraction of all “turning it off and turning it back on”.</p>
<p>I have not been around long enough to say software is not longer being developed the way it used be, but I have been around long enough to know that software is neither being designed not engineered the way it should be. Software engineers, who view their work as a craft, should view “simplicity of solution” as an essential element of quality of their work.</p>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2007/06/24/%e2%80%9csimplicity-of-solution%e2%80%9d-is-an-essential-element-of-quality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Real &#8211; the forgotten chapter</title>
		<link>http://tomchikoore.com/2007/06/21/getting-real-the-forgotten-chapter/</link>
		<comments>http://tomchikoore.com/2007/06/21/getting-real-the-forgotten-chapter/#comments</comments>
		<pubDate>Thu, 21 Jun 2007 21:23:24 +0000</pubDate>
		<dc:creator>tomchikoore</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Startups]]></category>

		<guid isPermaLink="false">http://tomchikoore.wordpress.com/2007/06/21/getting-real-the-forgotten-chapter/</guid>
		<description><![CDATA[After listening to an agile software development presentation at Rally Software that included excerpts from the book du jour for web 2.0 developers today, “Getting Real” by 37 Signals, I went back to a thought that I had after I read the book several months ago. While digesting all the information that I had read, [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Times New Roman"><span style="font-family:Georgia;">After listening to an agile software development presentation at <a target="_blank" href="http://www.rallydev.com/">Rally Software</a> that included excerpts from the book du jour for web 2.0 developers today, <a target="_blank" href="http://gettingreal.37signals.com/">“Getting Real”</a> by 37 Signals, I went back to a thought that I had after I read the book several months ago.<span> </span>While digesting all the information that I had read, I realized that “Getting Real” offers a great template for agile web app developers; however, it also puts a lot of responsibility on the software developer above and beyond what has been traditionally expected of developers. After reading the book , you realize that a develop is no longer a person who possesses code cranking skills only but a person with a conglomeration of skills in order to satisfy the principles in “Getting Real”. </span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">What skill will I be looking for in our next hire person for our web 2.0 which follows the “Getting Real” agile software development model? As a former, software architect, I identified that the closest skills for a person that fits the bill are that of a software architect (in addition to the developer skills, of course). Now, I am not trying to turn the whole “Getting Real” on its head and introduce the role of an architect, I am merely saying that the skill that should be innate (or trained) in person who can successfully thrive in a startup company implementing the “Getting Real” principles is commensurate with the skill that is required of a software architect.</span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">In addition to suggestions in Chapter 8 of the book, I would hire a person who possesses the following skills that are often associated with software architects:</span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;"><em><strong>Constant understanding of a system’s organizational structure</strong></em></span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span></font><font face="Times New Roman"><span style="font-family:Georgia;">Since we have no req specs with “Getting Real”, the developer must constantly keep in mind the overall view of the system as well as its constituent functional components and their relationships. <span></span>This goes a long way in cranking out code faster because one must constantly understand how changes affect other parts of the system.</span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;"><em><strong>Ability to curb unbounded complexity</strong></em></span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">It takes a certain level of skill to deliver software that provides value, is simple to use and is powered by a non-complex system. Simply saying ’no’ to feature requests does not necessarily equate to a less complex system.</span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;"><em><strong>Leadership</strong></em></span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">The ability to influence and inspire, is a quality that is continually evident in the 37 Signals guys themselves.<span> </span>“Getting Real” principles result in a product that is characterized by an impassioned boldness of the product and the people; and leadership is definitely an essential quality in achieving both.</span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;"><strong>Effective communication</strong></span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">A developer that successfully follows these principles outlined in the book must be able to communicate on three axis: X-axis -<span> </span>horizontal communication with the other members of the team, Y-axis -<span> </span>communicate with the your startup management, board, advisors, investors and any other developers under him/her , Z-axis – communicate with the product users. “Getting Real” emphasizes the importance of engaging with your users, this will yield the best results if your developers have effective communication skills.</span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;"><em><strong>Understand and appreciate business strategy</strong></em></span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">In order to “hire the right customers”, “have an enemy” or “underdo your competition”, a developer must understand the business strategy.</span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;"><em><strong>Political Skills</strong></em></span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">While traditional software architects must possess the skill for political navigation through an organization while championing the product, I think the political skill required here is a little different. A developer must be able to identify when politics start to affect the product in ways that are not in the best interest of the product and put a stop to it. <span></span>Even small <span></span>startup teams such as those suggested by “Getting Real” have a certain level of political dynamics not only within the team itself but also among other entities that interface with the team such as investors, advisors etc. </span></font></p>
<p><font face="Times New Roman"><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">In addition to the “Staffing” recommendation in the book, I will definitely be using all the above-mentioned to evaluate our next hire because developers just cannot afford to be simple code crankers anymore.</span></font></p>
]]></content:encoded>
			<wfw:commentRss>http://tomchikoore.com/2007/06/21/getting-real-the-forgotten-chapter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

