<?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>Adam Monsen &#187; Work</title> <atom:link href="http://adammonsen.com/post/tag/work/feed" rel="self" type="application/rss+xml" /><link>http://adammonsen.com</link> <description></description> <lastBuildDate>Thu, 03 May 2012 18:11:34 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Squelch Doctrine/MongoDB logging in Symfony2</title><link>http://adammonsen.com/post/827?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=squelch-doctrinemongodb-logging-in-symfony2</link> <comments>http://adammonsen.com/post/827#comments</comments> <pubDate>Tue, 06 Mar 2012 03:30:46 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[doctrine]]></category> <category><![CDATA[mongodb]]></category> <category><![CDATA[php]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[symfony2]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=827</guid> <description><![CDATA[If you use Doctrine+MongoDB in Symfony2, you may have flood of mongodb queries in your dev environment log. Here&#8217;s a snippet of code for app/config/config.yml that will squelch them: doctrine_mongodb: document_managers: default: logging: false]]></description> <content:encoded><![CDATA[<p>If you use Doctrine+MongoDB in Symfony2, you may have flood of mongodb queries in your dev environment log. Here&#8217;s a snippet of code for <code>app/config/config.yml</code> that will squelch them:</p><pre>
doctrine_mongodb:
  document_managers:
    default:
      logging: false
</pre>]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/827/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Warren Buffet&#8217;s Long Bet</title><link>http://adammonsen.com/post/746?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=warren-buffets-long-bet</link> <comments>http://adammonsen.com/post/746#comments</comments> <pubDate>Fri, 30 Sep 2011 19:35:34 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[money]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=746</guid> <description><![CDATA[Please check out my post Warren Buffet&#8217;s Long Bet on the BreadVault blog.]]></description> <content:encoded><![CDATA[<p>Please check out my post <a href="http://blog.breadvault.com/2011/09/22/warren-buffets-long-bet/">Warren Buffet&#8217;s Long Bet</a> on the <a href="http://blog.breadvault.com">BreadVault blog</a>.</p> ]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/746/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>offline HTML 5 validation</title><link>http://adammonsen.com/post/741?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=offline-html-5-validation</link> <comments>http://adammonsen.com/post/741#comments</comments> <pubDate>Mon, 19 Sep 2011 18:05:18 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[engineering]]></category> <category><![CDATA[Fun]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[software]]></category> <category><![CDATA[vim]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=741</guid> <description><![CDATA[I&#8217;m liking Henri Sivonen’s Validator.nu service. I&#8217;ve got it running locally, and it works well. I can use it as a web service and validate HTML from within Vim, using quickfix to rapidly resolve errors. My Jenkins CI server uses the same validator via phpunit tests. Warning: it took me a very long time to get it [...]]]></description> <content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/HTML5"><img class="alignleft" title="HTML 5 logo" src="/wp-content/uploads/2011/09/HTML5_Logo.svg" alt="HTML 5 logo" width="200" height="200" /></a></p><p>I&#8217;m liking Henri Sivonen’s <a href="http://validator.nu/">Validator.nu</a> service. I&#8217;ve got it <a href="http://about.validator.nu/#src">running locally</a>, and it works well. I can use it as a web service and <a href="http://blog.whatwg.org/vim-checker">validate HTML from within Vim</a>, using <a href="http://vimdoc.sourceforge.net/htmldoc/quickfix.html#quickfix">quickfix</a> to rapidly resolve errors. My <a href="http://jenkins-ci.org">Jenkins</a> CI server uses the same validator via phpunit tests.</p><p>Warning: it took me a <em>very</em> long time to get it running locally. Technically easy (just run a build script), but it downloads tons of libraries and files before it can do its job.</p> ]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/741/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Debugging web tests on remote servers</title><link>http://adammonsen.com/post/717?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=debugging-web-tests-on-remote-servers</link> <comments>http://adammonsen.com/post/717#comments</comments> <pubDate>Tue, 26 Jul 2011 15:01:42 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[linux]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[ssh]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=717</guid> <description><![CDATA[I run &#8220;web tests&#8221; on a remote server. I use Selenium to act like a person interacting with a website, viewing and entering data. Selenium is pretty awesome, it can drive a real web browser like Firefox. Even better is to have these web tests run automatically every time I commit code. I use Jenkins [...]]]></description> <content:encoded><![CDATA[<p>I run &#8220;web tests&#8221; on a remote server. I use <a href="http://seleniumhq.org">Selenium</a> to act like a person interacting with a website, viewing and entering data. Selenium is pretty awesome, it can drive a real web browser like Firefox.</p><p>Even better is to have these web tests run automatically every time I commit code. I use <a href="http://jenkins-ci.org">Jenkins</a> for this. Jenkins even fires up a headless desktop so Selenium can run Firefox.</p><p>When a web test breaks (especially in some way I can&#8217;t reproduce on my local desktop), sometimes it helps to actually see what Jenkins sees as it runs the test. Here&#8217;s a quick guide for doing so on an Ubuntu GNU/Linux server.</p><ol><li>Connect to the remote server using SSH. Install VNC server: <br/><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> vnc4-server</pre></div></div></li><li>On the remote server, become the user tests run as. For example: <br/><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">su</span> - ci</pre></div></div></li><li>Set a password for the VNC server using the <code>vncpasswd</code> command.</li><li>Start headless X server by running <code>vncserver</code>. Note the given display. If <code>example.com:1</code> is included in the output of <code>vncserver</code>, the display is <code>:1</code>.</li><li><p>Figure out which port the VNC server is using. I usually do something like</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">netstat</span> <span style="color: #660033;">-nape</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">'^tcp.*LISTEN.*vnc.*'</span></pre></div></div><p> Here&#8217;s some example output:</p><div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      107        3099855     13233/Xvnc4     
tcp6       0      0 :::5901                 :::*                    LISTEN      107        3099858     13233/Xvnc4</pre></div></div><p>By trial and error, I figured out that 5901 was the port I should use.</p></li><li><p>Port-forward VNC to your local machine.</p><ol><li>Disconnect from the server.</li><li>Reconnect, including <code>-L10000:localhost:5901</code> on your SSH command line.</li><li>Leave this connection open.</li></ol></li><li><p>On your local machine, connect a VNC <em>client</em> to localhost:10000. An X terminal should be displayed.</p></li></li><li><p>In the X terminal, run your web tests.</p></li><li> When finished debugging, kill the X server using the display noted earlier.<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">vncserver <span style="color: #660033;">-kill</span> :<span style="color: #000000;">1</span></pre></div></div></li></ol> ]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/717/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Measuring Development Speed</title><link>http://adammonsen.com/post/644?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=measuring-development-speed</link> <comments>http://adammonsen.com/post/644#comments</comments> <pubDate>Tue, 25 Jan 2011 19:35:19 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[mifos]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=644</guid> <description><![CDATA[We&#8217;re rewriting the Mifos front-end from Struts 1.0/JSP to SpringMVC/Freemarker. So far it&#8217;s been slow going, so we&#8217;re trying out several experiments to speed up the process. I think it&#8217;s important to measure the impact of our improvements. I want to know: are we moving faster? Is product quality flourishing? Can we say so quantitatively? [...]]]></description> <content:encoded><![CDATA[<p>We&#8217;re rewriting the Mifos front-end from Struts 1.0/JSP to SpringMVC/Freemarker. So far it&#8217;s been slow going, so we&#8217;re trying out <a href="http://mifosforge.jira.com/wiki/display/MIFOS/Spring+FTL+Conversion+Spike">several experiments</a> to speed up the process.</p><p>I think it&#8217;s important to measure the impact of our improvements. I want to know: are we moving faster? Is product quality flourishing? Can we say so quantitatively? The last bit has been the most elusive. It&#8217;s like measuring how useful a painting is!</p><p>Still, here are some measures which we hope will eventually show how much the improvements are or are not helping. Right now we&#8217;re just establishing baseline data.</p><p><a href="http://adammonsen.com/wp-content/uploads/2011/01/counts.png"><img class="size-thumbnail wp-image-645 alignleft" style="margin-left: 5px; margin-right: 5px;" title="pre-counts" src="http://adammonsen.com/wp-content/uploads/2011/01/counts-150x150.png" alt="" width="150" height="150" /></a></p><p>The red line in the graph represents legacy front-end code that will eventually disappear. The green line is new code, but it really doesn&#8217;t matter.</p><p>From the chart data, we can say the following by measuring deltas between points: the most dramatic change in Struts/jsp LOC was 4380, for the time period ending Aug 2010.  The most dramatic change in SpringMVC/ftl LOC was 3665, for the time period ending Sep 2010.</p><p>Assumptions:</p><ul><li>these data are not useful for estimating speed of future refactoring work</li><li>all acceptance tests pass in refactored areas</li><li>look &amp; feel of refactored areas is acceptable</li></ul><p>The 2nd &amp; third bullets are a bit vague. To address this shortfall, we&#8217;ll <a href="http://mifosforge.jira.com/wiki/display/MIFOS/Spring+FTL+Conversion+Spike#SpringFTLConversionSpike-Measuringtestingeffort">measure the following aspects of quality</a>:</p><ol><li>Time spent modifying CreateSavingsAccountTest.</li><li>Number of issues (regressions) caught during CSS walk through.</li><li>Number of layout or functional bugs logged during testing phase (missed during walk through).</li><li>Time spent by QA manually testing the feature, including logging issues and retesting bugs fixes.</li></ol><p>Finally, developers should know <a href="http://article.gmane.org/gmane.comp.finance.mifos.devel/10806">if things are better</a>. This is the most qualitative and possibly the most important &#8220;measure&#8221;! Certainly, for the migration of our codebase from svn to git, it was the <em>only</em> measure we used, and it was enough.</p><p>Thoughts/comments/feedback are appreciated. I&#8217;d rather have some kind of simpler measure, like &#8220;x increased by 250%&#8221;. Do you know of any more effective (and hopefully simpler) means of measuring development speed?</p><p>I used gnuplot to generate the graph. <a href="https://github.com/meonkeys/mifosStats/tree/master/frontEndRefactorSpeed">Here&#8217;s the source</a>.</p> ]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/644/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Mifos opportunity: i18n</title><link>http://adammonsen.com/post/606?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mifos-opportunity-i18n</link> <comments>http://adammonsen.com/post/606#comments</comments> <pubDate>Tue, 05 Oct 2010 21:42:07 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[Fun]]></category> <category><![CDATA[mifos]]></category> <category><![CDATA[nerdy]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=606</guid> <description><![CDATA[We need help with i18n (and support of L10n) in Mifos. Are you interested in becoming the Mifos i18n champion? It&#8217;s a great volunteer opportunity! The work should be intermittent, and basically at your leisure. One of the really fun parts is working with the folks at Translatewiki.net&#8230; they added a bunch of messages from [...]]]></description> <content:encoded><![CDATA[<p>We need help with <a href="http://en.wikipedia.org/wiki/Internationalization_and_localization">i18n</a> (and support of L10n) in Mifos. Are you interested in becoming the Mifos i18n champion? It&#8217;s a great volunteer opportunity! The work should be intermittent, and basically at your leisure. One of the really fun parts is working with the folks at Translatewiki.net&#8230; they added a bunch of messages from our &#8220;questionnaire&#8221; module, and after a few days it was completely translated to Interlingua, Macedonian, Dutch, Norwegian, and Finnish! There&#8217;s an army of talented translators ready to help.</p><p>Here are some example tasks for the i18n champion:</p><ul><li>Make sure messages in Mifos are translatable.</li><li>Document messages and resolve issues mentioned on our <a href="http://mifosforge.jira.com/wiki/display/MIFOS/Translator+Helpdesk">Translator Helpdesk</a>.</li><li>Hang out in #mediawiki-i18n (an IRC channel on Freenode), answer Mifos questions when they come up, or add them to the Translator Helpdesk.</li><li>Work on specific i18n issues: <a href="http://mifosforge.jira.com/browse/MIFOS-3859">MIFOS-3859</a>, <a href="http://mifosforge.jira.com/browse/MIFOS-3821">MIFOS-3821</a>, <a href="http://mifosforge.jira.com/browse/MIFOS-2018">MIFOS-2018</a> and <a href="http://mifosforge.jira.com/secure/IssueNavigator.jspa?reset=true&#038;jqlQuery=component+%3D+Internationalization+AND+resolution+is+EMPTY+and+assignee+%3D+mifosdeveloperqueue">others</a>.</li><li>Improve and refine the <a href="http://mifosforge.jira.com/wiki/display/MIFOS/i18n%2C+L10n">Mifos i18n/L10n guide</a>.</li></ul><p>See also: <a href="http://ultimategerardm.blogspot.com/2010/10/mifos-microfinancing-and-wikimedia.html">#Mifos, #microfinancing and #Wikimedia</a></p><h1>Update</h1><p>A day after I sent out this call for help we got two volunteers! Thank you, Stanley Kwok and Jasmine Sandhu!</p> ]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/606/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Mifos Manual as an ebook</title><link>http://adammonsen.com/post/598?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mifos-manual-as-an-ebook</link> <comments>http://adammonsen.com/post/598#comments</comments> <pubDate>Mon, 13 Sep 2010 14:00:27 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[Fun]]></category> <category><![CDATA[mifos]]></category> <category><![CDATA[nerdy]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=598</guid> <description><![CDATA[I learned about ebooks last week. Very cool! I&#8217;ve found them much more readable than PDFs or Web pages. Maybe it&#8217;s the ebook readers&#8230; they sure help me focus on the content. Since we used FLOSS Manuals to write our manual, it&#8217;s easy to generate an ebook using Objavi. Here&#8217;s the Mifos Manual as an [...]]]></description> <content:encoded><![CDATA[<p>I learned about <a href="http://en.wikipedia.org/wiki/E-book">ebooks</a> last week. Very cool! I&#8217;ve found them much more readable than PDFs or Web pages. Maybe it&#8217;s the ebook readers&#8230; they sure help me focus on the content.</p><p>Since we used FLOSS Manuals to write <a href="http://en.flossmanuals.net/mifos-user-manual/">our manual</a>, it&#8217;s easy to generate an ebook using <a href="http://objavi.flossmanuals.net/">Objavi</a>. <a href="http://dl.dropbox.com/u/913284/Mifos-en-2010.09.07-07.33.26.epub">Here&#8217;s the Mifos Manual as an ebook</a>. Looks pretty good on the iPhone (lately I&#8217;ve been using &#8220;Stanza&#8221;). Probably looks even better on a Nook, Kindle, or iPad.</p> ]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/598/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>FLOSS technical/dev summits: why? how? with Tarus Balog of OpenNMS</title><link>http://adammonsen.com/post/555?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=floss-technicaldev-summits-why-how-with-tarus-balog-of-opennms</link> <comments>http://adammonsen.com/post/555#comments</comments> <pubDate>Mon, 28 Jun 2010 18:47:53 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[mifos]]></category> <category><![CDATA[nerdy]]></category> <category><![CDATA[opennms]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=555</guid> <description><![CDATA[Tarus Balog is the CEO of the OpenNMS Group, a company which funds the development of OpenNMS: FLOSS enterprise network monitoring software. OpenNMS lets you know when your machines go down, among other things. I use OpenNMS at work to keep Mifos infrastructure up and running: build servers, cloud, databases, etc. Our corner of the [...]]]></description> <content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Tarus_Balog">Tarus Balog</a> is the CEO of the OpenNMS Group, a company which funds the development of OpenNMS: FLOSS enterprise network monitoring software. OpenNMS lets you know when your machines go down, among other things. I use OpenNMS at work to keep Mifos infrastructure up and running: build servers, cloud, databases, etc.</p><p>Our corner of the Grameen Foundation focusing on Technology for Microfinance has a lot to learn from OpenNMS! They&#8217;re also FLOSS, and they&#8217;re profitable.</p><p>I talked with Tarus the other day. Turns out he&#8217;s a really cool guy. I&#8217;ve been following <a href="http://www.adventuresinoss.com/">his blog</a> closely for quite a while now, so I was thrilled with the chance to pick his brain. The point of the call was to find out why and how they run their <a href="http://www.opennms.org/wiki/Dev-Jam_2010">developer summits</a>: in-person meetings where coding, alignment, teambuilding and planning are plentiful. OpenNMS hosts these yearly, and we&#8217;d like to do them for Mifos.</p><p><span id="more-555"></span></p><p>We talked for a while, so I&#8217;ll summarize. I&#8217;ll cover the dev summit stuff first, then more about FLOSS business.</p><p><em>Adam: what instigated the first summit?</em></p><p>Tarus: I live on a farm in the middle of NC, wanted to get in touch with other devs. I invited them to hang out at my place and code for a week. The result was camaraderie and commonality of purpose. In other words: the hard stuff. We also got a lot of useful coding done. There were only 5 people, yet it was an awesome time.</p><p><em>A: How do you think things will be different if you didn&#8217;t have these summits </em></p><p>T: we had to cancel last year&#8217;s, and we felt the pain. We missed each other. We usually have dev tasks that are especially suited to summits that we didn&#8217;t do.</p><p><em>A: can anyone come? </em></p><p>T: yes. We sponsor active contributors. Full-time paid employees are pretty much required to go. Others must pay $1400 (includes room + board). This is modeled after debconf ( http://debconf.org ).</p><p><em>A: who comes?</em></p><p>T: 1/3 full-timers, 1/3 sponsored volunteers, 1/3 folks who pay their own way. Even with the folks who pay, dev summits are expensive and can run $20-$30k.</p><p><em>A: what&#8217;s the format?</em></p><p>T: loose/barcamp/vague. This works much better for us than a dictated organized agenda</p><p><em>A: What are your definitions of &#8220;success&#8221; for a summit? How do you know when you&#8217;ve had a successful summit? </em></p><p>T: we don&#8217;t really have a measure, but the value is apparent from the team cohesiveness, fun had, code produced, and productivity following the summits.</p><p><em>A: can I come? </em></p><p>T: yep</p><p><em>A: what do I need to do to run a successful summit?</em></p><p>T: plan it well. Make it fun. Buy food. Have someone go onsite and set up logistics: rooms, wifi, whiteboards, projectors, etc. Do stuff together. Discourage newbies (they need to pay to attend): don&#8217;t make it a training session: make it a *developer* summit. Publish prereqs: compile the code, run tests, study the schema, have your laptop ready, etc.</p><h2>Other stuff:</h2><p><em>A: where are your devs?</em></p><p>T: global.</p><p><em>A: how do you reward volunteers and retain contributors?</em></p><p>T: LOTS of ways! &#8220;order of the X polo&#8221;: exclusive group of contributors are in the &#8220;order of the green polo&#8221;, these folks are the steering committee. OpenNMS is business driven, but the OGP drives the tech. They stick around because they are invested and we value what they say. They&#8217;re the experts. OpenNMS Group sells services, not software: training, consulting, installation, custom dev. Volunteers and contributors are invited to (and do!) do the cool stuff, the fun stuff, the most important stuff. We guarantee the code will not suck, and it will always be Free (as in freedom). also see &#8220;order of the blue polo&#8221;: that&#8217;s the one you should sign up for, Adam!</p><p><em>A: will do. Can you say more about what custom development you&#8217;ll have to do?</em></p><p>T: yes, but not just anything. Ex: someone wanted <a href="http://bestpractical.com/rt/">RT</a> integration. Instead, we built a generic event-based framework and allowed them to hook into it. I don&#8217;t sell &#8220;custom dev&#8221; to a customer, I make them *sponsors* of features that make it into OpenNMS. Salespeople must have technical knowledge to make this work. The custom features aren&#8217;t what make them competitive anyway, it&#8217;s their business strategy, their processes, their people. We also sell commercial licenses for OEM arrangements. They pay for (us to do) custom dev, and we get the code, too.</p><hr />Tarus will be <a href="http://www.oscon.com/oscon2010/public/schedule/detail/13160">speaking about Open Source Business in Portland on 2010-07-21 during OSCON</a>.</p><p><a href="http://www.oscon.com/oscon2010/public/schedule/detail/13800">I&#8217;ll be there</a>, too!</p><p>Thanks to <a href="http://adamfeuer.com/">Adam Feuer</a> for encouraging me to approach Tarus/OpenNMS.</p> ]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/555/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The Mifos user manual sprint; how we&#8217;ll break Brooks&#8217;s law</title><link>http://adammonsen.com/post/523?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=well-be-breaking-brookss-law-at-the-mifos-user-manual-sprint</link> <comments>http://adammonsen.com/post/523#comments</comments> <pubDate>Thu, 01 Apr 2010 23:08:56 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[flossmanuals]]></category> <category><![CDATA[mifos]]></category> <category><![CDATA[nerdy]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=523</guid> <description><![CDATA[I&#8217;m really excited for the Mifos user manual sprint tomorrow. We&#8217;re using FLOSS Manuals to write our new user manual. FLOSS Manuals is an exciting way to write a book, it provides a framework for high-bandwidth collaboration, publishing to HTML and print, translating, and more. There are many examples of small teams (less than 10 [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;m really excited for the <a href="http://news.mifos.org/mifos-manual-sprint/">Mifos user manual sprint</a> tomorrow. We&#8217;re using <a href="http://en.flossmanuals.net/">FLOSS Manuals</a> to write our new user manual. FLOSS Manuals is an exciting way to write a book, it provides a framework for high-bandwidth collaboration, publishing to HTML and print, translating, and more. There are many examples of small teams (less than 10 people) publishing large, excellent books in short time periods (less than a week).</p><p>We&#8217;ll have a video feed going. I&#8217;ll be wearing my track suit.</p><p>Check out our <a href="http://www.mifos.org/developers/wiki/UserManualSprint">coordination wiki page</a> and stop by <a href="http://link.mifos.org/irc">our IRC channel</a> if you&#8217;d like to join in! If you&#8217;ve ever edited text on a wiki, are brave enough to learn how, or just want to see me in a track suit, come on by.</p><p>I suppose I should explain the title of this post. If we can establish a framework for software development on Mifos like we&#8217;re running this sprint, we can break <a href="http://en.wikipedia.org/wiki/Brooks's_law">Brooks&#8217;s law</a>. Why not? The <a href="http://article.gmane.org/gmane.comp.finance.mifos.devel/7955">Ksplice folks did it</a>, so we can too!</p> ]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/523/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Ehcache Java library&#8217;s UpdateChecker == spyware</title><link>http://adammonsen.com/post/512?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ehcache-java-librarys-updatechecker-spyware</link> <comments>http://adammonsen.com/post/512#comments</comments> <pubDate>Mon, 29 Mar 2010 16:03:59 +0000</pubDate> <dc:creator>adam</dc:creator> <category><![CDATA[Default]]></category> <category><![CDATA[java]]></category> <category><![CDATA[nerdy]]></category> <category><![CDATA[Work]]></category><guid isPermaLink="false">http://adammonsen.com/?p=512</guid> <description><![CDATA[I just took a peek at recent Grails development, and noticed they added code to disable a &#8220;phone home&#8221; feature in Ehcache. Strange, I thought, why would this be necessary? Apparently Ehcache includes an automatic update check that is also effectively a phone home. Terracotta software conveniently collects some extra information (such as your IP address) [...]]]></description> <content:encoded><![CDATA[<p>I just took a peek at recent Grails development, and noticed they <a href="http://jira.codehaus.org/browse/GRAILS-5949">added code to disable a &#8220;phone home&#8221; feature in Ehcache</a>. Strange, I thought, why would this be necessary?</p><p>Apparently Ehcache includes an <a href="http://www.svenlange.co.za/?p=122">automatic update check</a> that is also effectively a <a href="http://en.wikipedia.org/wiki/Phoning_home">phone home</a>. Terracotta software conveniently collects some extra information (such as your IP address) when Ehcache phones home. The information they collect is benign. But, seriously? A <em>library</em> phoning home, <em>by default</em>?</p><p>Who decided it would be a good idea to add this feature to a popular Java library? It&#8217;s a transparent attempt at gathering usage statistics.  As a participant in a professional FLOSS project, I can fully identify with the need for knowing who is using your software. But automatically, secretly phoning home is not the way to do it!</p><p>Terracotta, will you turn this feature off by default in the next Ehcache release?</p><p>I see this issue has come up in forums:</p><ul><li><a href="http://forums.terracotta.org/forums/posts/list/2793.page">Ehcache update check</a></li><li><a href="http://forums.terracotta.org/forums/posts/list/3022.page">Can Ehcache check user local info?!</a></li><li><a href="http://forums.terracotta.org/forums/posts/list/2701.page">ehcache 1.7.0 calling home to check for updates?!?!?</a></li><li><a href="http://tech.puredanger.com/2010/07/28/open-source-bargain/">Possible justification by a Terracotta employee</a></li></ul><p>Other tidbits:</p><ul><li>We use Ehcache 1.4.1 in Mifos, but that (pre-Terracotta) version does not phone home</li><li>Quartz, <a href="http://tech.puredanger.com/2009/11/19/terracotta-acquires-quart/">another recent Terracotta acquisition</a>, <a href="http://forums.terracotta.org/forums/posts/list/2793.page#18998">also phones home</a></li><li>Here&#8217;s an open issue about the <a href="http://jira.terracotta.org/jira/browse/EHC-600">update checker creating unnecessary threads</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://adammonsen.com/post/512/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: adammonsen.com @ 2012-05-22 20:30:26 -->
