<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/&quot;A0ADSH48eyp7ImA9WxBSGE8.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596</id><updated>2009-12-26T04:16:19.073-08:00</updated><title>Keeping it Simple</title><subtitle type="html">Being mindful of best practices in software development fundamentals can be more effective than adopting every latest technology.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>46</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/KeepingItSimple" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;CUUBRXs7fSp7ImA9WxNTGUs.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-4443435283843513355</id><published>2009-08-22T10:30:00.000-07:00</published><updated>2009-08-22T10:47:34.505-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-22T10:47:34.505-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><title>What is QEP?</title><summary type="html">In the context of database programming, QEP is an acronym for Query Execution Plan. The database server analyzes every SQL query and plans how to use indexes and order tables to produce the result in the most efficient way.You can get a report of the QEP for a SELECT query using the EXPLAIN command in MySQL.  This is an important tool to analyze your SQL queries and detect &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/zg0VRZIIZQY" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/4443435283843513355/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=4443435283843513355" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/4443435283843513355?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/4443435283843513355?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/08/what-is-qep.html" title="What is QEP?" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D0cAR3s5eCp7ImA9WxJWE0o.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-3755847802745012526</id><published>2009-06-18T18:09:00.001-07:00</published><updated>2009-06-18T18:30:46.520-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-18T18:30:46.520-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><category scheme="http://www.blogger.com/atom/ns#" term="licensing" /><category scheme="http://www.blogger.com/atom/ns#" term="software" /><title>Free Software vs. Gratis Software</title><summary type="html">A lot of folks are unclear on the subtleties of free software and open source.  Mike Hogan writes a blog article"Is Hybrid Licensing of OSS Hypocrisy?" to try to shed some light on this.  With respect, I think he has missed part of it.We're talking about two orthogonal things here.  One is open-source versus closed-source, and the other is whether we charge money for software licenses or not.  As&lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/RfKx8-6gfQo" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/3755847802745012526/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=3755847802745012526" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/3755847802745012526?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/3755847802745012526?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/06/free-software-vs-gratis-software.html" title="Free Software vs. Gratis Software" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;D0UBSHYyfCp7ImA9WxJXEUg.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-6194062732231552883</id><published>2009-06-04T15:15:00.000-07:00</published><updated>2009-06-04T15:40:59.894-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-04T15:40:59.894-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><title>I'm Speaking on SQL at OSCON</title><summary type="html">Early Registration has been extended to June 23.  Save up to $250!Enter my friends-of-speaker discount code "os09fos" when you register, and save an additional 20%!  Just because you read my blog.Practical Object-Oriented Models in SQLWednesday July 22, 5:20pm.SQL is from Mars, Objects are from Venus.This talk is for software developers who know SQL but are stuck trying to implement common &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/nG7P5wwa57U" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/6194062732231552883/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=6194062732231552883" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/6194062732231552883?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/6194062732231552883?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/06/im-speaking-on-sql-at-oscon.html" title="I'm Speaking on SQL at OSCON" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;Ck8ERXszeyp7ImA9WxJRGUs.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-1980070121282754138</id><published>2009-05-21T15:05:00.000-07:00</published><updated>2009-05-21T19:53:24.583-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-21T19:53:24.583-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="antipattern" /><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><title>EAV FAIL</title><summary type="html">see more Fail BlogThis illustrates (by counter-example) an important characteristic of a normalized database:  each logical "type" of attribute belongs in a separate column.Just because three values happen to be numeric doesn't mean it makes sense to SUM() them together.  But if dissimilar attributes are stored in the same column, it's tempting to treat them as compatible in this way.This also &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/EFCRZUL8myM" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/1980070121282754138/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=1980070121282754138" title="17 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/1980070121282754138?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/1980070121282754138?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/05/eav-fail.html" title="EAV FAIL" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">17</thr:total></entry><entry gd:etag="W/&quot;DUABRns4eyp7ImA9WxJTE0U.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-2381013453985078958</id><published>2009-04-20T23:30:00.001-07:00</published><updated>2009-04-22T01:09:17.533-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-22T01:09:17.533-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><title>SQL Antipatterns Strike Back! Slides</title><summary type="html">I presented my tutorial at the MySQL Conference &amp; Expo today.  I have fun preparing it and presenting it, and I got many good questions and comments from the audience.  Thanks to everyone for coming and participating!I have uploaded my slides with a Creative Common 3.0 license to my SlideShare account: http://www.slideshare.net/billkarwinFor those who did not get to see my tutorial, I'm &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/LFIDvhSwJEE" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/2381013453985078958/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=2381013453985078958" title="17 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2381013453985078958?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2381013453985078958?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/04/sql-antipatterns-strike-back-slides.html" title="SQL Antipatterns Strike Back! Slides" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">17</thr:total></entry><entry gd:etag="W/&quot;D0EAQ3Y5fSp7ImA9WxJTEkk.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-4654247212696106985</id><published>2009-04-20T09:25:00.000-07:00</published><updated>2009-04-20T09:40:42.825-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-20T09:40:42.825-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><title>Oracle buying Sun</title><summary type="html">Stunning news today that Oracle has offered to buy Sun Microsystems.  This is sending the MySQL community reeling, as they begin their MySQL Conference &amp; Expo today.  Everyone's talking about whether this change is good for MySQL.My first thought is:  it's not over till it's over.  These deals have a way of falling through at the last minute.  Just look at Microsoft's attempts to acquire Yahoo!.&lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/Kg7uWyghgvk" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/4654247212696106985/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=4654247212696106985" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/4654247212696106985?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/4654247212696106985?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/04/oracle-buying-sun.html" title="Oracle buying Sun" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;CU4ESX45eSp7ImA9WxVaEU8.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-4651518558769242449</id><published>2009-04-07T08:44:00.001-07:00</published><updated>2009-04-07T10:05:08.021-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-07T10:05:08.021-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><title>I hate IBM System i</title><summary type="html">In his blog, Vadim reports that a new storage pluggable engine for MySQL has appeared in the source tree, to support IBM DB2 for i as a back-end.This reminds me that I hate the IBM System i platform (aka IBM Power Systems, aka iSeries, aka AS/400).Don't get me wrong -- I'm sure it's terrific technology.  I'm sure IBM supports many businesses with it and they're happy (although I do wonder why &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/ZF3hWyMjPDg" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/4651518558769242449/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=4651518558769242449" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/4651518558769242449?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/4651518558769242449?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/04/i-hate-ibm-system-i.html" title="I hate IBM System i" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></entry><entry gd:etag="W/&quot;A0AAQHc5eip7ImA9WxVbE0g.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-661041374544023646</id><published>2009-03-29T13:37:00.000-07:00</published><updated>2009-03-29T13:49:01.922-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-29T13:49:01.922-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="education" /><category scheme="http://www.blogger.com/atom/ns#" term="writing" /><title>Virtually Speaking</title><summary type="html">The word virtually is overused.  In many cases using the word virtually simply means not.  For example:I have finished virtually all of my homework.This new surgical procedure is virtually pain-free.In Modern American Usage, Bryan A. Garner counts virtually as a weasel-word.  Weasel-words are so named because of the habit of weasels to attack birds' nests, and eat their eggs by sucking the meat &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/fKjfDmuWdJk" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/661041374544023646/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=661041374544023646" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/661041374544023646?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/661041374544023646?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/03/virtually-speaking.html" title="Virtually Speaking" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0ENSX44eyp7ImA9WxVbEEw.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-1115749220385997954</id><published>2009-03-25T15:13:00.000-07:00</published><updated>2009-03-25T15:21:38.033-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-25T15:21:38.033-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><title>Hello EclipseCon 2009</title><summary type="html">No, I am not attending EclipseCon -- but my smiling face apparently was on Tuesday.  StackOverflow founder and CodingHorror blogger Jeff Atwood emailed me to let me know he displayed my StackOverflow user profile page during his keynote at EclipseCon.I don't know what the context was in which he showed my profile.  Maybe he just needed an example of an SQL geek who has too much time on his &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/yjSU3RD_MVU" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/1115749220385997954/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=1115749220385997954" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/1115749220385997954?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/1115749220385997954?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/03/hello-eclipsecon-2009.html" title="Hello EclipseCon 2009" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;C0MERHw4eSp7ImA9WxVUFU0.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-424759190878035870</id><published>2009-03-19T15:12:00.000-07:00</published><updated>2009-03-19T15:23:25.231-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-19T15:23:25.231-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python" /><category scheme="http://www.blogger.com/atom/ns#" term="architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><category scheme="http://www.blogger.com/atom/ns#" term="perl" /><title>Parrot Web Framework?</title><summary type="html">Wondering if the following idea could be feasible:Architect a web framework that emphasizes Inversion of Control.Implement core web framework in Parrot (now that this dynamic language platform has released its 1.0).Voila!  A web framework that supports any language implemented for Parrot platform. Developers write plugins in any language: Python, Ruby, PHP, Perl6, Lua, C, or any other language &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/TThuWGJbxko" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/424759190878035870/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=424759190878035870" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/424759190878035870?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/424759190878035870?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/03/parrot-web-framework.html" title="Parrot Web Framework?" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUYHQ3w4eyp7ImA9WxVVGEw.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-2550569143827916207</id><published>2009-03-11T17:15:00.000-07:00</published><updated>2009-03-11T17:18:52.233-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-11T17:18:52.233-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="architecture" /><title>How do the Proxy, Decorator, Adaptor, and Bridge Patterns differ?</title><summary type="html">A user recently asked:I was looking at the Proxy Pattern, and to me it seems an awful lot like the Decorator, Adaptor, and Bridge Patterns. Am I misunderstanding something? What's the difference? Why would I use the proxy pattern veses the others? How have you used them in the past in real world projects?Proxy, Decorator, Adapter, and Bridge are all variations on "wrapping" a class.  But their &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/7GJ5EvrgKh4" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/2550569143827916207/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=2550569143827916207" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2550569143827916207?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2550569143827916207?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/03/how-do-proxy-decorator-adaptor-and.html" title="How do the Proxy, Decorator, Adaptor, and Bridge Patterns differ?" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DE4MQno8eCp7ImA9WxVVF08.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-7139615832530149681</id><published>2009-03-10T16:08:00.000-07:00</published><updated>2009-03-10T16:16:23.470-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-10T16:16:23.470-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="licensing" /><category scheme="http://www.blogger.com/atom/ns#" term="software" /><title>Can I Use Example Code from Internet Q&amp;A Sites?</title><summary type="html">A user recently asked:  Scenario:A developer is working on a project and encounters a problem. They ask a question on the internet somewhere (ie stackoverflow.com) Someone answers their question and provides a nice code snippet that just about does what they want.Where does one legally stand if the developer includes the code verbatim in their project's code?  I know I've done this before...and &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/zeWH4d_-sqM" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/7139615832530149681/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=7139615832530149681" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/7139615832530149681?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/7139615832530149681?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/03/can-i-use-example-code-from-internet-q.html" title="Can I Use Example Code from Internet Q&amp;A Sites?" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C0cESH47fSp7ImA9WxVVF0w.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-8953709827627476975</id><published>2009-03-10T11:06:00.000-07:00</published><updated>2009-03-10T11:50:09.005-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-10T11:50:09.005-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="best-practices" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Quantity Over Quality</title><summary type="html">Alex Netkachov recently reported a list of micro-optimizations for PHP.  Several other bloggers (Sebastian, Maggie, Pádraic) responded with appropriate messages, reminding people that proper application design usually counts more than micro-optimizations.They are all correct.When I was an intern, I emailed a C compiler developer, to ask a question that had occurred to me regarding optimization:  &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/mtT0INDS8HA" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/8953709827627476975/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=8953709827627476975" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/8953709827627476975?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/8953709827627476975?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/03/quantity-over-quality.html" title="Quantity Over Quality" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;Dk4HRXc7eyp7ImA9WxVVE0w.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-6564150471934205661</id><published>2009-03-05T20:43:00.000-08:00</published><updated>2009-03-05T20:48:54.903-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-05T20:48:54.903-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="best-practices" /><category scheme="http://www.blogger.com/atom/ns#" term="interviewing" /><title>Accepting a job that failed The Joel Test</title><summary type="html">A user recently asked:I'm about to accept a job offer for a company that has failed The Joel Test with flying colors.Now, my question is how do I improve the conditions there. I am positive that within a few months I will be able to make a difference.  But where do I start? And how?Don't view yourself as the "new sheriff in town" who's here to clean it all up in one year. The habits they have &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/za6mIWPc8xs" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/6564150471934205661/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=6564150471934205661" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/6564150471934205661?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/6564150471934205661?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/03/accepting-job-that-failed-joel-test.html" title="Accepting a job that failed The Joel Test" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUYMR3k-cCp7ImA9WxVWFk0.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-2872249077682312847</id><published>2009-02-25T14:54:00.001-08:00</published><updated>2009-02-25T15:06:26.758-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-25T15:06:26.758-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="best-practices" /><category scheme="http://www.blogger.com/atom/ns#" term="testing" /><title>Unit Test Coverage</title><summary type="html">S.Lott writes in his blog about unit test code-coverage:  how much is enough?Effective tests should account not only for code paths, but also input values and other application state or external environment that may affect the behavior.For example, it may be easy to get 100% code coverage from tests for a function like the following:divide(x, y) { return x/y; }But unless you test for &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/E1tid0I4B1g" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/2872249077682312847/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=2872249077682312847" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2872249077682312847?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2872249077682312847?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/02/unit-test-coverage.html" title="Unit Test Coverage" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkUCRXwzeyp7ImA9WxVQGU4.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-1490589773094291125</id><published>2009-02-06T08:29:00.000-08:00</published><updated>2009-02-06T08:37:44.283-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-06T08:37:44.283-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="consulting" /><title>How Do You Reward Good Clients?</title><summary type="html">A user recently asked:I find when I get a 'good client' things go so much smoother on a project (there even seems to be less bugs - weird?). I have a habit of rewarding good behavior from anyone (even if its just a simple thank you).I am interested to know what sort of things you guys do, and even how you feel about good client behavior.It would be nice if "good clients" were simply "normal &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/VvHecP29wPc" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/1490589773094291125/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=1490589773094291125" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/1490589773094291125?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/1490589773094291125?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/02/how-do-you-reward-good-clients.html" title="How Do You Reward Good Clients?" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CEMER3c5cSp7ImA9WxVRFUs.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-1689975165676420407</id><published>2009-01-21T10:20:00.000-08:00</published><updated>2009-01-21T10:26:46.929-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-21T10:26:46.929-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="perl" /><title>Splitting a String in Perl</title><summary type="html">A user recently asked:How do I take a string in Perl and split it up into an array with entries two characters long each?Ultimately I want to turn something like this  F53CBBA476  into and array containing  F5 3C BB A4 76This was my answer:@array = ( $string =~ m/../g );The pattern-matching operator behaves in a special way in a list context in Perl.  It processes the operation iteratively, &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/ouEp3ndyg24" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/1689975165676420407/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=1689975165676420407" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/1689975165676420407?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/1689975165676420407?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/01/splitting-string-in-perl.html" title="Splitting a String in Perl" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;C08GQX49eSp7ImA9WxVRFUs.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-2696193728896320356</id><published>2009-01-21T10:12:00.000-08:00</published><updated>2009-01-21T10:17:00.061-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-21T10:17:00.061-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="best-practices" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><title>Understanding Unfamiliar Databases</title><summary type="html">A user recently asked:                 What kind of approaches and techniques can you employ to become familiar with an existing database if you are tasked with supporting and/or modifying it? How can you easily and effectively ramp up your knowledge of a database you have never seen before?Here was my reply:The first thing I do is create an Entity-Relationship Diagram (ERD). Sometimes you can &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/2n42Y48ndw8" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/2696193728896320356/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=2696193728896320356" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2696193728896320356?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2696193728896320356?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/01/understanding-unfamiliar-databases.html" title="Understanding Unfamiliar Databases" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUMER384fip7ImA9WxNSEUg.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-3786068787875973073</id><published>2009-01-21T09:35:00.000-08:00</published><updated>2009-08-24T15:36:46.136-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-24T15:36:46.136-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><title>Why Should You Use an ORM?</title><summary type="html">A user recently asked for good arguments in favor of using  Object/Relational Mapping technology:                 If you were to motivate [sic] the "pro's" of why you would use an ORM to management/client, what would the reasons be?  Try and keep one reason per answer so that we can see what gets voted up as the best reasons.I offered four answers.  The first three got the most votes, but my last&lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/dydn8Mwb2Xo" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/3786068787875973073/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=3786068787875973073" title="19 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/3786068787875973073?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/3786068787875973073?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/01/why-should-you-use-orm.html" title="Why Should You Use an ORM?" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">19</thr:total></entry><entry gd:etag="W/&quot;CEUHRnY7eSp7ImA9WxVRFEU.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-8570223271750137885</id><published>2009-01-20T12:05:00.001-08:00</published><updated>2009-01-20T12:10:37.801-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-20T12:10:37.801-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="licensing" /><category scheme="http://www.blogger.com/atom/ns#" term="software" /><title>Is This Legal?</title><summary type="html">A user recently asked a question about GPL compatibility with his company's commercial software offerings:                 I work for a software / design firm and I recently found out that our "in house" CMS is actually [based on software] licensed under the GPL Ver 2. I would like to know if it is ethical / legal to be selling this to clients. Don't act on any legal advice you read on a forum &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/QLihORKDpM8" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/8570223271750137885/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=8570223271750137885" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/8570223271750137885?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/8570223271750137885?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/01/is-this-legal.html" title="Is This Legal?" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;C0IHSX44cCp7ImA9WxVSGUo.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-3348126049722366315</id><published>2009-01-14T14:15:00.000-08:00</published><updated>2009-01-14T14:18:58.038-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-14T14:18:58.038-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="education" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Learn to Program in 21 Days</title><summary type="html">A user recently asked:Has anyone "learned how to program in 21 days?"                 I'm not a fan of these learn how to program in X amount of days books. Some even boast, learn how to program in 24 hours. This is a joke and an insult to me as a software engineer who went through a rigorous discipline in computer science and mathematics.  So a question to the community, have you benefited from &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/SXKqIq4l0Qg" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/3348126049722366315/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=3348126049722366315" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/3348126049722366315?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/3348126049722366315?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/01/learn-to-program-in-21-days.html" title="Learn to Program in 21 Days" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C0QFRHo4fCp7ImA9WxVSGUo.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-7844246319093633740</id><published>2009-01-14T14:00:00.000-08:00</published><updated>2009-01-14T14:15:15.434-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-14T14:15:15.434-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="perl" /><title>Best. Perl Script. Ever.</title><summary type="html">A user recently asked:What has been your best programming experience so far?The most successful program I've ever written was this Perl script:map(($r=$_,map(($y=$r-$_/3,$l[24-$r].=(' ','@')[$y**2-20*$y+($_**2)/3&lt;0]),(0..30)),),(0..24));print join("\n", map(reverse($_).$_, @l)), "\n";I wrote this for a woman I was dating in 2001.  Writing a Perl script for my girlfriend is not as geeky as it &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/mLc3r7Y6yB4" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/7844246319093633740/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=7844246319093633740" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/7844246319093633740?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/7844246319093633740?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/01/best-perl-script-ever.html" title="Best. Perl Script. Ever." /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CEcHQnk4eCp7ImA9WxVSGUo.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-6665322056091916082</id><published>2009-01-13T11:07:00.000-08:00</published><updated>2009-01-14T14:27:13.730-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-14T14:27:13.730-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><title>The Next-Gen Databases</title><summary type="html">A user recently asked:I'm learning traditional Relational Databases (with PostgreSQL) and doing some research I've come across some new types of databases. CouchDB, Drizzle, and Scalaris to name a few, what is going to be the next database technologies to deal with?SQL is a language for querying and manipulating relational databases. SQL is dictated by an international standard. While the &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/PKlokB9bI-c" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/6665322056091916082/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=6665322056091916082" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/6665322056091916082?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/6665322056091916082?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/01/next-gen-databases.html" title="The Next-Gen Databases" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></entry><entry gd:etag="W/&quot;D0UCR3s5fip7ImA9WxVSGEo.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-2860123172056605039</id><published>2009-01-10T23:14:00.000-08:00</published><updated>2009-01-13T11:34:26.526-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-13T11:34:26.526-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="best-practices" /><category scheme="http://www.blogger.com/atom/ns#" term="interviewing" /><title>Verifying a Company Uses Best Practices</title><summary type="html">A user recently asked how to use the Joel Test in an interview, to confirm that a software company practices what they preach with regard to professional software development habits:I've got an interview with a company that claims to score a 12 on the Joel Test.  [...]  What are some ways of determining if they really implement all 12 points?  Are there any particular questions I can ask?It's &lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/vOOPHQyp008" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/2860123172056605039/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=2860123172056605039" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2860123172056605039?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/2860123172056605039?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/01/verifying-company-uses-best-practices.html" title="Verifying a Company Uses Best Practices" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;D0UAQHg5fSp7ImA9WxVSFUg.&quot;"><id>tag:blogger.com,1999:blog-5445766604096569596.post-8236813963709417372</id><published>2009-01-09T12:38:00.000-08:00</published><updated>2009-01-09T18:40:41.625-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-09T18:40:41.625-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="best-practices" /><title>Do I really need version control?</title><summary type="html">A user recently asked:I read all over the internet (various sites and blogs) about version control. How great it is and how all developer NEED to use it because is a god bless.Here is the question: do I really need this? ... I usually work alone (freelancer) and I had no client that asked me to use svn (but never is too late for this, right?). So, should I start and struggle to learn to use svn (&lt;img src="http://feeds.feedburner.com/~r/KeepingItSimple/~4/iyUhvZrM4k0" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://karwin.blogspot.com/feeds/8236813963709417372/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5445766604096569596&amp;postID=8236813963709417372" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/8236813963709417372?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5445766604096569596/posts/default/8236813963709417372?v=2" /><link rel="alternate" type="text/html" href="http://karwin.blogspot.com/2009/01/do-i-really-need-version-control.html" title="Do I really need version control?" /><author><name>Bill Karwin</name><uri>http://www.blogger.com/profile/13004667086865377598</uri><email>bill@karwin.com</email><gd:extendedProperty name="OpenSocialUserId" value="06889406839662451840" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry></feed>
