<?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>Learning by Experience &#187; general</title> <atom:link href="http://www.inze.be/andries/category/general/feed/" rel="self" type="application/rss+xml" /><link>http://www.inze.be/andries</link> <description>Java, Project Management, Life and anything else.</description> <lastBuildDate>Mon, 09 Jan 2012 21:38:00 +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>Collection of software laws</title><link>http://www.inze.be/andries/2011/11/15/collection-of-software-laws/</link> <comments>http://www.inze.be/andries/2011/11/15/collection-of-software-laws/#comments</comments> <pubDate>Mon, 14 Nov 2011 22:42:31 +0000</pubDate> <dc:creator>Andries Inzé</dc:creator> <category><![CDATA[general]]></category> <guid
isPermaLink="false">http://www.inze.be/andries/?p=291</guid> <description><![CDATA[A collection of software laws&#8230; Postel’s Law Be conservative in what you send, liberal in what you accept. Parkinson’s Law Work expands so as to fill the time available for its completion. Pareto Principle For many phenomena, 80% of consequences stem from 20% of the causes Sturgeon’s Revelation Ninety percent of everything is crud. The [...]]]></description> <content:encoded><![CDATA[<p>A collection of software laws&#8230;</p><h2></h2><h2>Postel’s Law</h2><blockquote><p><em>Be conservative in what you send, liberal in what you accept.</em></p></blockquote><h2>Parkinson’s Law</h2><blockquote><p><em>Work expands so as to fill the time available for its completion.</em></p></blockquote><h2>Pareto Principle</h2><blockquote><p><em>For many phenomena, 80% of consequences stem from 20% of the causes</em></p></blockquote><h2>Sturgeon’s Revelation</h2><blockquote><p><em>Ninety percent of everything is crud.</em></p></blockquote><h2>The Peter Principle</h2><blockquote><p><em>In a hierarchy, every employee tends to rise to his level of incompetence.</em></p></blockquote><h2>Hofstadter’s Law</h2><blockquote><p><em>A task always takes longer than you expect, even when you take into account Hofstadter’s Law.</em></p></blockquote><h2>Murphy’s Law</h2><blockquote><p><em>If anything can go wrong, it will</em>.</p></blockquote><h2>Brook’s Law</h2><blockquote><p><em>Adding manpower to a late software project makes it later.</em></p></blockquote><h2>Conway’s Law</h2><blockquote><p><em>Any piece of software reflects the organizational structure that produced it</em></p></blockquote><h2>Kerchkhoff’s Principle</h2><blockquote><p><em>In cryptography, a system should be secure even if everything about the system, except for a small piece of information — the key — is public knowledge.</em></p></blockquote><h2>Linus’s Law</h2><blockquote><p><em>Given enough eyeballs, all </em><em>bugs</em><em> are shallow.</em></p></blockquote><h2>Reed’s Law</h2><blockquote><p><em>The utility of large networks, particularly social networks, scales exponentially with the size of the network.</em></p></blockquote><h2>Metcalfe’s Law</h2><blockquote><p><em>In network theory, the value of a system grows as approximately the square of the number of users of the system.</em></p></blockquote><h2>Moore’s Law</h2><blockquote><p><em>The number of transistors on an integrated circuit will double in about 18 months</em></p></blockquote><h2>Rock’s Law</h2><blockquote><p><em>The cost of a semiconductor chip fabrication plant doubles every four years.</em></p></blockquote><h2>Wirth’s law</h2><blockquote><p><em>Software gets slower faster than hardware gets faster.</em></p></blockquote><h2>Zawinski’s Law</h2><blockquote><p><em><em>Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.</em></em></p></blockquote><h2>Fitt’s Law</h2><blockquote><p><em>The time to acquire a target is a function of the distance to and the size of the target.</em></p></blockquote><h2>Hick’s Law</h2><blockquote><p><em>The time to make a decision is a function of the possible choices he or she has.</em></p></blockquote><h1 id="firstHeading">Lehman&#8217;s laws</h1><blockquote><p><em><span
class="Apple-style-span" style="font-size: 13px; font-weight: normal;"> Continuing Change — E-type systems must be continually adapted or they become progressively less satisfactory.</span></em></p><p><em><span
class="Apple-style-span" style="font-size: 13px; font-weight: normal;"> Increasing Complexity — As an E-type system evolves its complexity increases unless work is done to maintain or reduce it</span><span
class="Apple-style-span" style="font-weight: normal; font-size: 11px;">.</span></em></p></blockquote><p>I&#8217;m probably missing some, any idea&#8217;s?</p> ]]></content:encoded> <wfw:commentRss>http://www.inze.be/andries/2011/11/15/collection-of-software-laws/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>How to run statistics on SVN</title><link>http://www.inze.be/andries/2009/11/10/how-to-run-statistics-on-svn/</link> <comments>http://www.inze.be/andries/2009/11/10/how-to-run-statistics-on-svn/#comments</comments> <pubDate>Mon, 09 Nov 2009 22:03:32 +0000</pubDate> <dc:creator>Andries Inzé</dc:creator> <category><![CDATA[general]]></category> <category><![CDATA[jbpm]]></category> <category><![CDATA[management]]></category> <guid
isPermaLink="false">http://www.inze.be/andries/?p=199</guid> <description><![CDATA[Ever wondered who is &#8220;Developer of the month?&#8221;. I&#8217;ve found this great app that does just the thing&#8230; http://www.statsvn.org/ . I&#8217;ve taken the liberty to run it on the jBPM4 trunk, check it out here! From the quick start: Quick Start * Download the latest release from http://sourceforge.net/projects/statsvn/ * Expand the zip file into some [...]]]></description> <content:encoded><![CDATA[<p>Ever wondered who is &#8220;Developer of the month?&#8221;. I&#8217;ve found this great app that does just the thing&#8230; http://www.statsvn.org/ .<br
/> I&#8217;ve taken the liberty to run it on the jBPM4 trunk, check it out <a
href="http://www.inze.be/jbpm/statsvn/index.html">here!</a></p><p>From the quick start:</p><blockquote><pre>Quick Start
 * Download the latest release from http://sourceforge.net/projects/statsvn/
 * Expand the zip file into some directory, e.g c:\statsvn
 * Check out a working copy of the desired SVN module into
 some directory, e.g. c:\myproject.
 * Change into that directory and type
 'svn log --xml -v &gt; svn.log'
 * Change back to the c:\statsvn directory
 * type 'java -jar statsvn.jar c:\myproject\svn.log c:\myproject'
 * Open c:\statsvn\index.html in your web browser</pre></blockquote><p>Regards,<br
/> Andries</p> ]]></content:encoded> <wfw:commentRss>http://www.inze.be/andries/2009/11/10/how-to-run-statistics-on-svn/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Time management</title><link>http://www.inze.be/andries/2008/11/19/time-management/</link> <comments>http://www.inze.be/andries/2008/11/19/time-management/#comments</comments> <pubDate>Tue, 18 Nov 2008 22:35:58 +0000</pubDate> <dc:creator>Andries Inzé</dc:creator> <category><![CDATA[general]]></category> <category><![CDATA[management]]></category> <guid
isPermaLink="false">http://www.inze.be/andries/?p=80</guid> <description><![CDATA[Seven golden rules of time management I&#8217;m finishing The Last Lecture, a book I advice to any and all. Truly a life changing experience. Following paragraph is a synthesis from a chapter. Time must be explicitly managed, like money. You can always change your plan, but only if you have one. Learn to delegate. Ask [...]]]></description> <content:encoded><![CDATA[<h2>Seven golden rules of time management</h2><p>I&#8217;m finishing <a
href="http://www.amazon.com/Last-Lecture-Randy-Pausch/dp/1401323251/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1227047656&amp;sr=8-1">The Last Lecture</a>, a book I advice to any and all. Truly a life changing experience. Following paragraph is a synthesis from a chapter.</p><ol><li>Time must be explicitly managed, like money.</li><li>You can always change your plan, but only if you have one.</li><li>Learn to delegate.</li><li>Ask yourself: Are you spending your time on the right things. Prioritize and filter.</li><li>Develop a good file system. Order is efficient.</li><li>Rethink the telephone: do it either standing up or with a time pressure. Don&#8217;t spend your time with calling all the time.</li><li>Take time outs. Real timeouts without interruption.</li></ol><h2>Keep your inbox clean!</h2><p>I&#8217;m a big fan of GTD. Especially when applied to organizing your inbox. I spend quite a lot of time <strong>reading</strong> and <strong>writing </strong>mails, taking <strong>action </strong>on them, etc. My Outlook client is open all the time.</p><p>Before I worked with GTD, my inbox was <strong>staggering</strong>, mails could not always be responded within appropriate times or actions got <strong>lost</strong>. It&#8217;s not very pro if you have to receive reminder-mails.</p><p>Now my best advice is to follow these simple rules (copy/paste from the Wikipedia article <img
src='http://www.inze.be/andries/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ):</p><ul><li>Start at the <strong>top </strong>(In case of mails, this would be the oldest mail)</li><li>Deal with <strong>one item</strong> at a time.</li><li><strong>Never </strong>put anything back into <strong>&#8216;in&#8217;.</strong></li><li>If an item requires action:</li></ul><dl><dd><ul><li><strong>Do </strong>it (if it takes less than two minutes), OR</li><li><strong>Delegate </strong>it, OR</li><li><strong>Defer </strong>it.</li></ul></dd></dl><ul><li>If an item does not require action:</li></ul><dl><dd><ul><li>File it for <strong>reference</strong>, OR</li><li><strong>Throw </strong>it away, OR</li><li><strong>Incubate </strong>it for possible action later.</li></ul></dd></dl><p>If it takes under <strong>two minutes</strong> to do something, it should be done <strong>immediately</strong>. The two-minute rule is a guideline, encompassing roughly the time it would take to formally defer the action.</p><p>My inbox is in the end of the day almost <strong>always empty</strong>. More importantly, the easy-respond mails get done very fast, which gives a much <strong>faster average time</strong> on processing the mail. It really does!</p><p>If you like to see more on GTD, start with the <a
href="http://en.wikipedia.org/wiki/Getting_Things_Done">wikipedia page</a>. Also the <a
href="http://www.amazon.com/Getting-Things-Done-Stress-Free-Productivity/dp/0142000280/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1225235070&amp;sr=8-1">book</a> by David Allen is very good, so I&#8217;ve been told.</p><p>Until the next,</p><p>Andries</p> ]]></content:encoded> <wfw:commentRss>http://www.inze.be/andries/2008/11/19/time-management/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Backing up data using Amazon S3</title><link>http://www.inze.be/andries/2008/07/26/backing-up-data-using-amazon-s3/</link> <comments>http://www.inze.be/andries/2008/07/26/backing-up-data-using-amazon-s3/#comments</comments> <pubDate>Sat, 26 Jul 2008 08:48:57 +0000</pubDate> <dc:creator>Andries Inzé</dc:creator> <category><![CDATA[general]]></category> <guid
isPermaLink="false">http://www.inze.be/andries/?p=39</guid> <description><![CDATA[For years I have spend hours organizing and backing up all the pictures I took. At first I received digital cd&#8217;s because I had an analog camera, recent years I have a digital camera. I don&#8217;t have a RAID configuration, I do have over 1.5 TB of hard disks, and I spread the photo&#8217;s across [...]]]></description> <content:encoded><![CDATA[<p>For years I have spend hours organizing and backing up all the pictures I took. At first I received digital cd&#8217;s because I had an analog camera, recent years I have a digital camera.</p><p>I don&#8217;t have a RAID configuration, I do have over 1.5 TB of hard disks, and I spread the photo&#8217;s across several. It&#8217;s not super secure, since all disks are connected to the same computer&#8230;</p><p>This week I stumbled across <a
href="http://www.jungledisk.com/" target="_blank">jungledisk</a>, a frontend tool for the <a
href="http://www.amazon.com/gp/browse.html?node=16427261" target="_blank">Amazon S3 webservices</a>. The S3 provides data storages for 0.15$ per GB per month. This is far cheaper then any home made backup system, I&#8217;m sure.</p><p>Jungledisk provide a mount point (Win,Linux and Mac!) that contains your space on the S3. Whatever you copy onto it, will be cached and uploaded in the background. So it seems very fast. Files are cached locally so you don&#8217;t need to retrieve it from the webservice every time.</p><p>Now I&#8217;m confident my data is stored safely, without a hassle. I&#8217;m happy to pay for such a great service.</p> ]]></content:encoded> <wfw:commentRss>http://www.inze.be/andries/2008/07/26/backing-up-data-using-amazon-s3/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Should we discard Interfaces?</title><link>http://www.inze.be/andries/2008/05/17/should-we-discard-interfaces/</link> <comments>http://www.inze.be/andries/2008/05/17/should-we-discard-interfaces/#comments</comments> <pubDate>Sat, 17 May 2008 19:23:35 +0000</pubDate> <dc:creator>Andries Inzé</dc:creator> <category><![CDATA[general]]></category> <category><![CDATA[Java]]></category> <guid
isPermaLink="false">http://www.inze.be/andries/?p=29</guid> <description><![CDATA[Whether we are writing DAO&#8217;s, services or use case, most of the time we create interfaces for these implementations. It allows us to program against interfaces, a common best practice for all of us. Using interfaces gives us following advantages: Enables loose coupling between interacting classes Makes it easier to test Allows us to easily [...]]]></description> <content:encoded><![CDATA[<p>Whether we are writing DAO&#8217;s, services or use case, most of the time we create interfaces for these implementations. It allows us to <em>program against interfaces</em>, a common best practice for all of us. Using interfaces gives us following advantages:</p><ul><li>Enables loose coupling between interacting classes</li><li>Makes it easier to test</li><li>Allows us to easily switch between implementations.</li></ul><p>Lately, I&#8217;ve been openly questioning if we should always use interfaces. Are they always required by default and is the extra cost of keeping the interface and the implementation in sync worth the trouble? Lets discuss.</p><p>When we are using dependency injection, the coupling between one class and another is very low. It&#8217;s of course true that by injecting implementation instead of interfaces we are making the coupling a little tighter.  The classes are still in isolation, since neither creates a new instance. This is still done by the DI container, which deals with instantiation and configuration.</p><p>Is a class that only has interfaces as dependencies easier to test then classes that have implementations as dependencies? Most of us are eager to say yes, but in fact, frameworks like <a
href="http://www.easymock.org/">EasyMock </a>enable us to mock (non final) classes. We can add behavior just like any other interface.</p><p>When writing an application, it&#8217;s very rare to change the implementation of an interface. Almost all my interfaces have exactly one implementation. Sometimes this is not the case naturally, but I find it pretty easy to spot those implementation that might or will change in the near <em>foreseeable </em>future.</p><p>If we should reduce the amount of interfaces in our code, the advantages could be:</p><ul><li>Less classes which (should) equal to less configuration and maintenance</li><li>Less synchronization during development so results in a little faster velocity</li></ul><p>Anyway, this is purely speculative.</p><p>Let me state that I&#8217;m not thinking about actually dumping the interfaces. It&#8217;s a proven practice, but I&#8217;m think out loud and for myself. What I&#8217;m looking for is an insight or story that will convince me either way. So if you have any, I&#8217;m more then eager the hear!</p><p>Andries</p> ]]></content:encoded> <wfw:commentRss>http://www.inze.be/andries/2008/05/17/should-we-discard-interfaces/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Bugfixing: Easy Wins vs Risky Fixes first</title><link>http://www.inze.be/andries/2008/04/08/bugfixing-easy-wins-vs-risky-fixes-first/</link> <comments>http://www.inze.be/andries/2008/04/08/bugfixing-easy-wins-vs-risky-fixes-first/#comments</comments> <pubDate>Tue, 08 Apr 2008 21:29:15 +0000</pubDate> <dc:creator>Andries Inzé</dc:creator> <category><![CDATA[general]]></category> <guid
isPermaLink="false">http://www.inze.be/andries/?p=22</guid> <description><![CDATA[We are entering the final stage within my current project: testing and bug fixing. Now we have bugs coming in on a steady stream, but I started wondering how to choose the best bugs to start with. After some pondering, I came up with following: There are 2 special kinds of bugs, the easy wins [...]]]></description> <content:encoded><![CDATA[<p>We are entering the final stage within my current project: testing and bug fixing.</p><p>Now we have bugs coming in on a steady stream, but I started wondering how to choose the best bugs to start with. After some pondering, I came up with following:</p><p>There are 2 special kinds of bugs, the easy wins and the investment bugs.</p><p>Easy wins are bugs (small or large doesn&#8217;t matter) that are relative easy to fix. I didn&#8217;t say fast, since if it contains a large portion of the program, it could be taking more time then a more difficult bug. Instead it&#8217;s just something you know how to fix, like fixing a typo. You&#8217;ll spot an easy win when you see one.</p><p>Risky fixes are the pain. You need to make a critical adjustment before fixing the bug. Worse even, if you can&#8217;t guarantee for sure that no new bugs are introduced. It could be fixed fast, but may involve a hack. A good example is when you have done something a hundred times in one way, but then the 101st time something has to be done just a little different, and you need to change the code a little&#8230;</p><p>Anyway, now came the more important question: Do I fix the easy wins first, or go first for the risky fixes?</p><p>Fixing the hard ones first, seems like the most obvious choice. Start with the hardest, work your way down. Going a little bit further, you know that you might introduce new problems. In fact, you might introduce a new bug (feature!) into an already broken part. Tricky to fix, 2 bugs at one time&#8230; As always, but especially with the risky fixes, time needs to be invested to get to the best possible fix. So bug fixing is slow when starting with these ones first.</p><p>So, going for the easy win looked like a great way then? Well, it sure gets the bug fixing up &amp; running. One bug after an other gets tackled, leaving only a handful for the last period! But the last ones are going to introduce new ones, right? Actually we are giving a wrong image, the amount of bugs reported and not fixed might seem low, but the work behind them is still large.</p><p>I finally decided to go for the risky fixes first, for the following reason: when introducing new bugs by doing the risky fixes, the chance that those bugs are spotted is larger because</p><ul><li>The time spend testing is larger since the bugs are fixed at the beginning of the test phase,</li><li>the other bugs need to be fixed as well, which might expose new bugs (not create) when fixing an easy win bug.</li></ul><p>Last but not least, I&#8217;d like to close with a final thought. I don&#8217;t like it when 2 of my developers are doing a risky fix on nearby code. When one of the two go wrong, it&#8217;s a little harder to spot which of the 2 caused the problem. I like to mix and match, letting the risky ones go first 1 at a time, filling the rest with easy wins. Luckily, the easy wins outnumber the risky fixes!</p> ]]></content:encoded> <wfw:commentRss>http://www.inze.be/andries/2008/04/08/bugfixing-easy-wins-vs-risky-fixes-first/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Optimize your life</title><link>http://www.inze.be/andries/2008/02/19/optimize-your-life/</link> <comments>http://www.inze.be/andries/2008/02/19/optimize-your-life/#comments</comments> <pubDate>Tue, 19 Feb 2008 20:40:22 +0000</pubDate> <dc:creator>Andries Inzé</dc:creator> <category><![CDATA[breadth]]></category> <category><![CDATA[general]]></category> <category><![CDATA[management]]></category> <guid
isPermaLink="false">http://www.inze.be/andries/?p=20</guid> <description><![CDATA[After graduation, quite a bit changed in my life. I started my professional career, became more intrested in hard work, started to invest in myself as a person. Very fast I started to find out -quoting a colleague now- that there are (only) 24h in a day. What will we do with it? That just [...]]]></description> <content:encoded><![CDATA[<p>After graduation, quite a bit changed in my life. I started my professional career, became more intrested in hard work, started to invest in myself as a person. Very fast I started to find out -quoting a colleague now- that there are (only) 24h in a day. What will we do with it? That just up to us. The more interesting (and important) question is: how do we use it? Do we squander time or do we use it as efficient as possible? If you are anything like me more then a year ago, you don&#8217;t hold still at the latter. We just do what we want, <u>if there is time</u>.</p><p>In this post I&#8217;ll share some of the lessons I&#8217;ve learned to efficiently use the time that was given to us. I&#8217;ll try to prioritize and put the more important ones on top.</p><h2>Set  goals</h2><p>It&#8217;s a biggie, one should stop and really answer the question: <em>What do I want to accomplish</em>? I use a great tool for this: <a
href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">FreeMind</a>. It&#8217;s a mind mapper that really works for me (Helping by reporting bugs btw).</p><p>If you set goals, one can work efficiently in the <strong>right direction</strong>. If you just follow <em>your gut feeling, </em>you&#8217;ll change more directions then socks. Keeping clear goals allows you to set <strong>milestones </strong>into your life. Reaching milestones are from my experience, the ultimate thrill. Goals can be very long term, but try and pinpoint milestones, no more then a handful, that are within reach.</p><p>Of course milestones and goals will change. But since you made a rational decision about setting a goal, it&#8217;s harder to toss it away later. There is an <strong>investment </strong>in a goal already, that you just don&#8217;t want to lose.</p><p>Let&#8217;s look at an example: imaging you want to learn how to learn to cook (is one of my goals btw). Since you don&#8217;t know how to cook, the first milestone is easy. Get an easy cookbook. Get good cooking gear (What&#8217;s that? Finding out is also a milestone) . Decide what kind of cooking interests you, etc etc.</p><h2>Plan out your days</h2><p>Eisenhower once said: <em>Plans are worthless, but planning is everything</em>.</p><p>Don&#8217;t waste time doing nothing, instead plan out what you will do. Don&#8217;t over plan, but at least firmly lay down what should be done in the day. Once plans are made, it&#8217;s easier to finish everything. Less distractions (what to do next?) means more <strong>effective time</strong> used.</p><h2>Prioritize</h2><p>Learning how to prioritize, prevents <strong>important tasks</strong> not being done. Doing the most important right away (when appropriate) is a very efficient way to get things done. Don&#8217;t waste time doing very lower priority items, while important stuff needs to be addressed.</p><p>Another related item: <strong>make time available.</strong> This is not easy, sometimes to get something done, something has to be discarded. Wanting to do everything, or worse wanting to do a little bit of everything, is the perfect formula of actually doing nothing at all. I made time to finish this also, it was &#8216;done&#8217; for weeks now but hadn&#8217;t reviewed it.</p><h2>Organize tasks</h2><p>Tasks should be organized. Keep a to-do list, keep track of items in progress. Keep a good schedule. Tasks should have <strong>a finish</strong>. Clean room isn&#8217;t a real task. When is a room clean? Better would be: pick up clothes, clear dust and make the bed. For IT related tasks, keep following in mind: <a
href="http://en.wikipedia.org/wiki/SMART_%28project_management%29">SMART</a>.</p><h2>Learn to sleep less.</h2><p>I used to sleep 8h straight, every day. After a couple of months of <em>training</em>, this can be reduced easily (at least of me) into a 5h nap. A couple of hours extra daytime is the difference between doing nothing but work all day, and having some time to <strong>do something you like</strong>.</p><p>A couple of tips to start sleeping less:</p><ul><li>Go to bed and get up on a tight schedule during the week. It really helps to train your body to start sleep right after you go to bed. Getting up also gets easier when it&#8217;s on the same time every day. Don&#8217;t snooze half an hour, cause it&#8217;s just<strong> teasing and it&#8217;s very inefficient</strong>.</li><li>Don&#8217;t start skimping an hour of sleep. Start small, like 10min. Get into a rythme getting to bed at a regular hour. After you are used to the shorter sleep time, stay up another 10-15min. Again wait until you are adjusted before reducing the sleep any further.</li><li>Don&#8217;t work during those extra hours of daytime! Instead spent time on yourself. Do something you didn&#8217;t have time before. Read a book, watch a movie or have sex. Do something you feel is a bonus on your day. Trust me, it&#8217;s really import to keep the sleep from setting in. Once you are doing this for a some time, you can work from time to time, since you don&#8217;t feel tired before you normal sleep time.</li><li>Don&#8217;t under sleep. I tried going below 5h15min/day  but I felt bad during the day. I wouldn&#8217;t die at that rate, but I didn&#8217;t enjoy myself. Don&#8217;t under sleep!</li><li>Caffeine is your best friend!</li></ul><p>As always, feedback is appreciated!</p><p>Regards,<br
/> Andries</p> ]]></content:encoded> <wfw:commentRss>http://www.inze.be/andries/2008/02/19/optimize-your-life/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How to Rate a Software Developer</title><link>http://www.inze.be/andries/2007/08/28/how-to-rate-a-software-developer/</link> <comments>http://www.inze.be/andries/2007/08/28/how-to-rate-a-software-developer/#comments</comments> <pubDate>Tue, 28 Aug 2007 19:00:58 +0000</pubDate> <dc:creator>Andries Inzé</dc:creator> <category><![CDATA[general]]></category> <guid
isPermaLink="false">http://www.inze.be/andries/?p=14</guid> <description><![CDATA[A great post about being a better developer!]]></description> <content:encoded><![CDATA[<p>A great post about <a
href="http://www.realsoftwaredevelopment.com/2007/08/how-to-rate-a-s.html">being a better developer</a>!</p> ]]></content:encoded> <wfw:commentRss>http://www.inze.be/andries/2007/08/28/how-to-rate-a-software-developer/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Invest in yourself</title><link>http://www.inze.be/andries/2007/07/18/invest-in-yourself/</link> <comments>http://www.inze.be/andries/2007/07/18/invest-in-yourself/#comments</comments> <pubDate>Wed, 18 Jul 2007 19:28:25 +0000</pubDate> <dc:creator>Andries Inzé</dc:creator> <category><![CDATA[general]]></category> <guid
isPermaLink="false">http://www.inze.be/andries/?p=12</guid> <description><![CDATA[As I grow in my professional life, I&#8217;m see that it&#8217;s very important to be well informed. When you are doing a project, it&#8217;s hard to keep up with the rest of the technologies that aren&#8217;t in the project. I made a deal with myself months ago, to keep investing in myself. You only live [...]]]></description> <content:encoded><![CDATA[<p>As I grow in my professional life, I&#8217;m see that it&#8217;s very important to be well informed. When you are doing a project, it&#8217;s hard to keep up with the rest of the technologies that aren&#8217;t in the project. I made a deal with myself months ago, to keep investing in myself. You only live once, right?<br
/> Since I&#8217;m fairly new as a professional developer, I found the best way to improve myself is to keep broadening my knowledge.</p><p><strong>Depth first or breadth first?</strong></p><p>Should I learn as many topics as I can, learning as many different technologies? Or should I pick a few, learning everything there is about them? I believe I should do both because the following reason. To go into depth on a technology, learning everything their is about it, you need to have on hand experience with the technology. I&#8217;ve found, the best time to learn a technology is to learn it as you are working with it on a project. It enables you to work faster in the project, deliver better quality since you understand the technology better.</p><p>Breath first studying is more suited for general knowledge, best practices, project management and so on. I&#8217;ve found that reading blogs really helps to keep up with the fast it-world.</p><p><strong>Find the resources</strong></p><p>I get my general information from RSS feeds. There are some good aggregators out there, like <a
href="http://www.dzone.com/">dzone.</a> I use <a
href="http://weblogs.java.net/">Java weblogs</a> , <a
href="http://developers.sun.com/rss/sdn.xml">SDN</a>, <a
href="http://www.javalobby.org/" target="_blank">JavaLobby</a>, <a
href="http://developers.sun.com/rss/sdn.xml"></a><a
href="http://www.onjava.com/">OnJava .</a></p><p>Further, there are some very interesting people out there. <a
href="http://www.joelonsoftware.com/" target="_blank">Joel</a> , <a
href="http://http://www.jroller.com/kbaum/" target="_blank">Karl Baum</a>, <a
href="http://raibledesigns.com/rd/">Raible Design</a>, <a
href="http://blogs.sun.com/roller/page/jag" target="_blank">James Gosling</a>, <a
href="http://pveentjer.wordpress.com/" target="_blank">Peter Veentjer</a> are my personal favourites.</p><p>Other resources are books. Some books are absolutely a goldmine. Since I started working as a pro, I&#8217;ve read following books:</p><ul><li><em>Effective Java by Josh Bloch</em>. I definitely LOVED this book. This one really teaches a lot about good solid programming. Probably the best book if you want to learn to code like a pro.</li><li><em> Head First Design Patterns</em>. Another great book. I knew at first some of the GoF patterns, but after reading the book it gave me a great insight into some of the nicer coding styles. It is a good addition to the Effective Java, since this book does cover best practices on a larger scale.</li><li><em>Expert Spring MVC and Webflow</em>. As preparation for my first project, which was in Spring and WebFlow, this book provided a lot of information. The Spring MVC part (which is the largest part by far), is really good. It doesn&#8217;t cover everything, but provides a very solid basis for this technology. The webflow part is very outdated. I could not find 1 code example that actually works as is. The code is based on release candidates and the code base changed a lot during that time. It&#8217;s frustrating and hard, I don&#8217;t recommend learning webflow from it.</li><li><em>Java  Persistence with Hibernate</em>. I love Hibernate, and this is the definite guide to it. (There is Hibernate in Action, which was the predecessor). Now this book is not easy, but it starts from the base. After reading this book, you know everything there is about hibernate.</li></ul><p>I&#8217;ve read some more books, but these were my favourites.</p><p>Then thirdly I use forums to expand my expertise. Currently I&#8217;m fairly active on the Spring forums. Helping others truly does help yourself. It makes you think about certain problems, and to be honest it&#8217;s hard to provide adequate answers. Also you are involved in problems you don&#8217;t experienced in real life. The next time you would have that particular problem, the answer you&#8217;ve read will help you straight away.</p><p>Lastly, I&#8217;d like to point out that I&#8217;m using this blog as an investment in myself. Learning to formulate my thought into a solid text is very hard for me. I spend time trying, and by trying I&#8217;m learning. It easy to know something but hard to express it into an understandable way to other. I believe this blog will eventually help me communicate (by letter mostly) to other people.</p><p>As always, I&#8217;d love to answer to any comments you might have. Thanks for reading and see you the next time!</p> ]]></content:encoded> <wfw:commentRss>http://www.inze.be/andries/2007/07/18/invest-in-yourself/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> </channel> </rss>
