<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>BasVodde</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://www.odd-e.com/blog/atom.xml" />
    <id>tag:www.odd-e.com,2007-12-28:/blog//2</id>
    <updated>2008-11-03T09:50:28Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.01</generator>

<entry>
    <title>Presentation at the Scan-Agile conference</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/11/presentation-at-the-scanagile.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.726</id>

    <published>2008-11-03T09:42:00Z</published>
    <updated>2008-11-03T09:50:28Z</updated>

    <summary>Last week, I was at the Scan-Agile conference in Helsinki. I did a completely new presentation which I called &quot;Journey through product development literature&quot;. It was a new style of presentation that only consisted of quotes from different books. I...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[Last week, I was at the Scan-Agile conference in Helsinki. I did a completely new presentation which I called "Journey through product development literature". It was a new style of presentation that only consisted of quotes from different books. I had a lot of fun making and doing the presentation.<br /><br />I got some requests to list the books I talked about. Here they are:<br /><ul><li>Hackers &amp; Painters - Paul Graham</li><li>How to Read a Book - Adler, Van Doren</li><li>Dynamic Manufacturing - Hayes, Wheelwright and Clark</li><li>Toyota Culture - Liker, Hoseus</li><li>Just in Time - Ohno</li><li>8th Habit - Covey</li><li>Clean Code - Martin</li><li>Hard Facts - Pfeffer, Sutton</li><li>Cross-Functional Teams - Parker</li><li>Flexible Product Development - Smith</li><li>Winning with Products - Cooper</li><li>Product Development Performance - Clark, Fujimoto</li><li>Revolutionizing Product Development - Clark, Wheelwright</li><li>Fast Cycle Time - Meyer</li><li>Designing Team-Based Organizations - Mohrman, Cohen</li><li>The Discipline of Teams - Kaztenbach, Smith</li><li>Wisdom of Teams - Katzenbach, Smith</li><li>Leading Teams - Hackman</li><li>X-Teams - Ancona, Bresman</li><li>Reflections on Quality - Crosby</li><li>Teams at the Top - Katzenbach</li><li>Leading Self-Directed Teams - Fisher</li></ul>Not all of the books are recommended reading though :) Some of the really good (and modern) ones are "Leading Teams", "Fast Cycle Time", "Toyota Culture" and "Hard Facts"<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>Function pointer link stubs</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/09/function-pointer-link-stubs.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.725</id>

    <published>2008-09-13T09:48:16Z</published>
    <updated>2008-09-13T09:52:43Z</updated>

    <summary>Last week been test-driving some C code again and found that not much people are familiar with the &quot;function pointer link stub&quot;. This is an excellent technique in C to dynamically replace library calls without adjusting the library.Imagine, you are...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />Last week been test-driving some C code again and found that not much people are familiar with the "function pointer link stub". This is an excellent technique in C to dynamically replace library calls without adjusting the library.<br /><br />Imagine, you are working on some embedded software. You will have a couple of libraries that you use, but you won't link to it when unit testing. Instead you stub them out. But, a link stub cannot be adjusted on run-time, so how do you handle this? With... "function pointer link stubs".<br /><br />The idea is simple. You stub out the library and your stub calls a function pointer when its set. When not set, it just returns success.<br /><br />Here is some example code:<br /><br />.h (in a library where we cannot change the header)<br /><br />int aLibraryCallWeCannotChange(int param);<br /><br />----------------<br />aLibraryStub.h<br /><br />extern int (*aLibraryCallWeCannotChangeFp)(int param);<br /><br />-----------------<br />aLibraryStub.c<br /><br />int aLibraryCallWeCannotChange(int param)<br />{<br />&nbsp;&nbsp;&nbsp; if (aLibraryCallWeCannotChangeFp) aLibraryCallWeCannotChangeFp(param);<br />&nbsp;&nbsp;&nbsp; return 0;<br />}<br /><br />int (*aLibraryCallWeCannotChangeFp)(int param) = NULL;<br /><br />-------------------------<br />TestThatUsesLibrary.cpp<br /><br />TEST_GROUP(blah)<br />{<br />&nbsp;&nbsp;&nbsp; void setup()<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UT_PTR_SET(aLibraryCallWeCannotChangeFp, dynamicStubOfALibraryCall);<br />&nbsp;&nbsp;&nbsp; }<br />}<br /><br />Now it is easy to place the code of your stub close to your tests and you will never have to change the linker stub code.<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Agile Portfolio Management</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/08/agile-portfolio-management.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.724</id>

    <published>2008-08-16T06:47:21Z</published>
    <updated>2008-08-16T06:55:48Z</updated>

    <summary>Last week, I finally received the new &quot;Agile Portfolio Management&quot; book, a book I was looking forward to reading. Organizational issues related to Agile are important since most people assume Agile development does not affect organizational issues, but nothing could...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />Last week, I finally received the new "Agile Portfolio Management" book, a book I was looking forward to reading. Organizational issues related to Agile are important since most people assume Agile development does not affect organizational issues, but nothing could be further from the truth. When adopting agile development in product development then every aspect of the organization will need to change to make the total organization more flexible. An overstatement? No. Don't forget that Agile development has few *new* ideas and combines a whole bunch of existing practices. If you dive in the existing practices like cross-functional teams, lean, self-organizing team, etc, then every single one of these will state that adopting these practices will have an organizational-wide effect. So the combination of these have an even larger organizational-wide effort--most practices in an organization will need to change.<br /><br />So, I was excited about Jochen Krebs book on portfolio management, but found it a complete disappointment. I won't recommend anyone to read that. Just improved editing would have made the book already a lot better... <br /><br />Anyways, I made an Amazon review <a href="http://www.amazon.com/gp/product/0735625670/ref=cm_cr_mts_prod_img">here</a> I'm happy with Jochens attempt and good that there is finally a book on this subject, though I think there is room for more insightful and more thorough books related to this.<br />]]>
        
    </content>
</entry>

<entry>
    <title>Agile 2008 in Toronto</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/08/agile-2008-in-toronto.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.722</id>

    <published>2008-08-12T02:42:12Z</published>
    <updated>2008-08-12T02:52:38Z</updated>

    <summary>This week... I&apos;m jetlagged. Because, last week I was in Toronto (which is 12h timezone difference from where I live) and joining the Agile2008 conference. It was an excellent conference. I had a lot of fun and it was so...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />This week... I'm jetlagged. Because, last week I was in Toronto (which is 12h timezone difference from where I live) and joining the Agile2008 conference. It was an excellent conference. I had a lot of fun and it was so great meeting people whom I hadn't seen for a long time (living on the other side of the world as most people sometimes has its drawbacks).<br /><br />What was best? I loved Jim McCarthy's talk on the core protocols. I've been following his work for a long time, but had never met him before. He is an excellent and funny speaker. Joshua Kerievsky has an excellent talk on transitioning with the best video on legacy code I've seen. I need to get that video from him :) Also his refactoring strategies was useful, especially the names he invented for different refactoring strategies. Clinton Keiths talk on games development was really good and well prepared. In enjoyed these sessions most.<br /><br />What was worst? Alan Coopers keynote was beautiful, but the content made me sad. I had a hard time not walking out. He still keeps insisting to have four different phases for software development. It doesn't seem that he has any experience related to working in Agile product development. There was a session on enterprise agile metrics. I walked out on that one, it was simply not interesting. Michal Mah was the presenter.<br /><br />I had 2 sessions myself. One related to feature teams and a TDD in C session. Both went well and it seemed people liked both. Especially the TDD in C had exceptional feedback with people thanking me and Michael for giving them a different view on development in C. I was also fun to see people struggle with the language.<br /><br />But as with every conference, the best was meeting all people. A whole bunch of people from Japan, Korea and China, who I worked with in the past were all there. Also a whole lot of Finnish people, some Dutch and some other people I worked with in the past. Conferences like this one is the only chance for me to see them and catch up on what they are doing. It was a tiring week, but well worth it. I'm looking forward to next year... Chicago (same far away)<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>New book -&gt; Feature Teams</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/07/new-book-feature-teams.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.718</id>

    <published>2008-07-19T03:17:17Z</published>
    <updated>2008-07-19T03:20:08Z</updated>

    <summary>At the moment, most of my time is spend writing on the new book which I&apos;m writing with Craig Larman. Writing is awfully hard, but I&apos;m learning and Craig is helping me a lot fixing my poor writing skills.Recently we...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />At the moment, most of my time is spend writing on the new book which I'm writing with Craig Larman. Writing is awfully hard, but I'm learning and Craig is helping me a lot fixing my poor writing skills.<br /><br />Recently we pre-published one of the chapters on Feature Teams on InfoQ. You can read the whole chapter over there. The rest of the book should be in the store in December, hope we'll make it. We have to :)<br /><br /><a href="http://www.infoq.com/articles/scaling-lean-agile-feature-teams">This is the link to the InfoQ feature team chapter.</a><br />]]>
        
    </content>
</entry>

<entry>
    <title>Emergent Design</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/07/emergent-design.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.717</id>

    <published>2008-07-17T05:58:12Z</published>
    <updated>2008-07-17T06:00:07Z</updated>

    <summary>I just finished the fairly new book from Scott Bain called &quot;Emergent Design&quot;. The book was good and I was disappointed. I expected much more, based on the title, but the book basically was just a summary of good agile...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />I just finished the fairly new book from Scott Bain called "Emergent Design". The book was good and I was disappointed. I expected much more, based on the title, but the book basically was just a summary of good agile practices.<br /><br />I did write a fairly large Amazon review on this one. You can find it <a href="http://www.amazon.com/review/R2XZE9PAQDVPWI/ref=cm_cr_pr_viewpnt#R2XZE9PAQDVPWI">here</a><br /><br /><br />A good book on Emergent design and architecture is still needed though! Hope someone will write it soon.<br />]]>
        
    </content>
</entry>

<entry>
    <title>Stuff in Singapore</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/07/stuff-in-singapore.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.714</id>

    <published>2008-07-12T01:28:27Z</published>
    <updated>2008-07-12T01:34:04Z</updated>

    <summary>Hmm.. I had posted a pretty large entry 2 weeks ago, but something went wrong and it never got posted. Too bad. Anyways, it was a book recommendation about &quot;Project Managers Bridge to Agility&quot; which, even though there is all...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />Hmm.. I had posted a pretty large entry 2 weeks ago, but something went wrong and it never got posted. Too bad. Anyways, it was a book recommendation about "Project Managers Bridge to Agility" which, even though there is all this "agile project manager" talk, still a very good book. It's written by Stacia and Michele, two Scrum Trainers.<br /><br />Since May, I've moved to Singapore and now in Singapore spending most of my writing my new book together with Craig Larman on Scaling Agile and Lean Development. First weeks I got stuck somewhat and didn't make much progress, did a lot of study and tried different forms for the "teams chapter" but now finally I seem to be out of my stuckness and we are making some serious progress. Lets hope we can keep this pace and then it will be in the store in December.<br /><br />Singapore is a great place to live! It's nice and warm, the food is good and there is a huge variety of people. I'm enjoying my time here a lot. Unfortunately, I'll need to travel a lot again in the end of 2H... China, Japan, Finland, US, HongKong, Sweden are some of the places planned :(<br /><br />Scrum in Singapore is not yet huge, we're trying to build some community here and also will give another Scrum Master training in August. I hope more people will join that!<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>The dark side of C++</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/06/the-dark-side-of-c.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.709</id>

    <published>2008-06-04T13:50:24Z</published>
    <updated>2008-06-04T13:51:32Z</updated>

    <summary>Mike Feathers pointed me to this excellent FQA about C++:http://yosefk.com/c++fqa/I especially like the C/C++ things in there. Bumped my head to most of these in the past :)...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />Mike Feathers pointed me to this excellent FQA about C++:<br />http://yosefk.com/c++fqa/<br /><br />I especially like the C/C++ things in there. Bumped my head to most of these in the past :)<br /><br /><br /> ]]>
        
    </content>
</entry>

<entry>
    <title>More Scrum in Japan</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/05/more-scrum-in-japan.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.708</id>

    <published>2008-05-30T11:22:38Z</published>
    <updated>2008-05-30T11:36:57Z</updated>

    <summary>Earlier this week I was in Tokyo again. Tokyo is a city I always like visiting. Good food, big and always interesting new things for a non-Japanese to discover. One of the interesting bits this time was the line in...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />Earlier this week I was in Tokyo again. Tokyo is a city I always like visiting. Good food, big and always interesting new things for a non-Japanese to discover. One of the interesting bits this time was the line in front of the Doughnut store near ShinJuKu. When I lived in China, I've seen lines in front of McDonalds (not common anymore nowadays though, there are too many McDonalds (unfortunately)) and lines in front of Pizza Hut (still quite common), but never had I seen a line in front of a simple Doughnut shop. My wife thought they must have some special promotion, but I noticed that there were iron fences (for lines), suggesting its common. We asked E. (a friend I work with) and he mentioned it has been there every day ever since the store opened three years ago. Interesting...<br /><br />Anyways, in Tokyo me and E. were giving the second public Scrum Master training in Tokyo. This time we used simultaneous translation devices (I don't speak Japanese, he translates excellent!). It turned out to work pretty well. I enjoy giving training like that. It has new challenges again since I need to synchronize my talking with my translator and also will sometimes hear an echo in Japanese. (Also have an earphone in my ear the whole training)<br /><br />Again learned lots of new things about cultures and Scrum. Also visited a couple companies and had some discussion on their Scrum implementations. All-in-all, a successful training (from my perspective), a nice visit and hopefully helped the Japanese Scrum usage a little further.<br /><br />Now back in the biggest Scrum-country in the world... Finland.<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Lean Product and Process Development Exchange - Denver</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/05/lean-product-and-process-devel.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.706</id>

    <published>2008-05-15T03:44:12Z</published>
    <updated>2008-05-15T03:51:22Z</updated>

    <summary>About 2 weeks ago I was in Denver on the Lean Product and Process Development Exchange. This was a small conference which focused on lean product development (not just SW). I was invited by Marry Poppendieck to come and speak...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />About 2 weeks ago I was in Denver on the Lean Product and Process Development Exchange. This was a small conference which focused on lean product development (not just SW). I was invited by Marry Poppendieck to come and speak on a panel she was organizing together with Peter (Xerox), Glenn (Spaceshuttles) and Patrick (Intel).<br /><br />Even though I had a huge jetlag most of the time (11 hours timezone difference and a 36 hour trip), the conference was very good. The presentation held were very impressive and interesting. One of the most interesting take-aways for me was the use of test-first development outside of Software. It has a completely different meaning, but still is based on similar concepts. I really enjoyed the conference focus on knowledge creation. The only annoying thing to me was that there was still quite a lot of focus on tools and silver bullets, though people told me that compared to other conferences, there wasn't much.<br /><br />Our Lean Software panel turned out to be more short presentations. I presented on feature teams and stop organizing product development using projects. People told me it was interesting, so that makes it successful. I enjoyed my co-panelists talks a lot too, about Scrum, legacy and space shuttles :) Also enjoyed the discussion we had and sharing some good (and bad) experiences.<br /><br />The conference was definitively worth it. Next year they will organize another one, so you might want to join that. You can find the presentation of the conference <a href="http://lppde.org/2008ConferenceSite/2008followup.php">here</a><br />]]>
        
    </content>
</entry>

<entry>
    <title>CppUTest TestPlugin changes</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/04/cpputest-testplugin-changes.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.705</id>

    <published>2008-04-06T08:42:17Z</published>
    <updated>2008-04-06T09:00:38Z</updated>

    <summary>I&apos;ve recently made some very kewl CppUTest changes (at least, I think they are nice). CppUTest has a TestPlugin design. This means that you can write &quot;Plugins&quot; and add them in your main method. The Plugins is called before every...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />I've recently made some very kewl <a href="http://sourceforge.net/projects/cpputest/">CppUTest</a> changes (at least, I think they are nice). CppUTest has a TestPlugin design. This means that you can write "Plugins" and add them in your main method. The Plugins is called before every setup and after ever teardown (automatically). This enables you to add general checking of things and works especially well with stubbing out some of the OS things.<br /><br />Let me give some better example. For some embedded project I wrote some MutexPlugin. We stubbed out all the mutex locks and unlocks in the unit tests. Then, instead of doings mutex locks, I'd record the lock plus filename, linenumber (using macro magic and __FILE__ and __LINE__). Then I wrote the MutexPlugin which checks the the records to see if there is no inconsistency (dangling mutex, double locked mutex etc).<br /><br />Then we'll install the Plugin in the main like this:<br /><br />MutexPlugin mutexPlugin;<br />TestRegistry::getCurrentRegistry()-&gt;installPlugin(&amp;mutexPlugin);<br /><br />Now every test you ever write will automatically have mutex consistency checking and will fail automatically if there is something not consistent. Now... this is nothing new, we added this support to CppUTest already some time ago. However, now I added support for command line options to the TestPlugin. So, via command line, you can pass options to your Plugin by the -p option (CppUtest will pass all the -p options to all the installed plugins to see if they know what they mean, if none uses them then it will report an error).<br /><br />So,&nbsp; what you can do with this? Well, if we take our MutexPlugin as example, we can add a -pMutexVerbose option to the plugin which will output all the mutex locks and unlocks (again, plus line and file). That's a rather handy debugging and profiling option (especially combined with the -n option to run just one test). I did the same with the MemoryLeak plugin, so that you can dump all the dynamic memory allocations on your screen by just adding a command line option. (didn't check this in yet!)<br /><br />The TestPlugin code is in souceforge. Some code (related to help options) is still missing, need to add that later.<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Traveling and moving</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2008/03/traveling-and-moving.html" />
    <id>tag:www.odd-e.com,2008:/blog//2.704</id>

    <published>2008-03-30T05:29:10Z</published>
    <updated>2008-03-30T05:34:27Z</updated>

    <summary>Phew. It&apos;s been a while since I wrote something here. Life has been insane for me.This year, I&apos;ve been traveling probably around 80% of my time. It feels like I&apos;ve been more in planes than out of planes. I was...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[<br />Phew. It's been a while since I wrote something here. Life has been insane for me.<br /><br />This year, I've been traveling probably around 80% of my time. It feels like I've been more in planes than out of planes. I was in Korea, India (a couple times), Singapore (a couple times), Malaysia, Japan, Finland, Hungary, Holland and US (a couple places). Now I'm not traveling since I need to lengthen my Visa for China. Also, these are exciting times since I will be moving again, more about that later.<br /><br />What have I been up-to? Writing of the book (and an article for CrossTalks). Much training. Preparing for the move. Some TDD coaching and work on build scripts (the fun part of work). Also made some adjustments to CppUtest, I still need to commit them to the SourceForge repos though.<br /><br />Hope to be blogging some more later. For now, I do have to say (I promised) that also Kuala Lumpur is actually quite a nice city. I visited it for the first time earlier this year and was positively surprised.<br /><br />More later.]]>
        
    </content>
</entry>

<entry>
    <title>Function to Function Pointer refactoring</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2007/12/function-to-function-pointer-r.html" />
    <id>tag:www.odd-e,2007:/blog//2.682</id>

    <published>2007-12-08T19:02:41Z</published>
    <updated>2007-12-29T04:21:31Z</updated>

    <summary> Last week I had some time to work on some C legacy code again and write some unit tests. I&apos;ve been playing with a refactoring that I&apos;ve used in the past and now use it all the time when...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[
<p>Last week I had some time to work on some C legacy code again and write some unit tests. I've been playing with a refactoring that I've used in the past and now use it all the time when working in C. The refactoring is called "function to function pointer" and is fairly trivial to do and save in legacy code. It gives a lot of flexibility.</p>

<p>The steps are:
</p><ol>
  <li>Change function prototype to function pointer in the header (just adding (*name)). Make sure it's extern</li>
  <li>Rename the function in the .c file to name_impl, or something non conflicting.</li>
  <li>At the end of the .c file. Initialize the function pointer with the _impl one.</li></ol>

<p>That's it. Just takes a few seconds and it allows you to dynamically replace the function in your unit tests. It makes unit testing code in C a lot easier. (there are also some variants, but this is the easiest and most basic version)
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Toyota Museum</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2007/11/toyota-museum.html" />
    <id>tag:www.odd-e,2007:/blog//2.683</id>

    <published>2007-11-17T14:15:42Z</published>
    <updated>2007-12-29T04:21:31Z</updated>

    <summary> The second day in Nagoya, Craig and me went to the Toyota museum. At first we wondered if we would be able to spend the whole day there, though in the end we got removed from the museum because...</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[
<p>The second day in Nagoya, Craig and me went to the Toyota museum. At first we wondered if we would be able to spend the whole day there, though in the end we got removed from the museum because they were closing.</p>

<p>The Toyota museum is close to the Nagoya station. It's split into 2 parts, the first part contains the Toyota looms and the second part related to Toyota automobiles. We first went through the loom part and thus thought the history and creation of the Toyoda spinning and weaving company. All the looms were pretty impressive and they had videos explaining the history of things and how everything works (so, I now know a lot more about spinning and weaving than I ever could have imagined). One of the nicest things was that the museum personnel would actually demonstrate most of the looms, even the very large and modern ones which are created these days.</p>

<p>The second part of the museum contained the automobile things. It was divided into three big sections. The first one was the evolution of the automobile, especially the different parts. The second part was the evolution of the manufacturing processes and the last part just showed the evolution of the cars themselves (so, different models etc). We spend quite some time in understanding the automobile parts and evolution, but wanted to move on to the manufacturing since that's what we came for. At first we were slightly disappointed since they just showed machines and didn't talk much about TPS. Though the die press machine was impressive. Finally we found that in the center of the room there was a TPS section with videos and explanation of the history, so we spend the last hour there. We didn't have time to see the automobiles and some other sections of the museum. Maybe someday, we'll be back to see the last parts.</p>

<p>Anyways, the trip was a nice success.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Visit to Toyota</title>
    <link rel="alternate" type="text/html" href="http://www.odd-e.com/blog/2007/11/visit-to-toyota.html" />
    <id>tag:www.odd-e,2007:/blog//2.684</id>

    <published>2007-11-11T23:02:45Z</published>
    <updated>2007-12-29T04:21:31Z</updated>

    <summary> My first day in Nagoya was spend quite relaxed. I tried to recover from the trip and also from the training the day before. I met up with Craig and Kenji, who were going to join me to Toyota....</summary>
    <author>
        <name>Bas Vodde</name>
        <uri>www.odd-e.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.odd-e.com/blog/">
        <![CDATA[
<p>My first day in Nagoya was spend quite relaxed. I tried to recover from the trip and also from the training the day before. I met up with Craig and Kenji, who were going to join me to Toyota.</p>

<p>Today we went to the Toyota factory. After about an hour trip from the Nagoya central station we arrived in Toyota City. Toyota city is a city that was renamed after Toyota in 1959 because Toyota was building all their factories in the city or neighbourhood. About half the people who work in Toyota in Japan, work in Toyota city.</p>

<p>We first arrived in one of the Toyota Museums. This is opposite to the Toyota world head-office. We walked around and saw all the neat new things Toyota is planning and doing, like the i-Unit which is a small one-person vehicle. The trompet playing robot. The extremely light cars. The cars that automatically prevent collisions, etc. Also a lot of information about the Toyota production system. After this visit, we joined the Toyota factory tour which took about 2 hours. The first stop was the assembly shop, which they put the cars together. It was incredibly impressive to see the flow in the factory. Everything happens at a rhythm, things are always moving everywhere. The andon board was highly visible and went on yellow several times. One time I found the station and saw some discussion about something that was wrong with the car. People looked concerned, though they didn't stop the line yet. It was amazing to see all the things working in a smooth flow and coordinated.</p>

<p>The second part was the welding shop. Here they reached a level of 93% automation and all the welding was done using robots. It was the most interesting sight to see all the robots at the same time "attack" the vehicle and start welding at the different places. There were andon lights, but they never went of when we were in the welding shop. That was the end of the factory tour already, I could have stayed longer to see all the activity and movement.</p>

<p>After the factory tour, we met with some people from Toyota who were willing to answer some questions we had, especially related to the product development. We learned a lot about the product development and got some answers, though the person wasn't directly involved and thus the answers were only on the surface. Still it was a nice conversation.</p>

<p>We went back to Nagoya to meet with an ex-Toyota manager who worked there for 35 years. We had some Japanese food and Sake and he told stories about his time in Toyota, what he had done and things related to the TPS. He was an extremely nice guy and it was a very nice meeting. We all learned a lot of the tour and the talks. Tomorrow we'll visit the Toyota museum and then it's time to get back home again.</p>]]>
        
    </content>
</entry>

</feed>
