<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0">
  <title type="html">Choipd&#039;s Software Testing</title>
  <id>http://choipd.net/tc/</id>
  <link rel="alternate" type="text/html" hreflang="ko" href="http://choipd.net/tc/" />
  <subtitle type="html">Life is too short to be complex. Choipd! Simplify your life to serve your neighborhood.  

I am a software engineer in beautiful city Seoul, Korea. I just leave my trace of life in this blog.</subtitle>
  <updated>2009-02-18T18:39:44+09:00</updated>
  <generator>Textcube 1.7.6 : Staccato</generator>
  <entry>
    <title type="html">GUI testing automation</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/34" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/34" thr:count="0"/>
    <category term="All" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/34</id>
    <updated>2009-02-18T14:18:50+09:00</updated>
    <published>2008-12-04T21:01:14+09:00</published>
    <summary type="html">I got a gold idea on gui tesing taught by Uncle Bob, who is the author of Fitnesse in the mailing list. I am trying to implement &quot;GUI testing on Fitnesse&quot;. You can get check my recent article, &lt;a href=&quot;http://www.choipd.net/tc/34&quot;  target=_blank&gt;GUI testing automation&lt;/a&gt;.&lt;BR&gt;&lt;BR&gt;Here is his wisdom;&lt;BR&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;Just make sure that you don&#039;t test any business rules that way. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;Testing business rules through the GUI is a *terrible* form of &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;coupling. If you write thousands of tests through the GUI, and then &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;change your GUI, thousands of tests break.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;Rather, test only GUI things through the GUI, and couple the GUI to a &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;dummy system instead of the real system, when you run those tests.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 10pt; mso-para-margin-left: 1.0gd&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=&quot;맑은 고딕&quot; color=#000000 size=2&gt;Test business rules through an API that doesn&#039;t involve the GUI.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;BR&gt;It is very interesting the sentence, &lt;EM&gt;&quot;test only GUI things through the GUI&quot;&lt;/EM&gt;</summary>
  </entry>
  <entry>
    <title type="html">GUI testing and fitnesse</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/33" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/33" thr:count="0"/>
    <category term="All" />
    <category term="Fitness" />
    <category term="GUI testing" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/33</id>
    <updated>2008-11-25T16:02:20+09:00</updated>
    <published>2008-11-25T05:59:12+09:00</published>
    <summary type="html">&lt;P&gt;I like the definition of fitnesse as the respect of test case management tool. It is quite diverse from the official definition is the acceptance automation tool. Fitnesse is know as unfit for testing GUI. I had agreed this idea before I met the pyWinAuto which is a python module supporting simulation of user input, like mouse click and key in. &lt;BR&gt;&lt;BR&gt;Convergence of pyfit and pyWinAuto makes it possible to integrate fitnesse and GUI testing. The process is like this;&lt;BR&gt;&lt;BR&gt;1. Installing Fitnesse&lt;BR&gt;&amp;nbsp;- download from &lt;a href=&quot;http://fitnesse.org/FitNesse.DownLoad&quot;  target=_blank&gt;here&lt;/a&gt;&amp;nbsp;the lastest version.&lt;BR&gt;&amp;nbsp;- if you don&#039;t have jre 1.5 or later, you can download it from &lt;a href=&quot;http://java.sun.com/javase/downloads/index_jdk5.jsp&quot;  target=_blank&gt;Java web site&lt;/a&gt;.&lt;BR&gt;&amp;nbsp;- unzip the fitnesse(&lt;a href=&quot;http://fitnesse.org/fitnesse20081115.zip?responder=releaseDownload&amp;amp;release=20081115&quot;&gt;&lt;U&gt;&lt;FONT color=#810081&gt;&lt;B&gt;fitnesse20081115.zip&lt;/B&gt; &lt;/FONT&gt;&lt;/U&gt;&lt;/a&gt;) to a specific folder, i.e. c:\fitnesse&lt;BR&gt;&lt;BR&gt;2. Installing Python&lt;BR&gt;&amp;nbsp;- download from &lt;a href=&quot;http://www.python.org/download/&quot;  target=_blank&gt;here &lt;/a&gt;the lastest version for Windows installer.&lt;BR&gt;&amp;nbsp;- run the installer. default installation folder can be c:\python26&lt;BR&gt;&amp;nbsp;- you should append &amp;nbsp;the environment variable PATH the path of python, i.e. c:\python26.&lt;BR&gt;&lt;BR&gt;3. Installing pyfit&lt;BR&gt;&amp;nbsp;- pyfit is the fit server and libraries of the porting to python language, By this we can use python on the Fitnesse.&lt;BR&gt;&amp;nbsp;- download from &lt;a href=&quot;http://pypi.python.org/pypi/PyFIT/0.8a2&quot;  target=_blank&gt;here&lt;/a&gt;. &lt;SPAN style=&quot;WHITE-SPACE: nowrap&quot;&gt;&lt;a href=&quot;http://pypi.python.org/packages/source/P/PyFIT/PyFIT-0.8a2.zip#md5=10a12f30cc14bcc5f5b659f89241e16d&quot;&gt;&lt;U&gt;&lt;FONT color=#810081&gt;PyFIT-0.8a2.zip&lt;/FONT&gt;&lt;/U&gt;&lt;/a&gt;&lt;BR&gt;&amp;nbsp;- unzip it into specific folder.&lt;BR&gt;&amp;nbsp;- type &lt;STRONG&gt;python setup.py install&lt;/STRONG&gt;&amp;nbsp;in dos window&lt;BR&gt;&amp;nbsp;- PyFit-0.8a2 version setup.py need to edit for avoiding some errors, by comment out the lines on &#039;filter&#039;&lt;BR&gt;&lt;BR&gt;4. Installing pyWinAuto&lt;BR&gt;&amp;nbsp;- download from &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=157379&quot;  target=_blank&gt;here&lt;/a&gt;.&lt;BR&gt;&amp;nbsp;- unzip it into specific folder.&lt;BR&gt;&amp;nbsp;- type &lt;STRONG&gt;python setup.py install&lt;/STRONG&gt; in dos window&lt;BR&gt;&lt;BR&gt;5. Start up Fitnesse&lt;BR&gt;&amp;nbsp;- cd c:\fitnesse&lt;BR&gt;&amp;nbsp;- run.bat&lt;BR&gt;&amp;nbsp;when the port 80 is using by other process, you can set your port to use by fitnesse like this;&lt;BR&gt;&amp;nbsp;run.bat -p 8080&lt;BR&gt;&lt;BR&gt;6. Make a pyfit testing page&lt;BR&gt;&amp;nbsp; a.&amp;nbsp; Edit wiki page&lt;BR&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;!define COMMAND_PATTERN {python &quot;%m&quot; %p}&lt;BR&gt;!define TEST_RUNNER {C:\Python26\Lib\site-packages\fit\FitServer.py}&lt;BR&gt;|eg.Division|&lt;BR&gt;|numerator|denominator|quotient?|&lt;BR&gt;|10|5|2|&lt;BR&gt;|10|2|5.001|&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&amp;nbsp;b. select &#039;Properties&#039;, check the test checkbox and save the properties, then the test button is shown. &lt;BR&gt;&amp;nbsp;c. click the test button after then if you find like this result you are right. &lt;BR&gt;
&lt;TABLE cellSpacing=0 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD colSpan=3&gt;eg.Division&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;numerator&lt;/TD&gt;
&lt;TD&gt;denominator&lt;/TD&gt;
&lt;TD&gt;quotient?&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD class=pass&gt;2&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD class=fail&gt;5.001 &lt;SPAN class=fit_label&gt;expected&lt;/SPAN&gt; 
&lt;HR&gt;
5.0 &lt;SPAN class=fit_label&gt;actual&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;BR&gt;7. Write a python fixture code&lt;BR&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;from fit.ColumnFixture import ColumnFixture&lt;BR&gt;from pywinauto import application&lt;/P&gt;
&lt;P&gt;class Notepad(ColumnFixture):&lt;BR&gt;&amp;nbsp; &amp;nbsp; _typeDict={&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;openReplace&quot;: &quot;String&quot;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR&gt;&amp;nbsp; &amp;nbsp; def openReplace(self):&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app = application.Application.start(&quot;notepad&quot;)&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.notepad.MenuSelect(&quot;Edit-&amp;gt;Replace&quot;)&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &quot;success&quot;&lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This code runs the notepad and select the replace menu.&lt;BR&gt;Save this code at the python fit folder i.e. C:\Python26\Lib\site-packages\fit\eg\Notepad.py&lt;BR&gt;&lt;BR&gt;8. Write a wiki page for run GUI testing&lt;BR&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;|eg.Notepad|&lt;BR&gt;|openReplace?|&lt;BR&gt;|success|&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;change the properties to test menu enable.&lt;BR&gt;&lt;BR&gt;9. run the test, you can see the Notepad has run and the replace&amp;nbsp; menu has selected.&lt;BR&gt;&lt;BR&gt;Any question? Leave your comment below.&lt;BR&gt;&lt;BR&gt;Is that so exciting?&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;</summary>
  </entry>
  <entry>
    <title type="html">Steve Freeman&#039;s &quot;Agile software people and team&quot;.</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/31" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/31" thr:count="0"/>
    <category term="All" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/31</id>
    <updated>2008-11-24T17:42:10+09:00</updated>
    <published>2008-10-27T01:10:37+09:00</published>
    <summary type="html">Steve Freeman is famus on agile movement. Today I met him in Xper group off meeting. He gave us his presentation about the Agile software, people, and team. It is quite new to me but very interesting topic.&lt;BR&gt;</summary>
  </entry>
  <entry>
    <title type="html">James Bach is comming to Seoul</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/29" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/29" thr:count="0"/>
    <category term="news" />
    <category term="James Bach" />
    <category term="Rapid Software Testing" />
    <category term="RST" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/29</id>
    <updated>2008-09-12T09:33:48+09:00</updated>
    <published>2008-09-12T09:30:13+09:00</published>
    <summary type="html">James Bach is known for the father of &lt;a href=&quot;http://en.wikipedia.org/wiki/Exploratory_testing&quot;  target=_blank&gt;exploratory testing&lt;/a&gt;. It seems his schedule is always filled with education and consulting company. During Oct. 19 to 22, he is going to have the lecture about the Rapid Software Testing(RST) in Seoul, Korea. It could be a good chance to Korean quality engineers, having not much knowledge on exploratory testing. &lt;BR&gt;&lt;BR&gt;Unfortunately, I can&#039;t join this time, but one of my collegues is going to attend this education. So I can hear something from my collegue indirectly.&lt;BR&gt;&lt;BR&gt;I f you have any interesting on this, here is a link for application;&lt;BR&gt;&lt;a href=&quot;http://www.sten.or.kr/exam/requestform.php?ex_id=219&quot;&gt;http://www.sten.or.kr/exam/requestform.php?ex_id=219&lt;/a&gt;&lt;BR&gt;Warning! the tuition is quite expensive, but it is worthy.&lt;BR&gt;&lt;BR&gt;--choipd</summary>
  </entry>
  <entry>
    <title type="html">The first day at NHN Service</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/28" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/28" thr:count="0"/>
    <category term="news" />
    <category term="NHN Service" />
    <category term="testing group" />
    <category term="TMMi" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/28</id>
    <updated>2008-09-23T19:52:49+09:00</updated>
    <published>2008-09-08T23:08:11+09:00</published>
    <summary type="html">Wow, this company is the biggest I have ever been in before. More than 2000 employs are working spread over the Seoul, Bun-dang, Chun-chen and Cheong-ju. I am working here in Seoul. At Seoul office all the testing group is working together. The number of people in testing group&amp;nbsp; are about 160 persons. These peoples are taking their role as TM(test manager), TL(test lead), and TE(test enginner).&lt;BR&gt;&lt;BR&gt;I took a review on the testing wares they produced, for example, testing plan, testing schedule, test case, testing methods, and so on. But it is not very satisfied with me. I thought I do have enough things to change and to improve. That is not bad!&lt;BR&gt;&lt;BR&gt;I hope to improve our testing process based on the TMMi model. First of all we do need to do self-test to check where we are right now. &lt;BR&gt;</summary>
  </entry>
  <entry>
    <title type="html">Sunday Lunch with Rex Black</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/27" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/27" thr:count="0"/>
    <category term="news" />
    <category term="Advanced Level" />
    <category term="ISTQB" />
    <category term="Rex Black" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/27</id>
    <updated>2008-09-07T23:35:13+09:00</updated>
    <published>2008-09-07T23:34:59+09:00</published>
    <summary type="html">Today It was a special meeting called &lt;span style=&quot;font-style: italic;&quot;&gt;Sunday Lunch with Rex Black&lt;/span&gt;. For me this is the first time to meet Mr. Rex Black. He is the president of ISTQB, international software testing qualification board and the author wrote several books on software testing. As always meeting a famous person is interesting experience. He presented a introduction to ISTQB Advanced Level(AL). There are only 33 person certifed AL in Korea. It is challenge for me. I am going to take a exam on AL next year.&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">ISTQB Foundation course</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/26" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/26" thr:count="0"/>
    <category term="news" />
    <category term="ISTQB" />
    <category term="KIPA" />
    <category term="software testing" />
    <category term="STA" />
    <category term="STEN" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/26</id>
    <updated>2008-09-06T11:11:01+09:00</updated>
    <published>2008-09-06T11:10:20+09:00</published>
    <summary type="html">It was fantastic experience! Before one month ago, I was totally new to s/w testing. Now I have read a introductory book, &lt;span style=&quot;font-style: italic;&quot;&gt;Software Testing 2nd edition&lt;/span&gt; by Ron Patton. This book brings me a solid foundation on this field. After reading this book, I took a interview at NHN Serivce. At that time my knowledge had enhanced enough to pass that exam and the interviews. During this period, I met a good community for software testing, STEN. STEN stands for Software Testing Enignneer Network. This community let me know how to improve my knowledge on s/w testing. I heard from this community about a education based on the ISTQB foundation level. ISTQB is the International Software Testing Qualification Board, it is an aka standard for s/w testing qualification and education in over the 60 countries. ISTQB builds and develops the body of knowledge on s/w testing. I think it is quite acceptable for whole industry. &lt;br&gt;&lt;br&gt;For last five days, 40 hours, I took the ISTQB Foundation course by STA consulting. KIPA, Korea SW Industry Promotion Agency gave me a spoonsership, 90% of education fee, so I just paid only 10%. How nice! The lecture is fantasitic for me. First of all, the structure of the lecture is very well organized. Here is the outline of this course;&lt;br&gt;&lt;br&gt;1st day - Introduction to s/w testing, the definition of s/w testing and necessity, V-model, testing organization.&lt;br&gt;2nd day - Specification based testing design methods - equivalence partitioning, boundary value analysis, decision table testing, pairwise testing, state-transition testing, use-case testing. &lt;br&gt;3rd day - Structure based testing design methods - coverage, basis path testing, control-flow testing, elementary comparison testing, &lt;br&gt;4th day - Experience based testing method - classification tree method (CTE tool), Exploratory Testing, Case Maker&lt;br&gt;5th day - Risk based tesitng method - Risk analysis, review and testing automation&lt;br&gt;&lt;br&gt;I am appriciate to the lecturer, Lee, Hyun-joo. She gave me a good foundation for this career. And I thank STA, KIPA, and STEN.&lt;br&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://choipd.net/tc/thumbnail/1/1907114484.w450-h337.jpg&quot; alt=&quot;User image&quot; height=&quot;337&quot; width=&quot;450&quot; /&gt;&lt;p class=&quot;cap1&quot;&gt;Cause and Effect table&lt;/p&gt;&lt;/div&gt;&lt;br&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://choipd.net/tc/thumbnail/1/4700382195.w450-h600.jpg&quot; alt=&quot;User image&quot; height=&quot;600&quot; width=&quot;450&quot; /&gt;&lt;p class=&quot;cap1&quot;&gt;Event flow and testing scenario in Use-case testing&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://choipd.net/tc/thumbnail/1/9318947291.w450-h337.jpg&quot; alt=&quot;User image&quot; height=&quot;337&quot; width=&quot;450&quot; /&gt;&lt;p class=&quot;cap1&quot;&gt;Risk analysis using Erik van Veneendaal model&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://choipd.net/tc/thumbnail/1/9931890373.w450-h337.jpg&quot; alt=&quot;User image&quot; height=&quot;337&quot; width=&quot;450&quot; /&gt;&lt;p class=&quot;cap1&quot;&gt;Graduation! Congratulation!&lt;/p&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">PythonMagick 0.7 build error</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/24" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/24" thr:count="2"/>
    <category term="tools" />
    <category term="boost-python" />
    <category term="troubleshoot" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/24</id>
    <updated>2008-07-17T15:32:37+09:00</updated>
    <published>2008-07-03T16:03:50+09:00</published>
    <summary type="html">I encountered an error when i build the PythonMagick 0.7 in OpenSUSE 10.3.&lt;br&gt;The error message is like this;&lt;br&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(250, 255, 169);&quot;&gt;/usr/include/boost/python/converter/&lt;b&gt;registered.hpp:88&lt;/b&gt;: &lt;b&gt;error&lt;/b&gt;: no matching function for call to &#039;&lt;b&gt;registry_lookup&lt;/b&gt;(const volatile void (*)())&lt;/div&gt;it seems registered.hpp has problem. I update the boost to new. Then the error has disappeared.&lt;br&gt;&lt;br&gt;Here is the diff;&lt;br&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(250, 255, 169);&quot;&gt;admin@linux-t5mw:/usr/include/boost/python/converter&amp;gt; diff registered.hpp registered.hpp.bak&lt;br&gt;12d11&lt;br&gt;&amp;lt; # include &amp;lt;boost/type_traits/is_void.hpp&amp;gt;&lt;br&gt;14,15d12&lt;br&gt;&amp;lt; # include &amp;lt;boost/python/type_id.hpp&amp;gt;&lt;br&gt;&amp;lt; # include &amp;lt;boost/type.hpp&amp;gt;&lt;br&gt;83,84c80,81&lt;br&gt;&amp;lt; &amp;nbsp; inline registration const&amp;amp; &lt;br&gt;&amp;lt; &amp;nbsp; registry_lookup2(T&amp;amp;(*)())&lt;br&gt;---&lt;br&gt;&amp;gt; &amp;nbsp; registration const&amp;amp; &lt;br&gt;&amp;gt; &amp;nbsp; registry_lookup(T&amp;amp;(*)())&lt;br&gt;91,106c88&lt;br&gt;&amp;lt; &amp;nbsp; inline registration const&amp;amp; &lt;br&gt;&amp;lt; &amp;nbsp; registry_lookup1(type&amp;lt;T&amp;gt;)&lt;br&gt;&amp;lt; &amp;nbsp; {&lt;br&gt;&amp;lt; &amp;nbsp; &amp;nbsp; &amp;nbsp; return registry_lookup2((T(*)())0);&lt;br&gt;&amp;lt; &amp;nbsp; }&lt;br&gt;&amp;lt; &lt;br&gt;&amp;lt; &amp;nbsp; inline registration const&amp;amp; &lt;br&gt;&amp;lt; &amp;nbsp; registry_lookup1(type&amp;lt;const volatile void&amp;gt;)&lt;br&gt;&amp;lt; &amp;nbsp; {&lt;br&gt;&amp;lt; &amp;nbsp; &amp;nbsp; &amp;nbsp; detail::register_shared_ptr1((void*)0);&lt;br&gt;&amp;lt; &amp;nbsp; &amp;nbsp; &amp;nbsp; return registry::lookup(type_id&amp;lt;void&amp;gt;());&lt;br&gt;&amp;lt; &amp;nbsp; }&lt;br&gt;&amp;lt; &lt;br&gt;&amp;lt; &amp;nbsp; template &amp;lt;class T&amp;gt;&lt;br&gt;&amp;lt; &amp;nbsp; registration const&amp;amp; registered_base&amp;lt;T&amp;gt;::converters = detail::registry_lookup1(type&amp;lt;T&amp;gt;());&lt;br&gt;&amp;lt; &lt;br&gt;---&lt;br&gt;&amp;gt; &amp;nbsp; registration const&amp;amp; registered_base&amp;lt;T&amp;gt;::converters = detail::registry_lookup((T(*)())0);&lt;/div&gt;&lt;br&gt;It is too hard to understand this code, isn&#039;t it? &lt;br&gt;&lt;br&gt;&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">Python and Ruby</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/23" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/23" thr:count="0"/>
    <category term="personal" />
    <category term="python" />
    <category term="ruby" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/23</id>
    <updated>2008-07-01T00:32:05+09:00</updated>
    <published>2008-07-01T00:12:02+09:00</published>
    <summary type="html">I have a chance to study popular script languages, python and ruby. I always want to study these since i had heard them before. Fortunately, my one client want to make a image management web service. So i choose python as backend and flash(actionscript) as a client. Now i am enjoying hacking python. It is really exciting experience.&lt;br&gt;&lt;br&gt;And &lt;a href=&quot;http://thoughtworks.com&quot;  target=&quot;_blank&quot;&gt;ThoughtWorks&lt;/a&gt; gave me a test as a procedure of interview. They gave me to choose a language to implement the test of Java, Ruby, and C#. I had a little experience on Java and C#, but i choose Ruby because i want to learn it and use it. So in three days, i learned by online documents and solved the problem. That is also great experience. How could programming is so fun? I am so proud of these two programming languages. I&#039;ll polish it&amp;nbsp; in a short period. It is a good challenge for me.&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">Agile China 2008</title>
    <link rel="alternate" type="text/html" href="http://choipd.net/tc/22" />
    <link rel="replies" type="application/atom+xml" href="http://choipd.net/tc/atom/response/22" thr:count="0"/>
    <category term="agile" />
    <category term="Agile China" />
    <category term="Martin Fowler" />
    <category term="ThoughtWorks" />
    <author>
      <name>(choipd)</name>
    </author>
    <id>http://choipd.net/tc/22</id>
    <updated>2008-06-22T03:10:51+09:00</updated>
    <published>2008-06-22T02:49:10+09:00</published>
    <summary type="html">it was the &lt;a href=&quot;http://agilechina.net/2008/5/15/agenda-english&quot;  target=&quot;_blank&quot;&gt;Agile China 2008&lt;/a&gt; conference in Beijing. &lt;a href=&quot;http://www.thoughtworks.com/&quot;  target=&quot;_blank&quot;&gt;Thoughtworks&lt;/a&gt;, &lt;a href=&quot;http://www.csdn.net/&quot;  target=&quot;_blank&quot;&gt;CSDN&lt;/a&gt; , &lt;a href=&quot;http://www.infoq.com/cn&quot;  target=&quot;_blank&quot;&gt;InfoQ China&lt;/a&gt; organized this conference. Almost speakers is consist of Thoughtworks&#039; inner peoples. There was two tracks, one for English and another for Chinese. &lt;br&gt;&lt;br&gt;The first speaker, &lt;a href=&quot;http://martinfowler.com/aboutMe.html&quot;  target=&quot;_blank&quot;&gt;Martin Fowler&lt;/a&gt;, presented about &lt;a href=&quot;http://www.infoq.com/presentations/domain-specific-languages&quot;  target=&quot;_blank&quot;&gt;Domain Specific Language&lt;/a&gt; with &lt;a href=&quot;http://www.blogjava.net/raimundox&quot;  target=&quot;_blank&quot;&gt;Xuwu&lt;/a&gt;. DSL&#039;s concept is familiar to me though it was my first time i heard about DSL, because I tried at the serveral projects to give a scripting language to my colleagues. Using these scripting languages, the programmer could forget the game design issues at the moment. It means we could focus on the more valuable objects.&lt;br&gt;&lt;br&gt;Richard Durnall presented &#039;Lean Thinking Techniques for IT Professionals.&#039; It is quite general introduction for me. Howerver at the end of presentation, there were several practices. I hope he should spend more time to the practices. &lt;br&gt;&lt;br&gt;Paulo Caroli presented &#039;Agile Evolutionary Design: from simple to well-structured design.&#039;&amp;nbsp; He talked about the TDD, refactoring, and continuous integration. &lt;br&gt;&lt;br&gt;It was nice to meet ThoughWorks people. Mr. Tao is a recuiter. Miss Choi is a business analyst, she is from Korea like me. Mr. Wang who presented about &#039;Goal Oriented Team.&#039; Every ThoughWorks peoples were kind and smart. it seems they are really enjoying thier job.&lt;br&gt;&lt;br&gt;The Agile China 2008, it was full of ThoughWorks. Everywhere i could find the logo from the bag to T-shirts. I am sure their advertise was successful! The contents of conference was not bad inspite of it was free of charge. So it was a win-win event. Cool!&lt;br&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://choipd.net/tc/thumbnail/1/5336725840.w450-h600.jpg&quot; alt=&quot;User image&quot; height=&quot;600&quot; width=&quot;450&quot; /&gt;&lt;p class=&quot;cap1&quot;&gt;Rise up chinese developers!&lt;/p&gt;&lt;/div&gt;&lt;br&gt;</summary>
  </entry>
</feed>
