<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2861296327409593706</id><updated>2026-08-30T19:53:58.490+02:00</updated><category term="development"/><category term="links"/><category term="software"/><category term="item assistant"/><category term="anarchy online"/><category term="geekstuff"/><category term="guide"/><category term="tools"/><category term="windows"/><category term="linux"/><category term="note-to-self"/><category term="visual studio"/><category term="screen shot"/><category term="configuration"/><category term="hubii"/><category term="openvpn"/><category term="ubuntu"/><category term="work"/><category term="TeamCity"/><category term="boost"/><category term="photo"/><category term="sqlite"/><category term=".net"/><category term="Ant"/><category term="Bergen"/><category term="C#"/><category term="DITA"/><category term="SVN"/><category term="apache2"/><category term="books"/><category term="chevron"/><category term="cnn"/><category term="epsis"/><category term="firewall"/><category term="funny"/><category term="git"/><category term="hardware"/><category term="hg"/><category term="interview"/><category term="mercurial"/><category term="mysql"/><category term="pdo"/><category term="php"/><category term="quiz"/><category term="raid"/><category term="russia"/><category term="samba"/><category term="scrum"/><category term="sublimetext2"/><category term="swat"/><category term="training"/><category term="translation"/><category term="virtualbox"/><title type='text'>MKF Blog</title><subtitle type='html'>Messages hidden in white noise</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-8692085806748675131</id><published>2014-05-07T21:33:00.000+02:00</published><updated>2014-05-07T22:02:51.838+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache2"/><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="geekstuff"/><category scheme="http://www.blogger.com/atom/ns#" term="hubii"/><category scheme="http://www.blogger.com/atom/ns#" term="note-to-self"/><title type='text'>Apache CORS Headers</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
It is possible to add multiple domains by using the following:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Header set Access-Control-Allow-Origin &quot;http://domain1.com&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Header add Access-Control-Allow-Origin &quot;http://domain2.net&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Header add Access-Control-Allow-Origin &quot;http://domain3.org&quot;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
However, it doesn&#39;t work entirely as expected and it also exposes all your API clients to anyone interested. Not a big deal, but why expose more info than necessary?&lt;br /&gt;
&lt;br /&gt;
So, to only have valid requests return one single domain (the accepted Origin) we can configure Apache to dynamically check and return only one permitted domain:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;SetEnvIf Origin &quot;(http|https)://(domain1.com|domain2.net|domain3.org)$&quot; RequestOrigin=$0&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Header always set Access-Control-Allow-Origin %{RequestOrigin}e env=RequestOrigin&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
This will return http://domain2.net if the request has an Origin of http://domain2.net. If the request has an origin that isn&#39;t matched by the regular expression in the &lt;i&gt;SetEnvIf&lt;/i&gt; command, then it will not return any &lt;i&gt;Access-Control-Allow-Origin&lt;/i&gt; header at all!&lt;br /&gt;
&lt;br /&gt;
Some other headers I always include:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Header set Access-Control-Allow-Methods &#39;GET,PUT,POST,DELETE,OPTIONS&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;Header set Access-Control-Allow-Credentials true&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/8692085806748675131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2014/05/apache-cors-headers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/8692085806748675131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/8692085806748675131'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2014/05/apache-cors-headers.html' title='Apache CORS Headers'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-3894167927888586433</id><published>2014-04-08T18:32:00.000+02:00</published><updated>2014-04-08T18:32:03.708+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="links"/><category scheme="http://www.blogger.com/atom/ns#" term="note-to-self"/><title type='text'>HTTP PATCH Explained</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
A very concise article about how the PATCH verb should be used can be found &lt;a href=&quot;http://williamdurand.fr/2014/02/14/please-do-not-patch-like-an-idiot/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In essence it should be treated as a set of operations to apply a delta to the existing resource. It is NOT the same as a partial PUT.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/3894167927888586433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2014/04/http-patch-explained.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/3894167927888586433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/3894167927888586433'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2014/04/http-patch-explained.html' title='HTTP PATCH Explained'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-4184469120208215237</id><published>2014-03-10T20:59:00.000+01:00</published><updated>2014-03-10T20:59:15.002+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bergen"/><category scheme="http://www.blogger.com/atom/ns#" term="photo"/><title type='text'>Going home from work...</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Its nice to take a 20 minute boat-trip to get home when the weather is like this:&lt;div&gt;
&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvTn0Y0qUv7MHl6ForXg4ochcgyKu2Jr0dXdF5_o4Hb72xdRXSHeBq7UyS2zE1edkFXh4_diLhVZkZ1dhbzBXviyYteCzVWC4HEIQW825rk-nmimNAXxeniFCdRXzFYmka_XimwhIKD-Q/s1600/2014-03-10+16.18.19.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvTn0Y0qUv7MHl6ForXg4ochcgyKu2Jr0dXdF5_o4Hb72xdRXSHeBq7UyS2zE1edkFXh4_diLhVZkZ1dhbzBXviyYteCzVWC4HEIQW825rk-nmimNAXxeniFCdRXzFYmka_XimwhIKD-Q/s1600/2014-03-10+16.18.19.jpg&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/4184469120208215237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2014/03/going-home-from-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/4184469120208215237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/4184469120208215237'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2014/03/going-home-from-work.html' title='Going home from work...'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvTn0Y0qUv7MHl6ForXg4ochcgyKu2Jr0dXdF5_o4Hb72xdRXSHeBq7UyS2zE1edkFXh4_diLhVZkZ1dhbzBXviyYteCzVWC4HEIQW825rk-nmimNAXxeniFCdRXzFYmka_XimwhIKD-Q/s72-c/2014-03-10+16.18.19.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-861124172915807002</id><published>2013-12-23T11:33:00.000+01:00</published><updated>2013-12-23T11:33:24.185+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="geekstuff"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><category scheme="http://www.blogger.com/atom/ns#" term="work"/><title type='text'>Regular Expressions</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
To match a floating point value in a substring I currently use the following regular expression:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;(\d+(?:\.\d+)?(?:[eE][-+]?[0-9]+)?)&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
This matches:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;123&lt;/li&gt;
&lt;li&gt;123.4&lt;/li&gt;
&lt;li&gt;123.4E3&lt;/li&gt;
&lt;li&gt;123.4e-4&lt;/li&gt;
&lt;li&gt;etc...&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
Does anyone have a better expression that matches example strings?&lt;br /&gt;
Please post in the comments below, thanks.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/861124172915807002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2013/12/regular-expressions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/861124172915807002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/861124172915807002'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2013/12/regular-expressions.html' title='Regular Expressions'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-499248758969919439</id><published>2013-06-17T18:37:00.001+02:00</published><updated>2013-06-17T18:37:59.589+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="links"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="note-to-self"/><category scheme="http://www.blogger.com/atom/ns#" term="screen shot"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Installing &quot;Glances&quot; system monitor on ubuntu 12.04</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://raw.github.com/nicolargo/glances/master/docs/images/screenshot-wide.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;217&quot; src=&quot;https://raw.github.com/nicolargo/glances/master/docs/images/screenshot-wide.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href=&quot;http://nicolargo.github.io/glances/&quot; target=&quot;_blank&quot;&gt;Glances&lt;/a&gt;&amp;nbsp;is a curses based tool for monitoring your system - kind of like top on steroids. There is a small issue with using the version in the&amp;nbsp;&lt;a href=&quot;https://launchpad.net/~arnaud-hartmann/+archive/glances-stable&quot; target=&quot;_blank&quot;&gt;&lt;span id=&quot;goog_1006717247&quot;&gt;&lt;/span&gt;PPA on Ubuntu&lt;span id=&quot;goog_1006717248&quot;&gt;&lt;/span&gt;&lt;/a&gt; 12.04 (specifically the 12.04.2 minimal install); it crashes on startup with the following error:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Traceback (most recent call last):&lt;br /&gt;&amp;nbsp; File &quot;/usr/bin/glances&quot;, line 5, in &lt;module&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; from pkg_resources import load_entry_point&lt;br /&gt;ImportError: No module named pkg_resources&lt;/module&gt;&lt;/blockquote&gt;
To fix it I manually had to install the package &lt;b&gt;python-pkg-resources&lt;/b&gt;.</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/499248758969919439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2013/06/installing-glances-system-monitor-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/499248758969919439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/499248758969919439'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2013/06/installing-glances-system-monitor-on.html' title='Installing &quot;Glances&quot; system monitor on ubuntu 12.04'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-6544078079790666686</id><published>2013-03-21T15:47:00.000+01:00</published><updated>2013-03-21T15:47:04.482+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anarchy online"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="item assistant"/><category scheme="http://www.blogger.com/atom/ns#" term="links"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>AO Item Assistant v1.1.5</title><content type='html'>A new version of Item Assistant has just been released which should fix the major issues introduced with the &quot;big AO server merge&quot;. It also cleans up and removes support for multiple dimensions and the player-shop monitor since these features are obsolete.&lt;br /&gt;
&lt;br /&gt;
For those that play on both &quot;live&quot; and &quot;test live&quot; I recommend having two separate installs of AOIA, one for each dimension. Even with the old multi-dimensional support, it was never meant to support &quot;test live&quot; as one of the dimensions. (Due to, amongst other things, the difference in the AO Item database.)&lt;br /&gt;
&lt;br /&gt;
I also want to give a big &quot;THANK YOU!&quot; to the AO community for all the feedback, testing and suggestions that just keep on coming in.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;(For those that have been testing intermittent versions, this is essentially the same as v1.1.4.24.)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://frellu.net/ia/&quot; target=&quot;_blank&quot;&gt;AOIA Homepage&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://sourceforge.net/projects/aoia/files/Item%20Assistant/1.1.5/&quot; target=&quot;_blank&quot;&gt;v1.1.5 download&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/6544078079790666686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2013/03/ao-item-assistant-v115.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/6544078079790666686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/6544078079790666686'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2013/03/ao-item-assistant-v115.html' title='AO Item Assistant v1.1.5'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-2496186760891060995</id><published>2012-12-15T22:20:00.001+01:00</published><updated>2012-12-15T22:45:28.543+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anarchy online"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="item assistant"/><title type='text'>Item Assistant 1.1.4</title><content type='html'>I have finally gotten around to updating AO Item Assistant to support v18.5 of the AO client properly. A bit late, I know, sorry about that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changelog:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;ul&gt;
&lt;li&gt;Fixed issue with connecting to the AO client after the 18.5 patch.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Fixed parsing of the AO DB to handle the updates of the 18.5 patch.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
Happy Holidays and an educational New Year!&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://sourceforge.net/projects/aoia&quot; target=&quot;_blank&quot;&gt;Downloads here&lt;/a&gt;!</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/2496186760891060995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2012/12/item-assistant-114.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/2496186760891060995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/2496186760891060995'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2012/12/item-assistant-114.html' title='Item Assistant 1.1.4'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-8303972494713625668</id><published>2012-09-26T09:21:00.001+02:00</published><updated>2012-09-26T09:21:17.684+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="note-to-self"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><category scheme="http://www.blogger.com/atom/ns#" term="sublimetext2"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>SublimeText2 - A small tip</title><content type='html'>It can be difficult to find the correct internal name of a command when you want to add a keyboard shortcut to it in SublimeText2. Wouldn&#39;t it be neat if you could show all the commands you trigger in a window somewhere? Well, it turns out it is really simple:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Open the console&lt;/li&gt;
&lt;li&gt;Type the command&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;sublime.log_commands(True)&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Go do stuff in the editor or menus and see commands roll by.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
When you have the command name it is quite easy to add that to your personalized key-bindings from the &lt;i&gt;Preferences &lt;/i&gt;menu.&lt;br /&gt;
&lt;br /&gt;
i.e. my current personalizations:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;[&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; { &quot;keys&quot;: [&quot;ctrl+keypad_divide&quot;], &quot;command&quot;: &quot;toggle_comment&quot;, &quot;args&quot;: { &quot;block&quot;: false } },&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; { &quot;keys&quot;: [&quot;ctrl+shift+7&quot;], &quot;command&quot;: &quot;toggle_comment&quot;, &quot;args&quot;: { &quot;block&quot;: false } },&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; { &quot;keys&quot;: [&quot;ctrl+d&quot;], &quot;command&quot;: &quot;reindent&quot; },&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; { &quot;keys&quot;: [&quot;shift+ctrl+s&quot;], &quot;command&quot;: &quot;save_all&quot; },&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; { &quot;keys&quot;: [&quot;ctrl+d&quot;], &quot;command&quot;: &quot;find_under_expand&quot; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/8303972494713625668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2012/09/sublimetext2-small-tip.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/8303972494713625668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/8303972494713625668'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2012/09/sublimetext2-small-tip.html' title='SublimeText2 - A small tip'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>Bergen, Norway</georss:featurename><georss:point>60.3912628 5.3220544</georss:point><georss:box>60.1402303 4.6903404 60.6422953 5.9537683999999995</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-209496993616667363</id><published>2012-04-12T16:30:00.000+02:00</published><updated>2012-04-12T16:30:03.116+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="hg"/><category scheme="http://www.blogger.com/atom/ns#" term="mercurial"/><category scheme="http://www.blogger.com/atom/ns#" term="note-to-self"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Mercurial with Git Subrepository</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.selenic.com/hg-logo/logo-droplets-200.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.selenic.com/hg-logo/logo-droplets-200.png&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I recently had some problems creating a Git sub-repository inside my Mercurial main repository using the guide I found &lt;a href=&quot;http://mercurial.selenic.com/wiki/Subrepository#Git_subrepositories&quot; target=&quot;_blank&quot;&gt;here!&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;



Problem&lt;/h3&gt;
All is well and good up to that point, however when &lt;b&gt;committing &lt;/b&gt;the added .hgsub file things started to head south.&lt;br /&gt;
&lt;br /&gt;
From the commandline (cmd) I would get an error:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;abort: The system cannot find the file specified&lt;/span&gt;&lt;/blockquote&gt;
While from TortoiseHg I would not get an error. However,&lt;b&gt; &lt;/b&gt;&lt;i&gt;the expected .hgsubstate file did not get created&lt;/i&gt;, and thus the repository has in effect no valid sub-repositories if you try to clone it!&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;



Workaround&lt;/h3&gt;
The workaround is to do the commit of the .hgsub file from the GitBash shell instead of the regular shell or TortoiseHg, since then the .hgsubstate file will be generated. Using the GitBash shell is also mandatory for committing any change to the .hgsub file, or .hgsubstate file, as well as the initial clone of the repository.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Some googling around indicate that the issue is due to either Mercurial or TortoiseHg trying to execute the &quot;git.exe&quot; command (as opposed to just &quot;git&quot;) and that this alias does not exist in the regular shell. I have not verified this, so YMMV!&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;



Misc&lt;/h3&gt;
Potentially relevant software that is installed on the computer:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Windows 7 x64&lt;/li&gt;
&lt;li&gt;TortoiseHg (2.3.1)&lt;/li&gt;
&lt;li&gt;Mercurial (2.1.1)&lt;/li&gt;
&lt;li&gt;Git (1.7.6)&lt;/li&gt;
&lt;li&gt;Python (2.6.6)&lt;/li&gt;
&lt;/ul&gt;
Both the &quot;git&quot; and &quot;hg&quot; commands were included in the PATH.</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/209496993616667363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2012/04/mercurial-with-git-subrepository.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/209496993616667363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/209496993616667363'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2012/04/mercurial-with-git-subrepository.html' title='Mercurial with Git Subrepository'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>Frekhaug, Norway</georss:featurename><georss:point>60.511941 5.2397138</georss:point><georss:box>60.504125 5.2199728 60.519757 5.2594547999999994</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-5861285976028937801</id><published>2012-02-09T11:17:00.000+01:00</published><updated>2012-02-09T11:17:21.011+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hubii"/><category scheme="http://www.blogger.com/atom/ns#" term="links"/><category scheme="http://www.blogger.com/atom/ns#" term="screen shot"/><title type='text'>What I Am Reading</title><content type='html'>Its been a while since my last update, so here is what I have been keeping busy with lately.&lt;br /&gt;
 &lt;br /&gt;
I am pleased to present to you the latest update to the Hubii user interface. We have completely redone the presentation of articles, and I must say I am very satisfied with the result.&lt;br /&gt;
 &lt;br /&gt;
Have a look, this is how I am keeping up to date with whats happening around the world:&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpCCseHHAjptyzRIeCGTvlsvlwmEY16Fdcc9tVI3AJyAnvm2Ysh6Y0nklski6ZWZkZ-18XS6jFrX1ky9bchWcFTctL__CmItU9BpFw0n_t4PPi-TyfBxMudrvcILb0JHtHnJmQuFx4vW0/s1600/hubii-80pcnt.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpCCseHHAjptyzRIeCGTvlsvlwmEY16Fdcc9tVI3AJyAnvm2Ysh6Y0nklski6ZWZkZ-18XS6jFrX1ky9bchWcFTctL__CmItU9BpFw0n_t4PPi-TyfBxMudrvcILb0JHtHnJmQuFx4vW0/s400/hubii-80pcnt.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Looking at news from Norway&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The new presentation of articles is also carried over to the &quot;Mapazine&quot;.&lt;br /&gt;
&lt;br /&gt;
To see for yourself head over to &lt;a href=&quot;http://www.hubii.com/&quot;&gt;Hubii.com&lt;/a&gt;, and please use the &quot;Feedback&quot; button if you have some comments!</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/5861285976028937801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2012/02/what-i-am-reading.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/5861285976028937801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/5861285976028937801'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2012/02/what-i-am-reading.html' title='What I Am Reading'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpCCseHHAjptyzRIeCGTvlsvlwmEY16Fdcc9tVI3AJyAnvm2Ysh6Y0nklski6ZWZkZ-18XS6jFrX1ky9bchWcFTctL__CmItU9BpFw0n_t4PPi-TyfBxMudrvcILb0JHtHnJmQuFx4vW0/s72-c/hubii-80pcnt.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-3276723567860274184</id><published>2011-10-06T10:55:00.000+02:00</published><updated>2011-10-06T10:56:15.670+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anarchy online"/><category scheme="http://www.blogger.com/atom/ns#" term="interview"/><category scheme="http://www.blogger.com/atom/ns#" term="item assistant"/><category scheme="http://www.blogger.com/atom/ns#" term="links"/><title type='text'>AO Universe Interview</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;&quot;Windguaerd&quot; has posted an interview with yours truly as part of their &quot;AO Universe Community Interview&quot; series.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;You can read the interview&amp;nbsp;&lt;a href=&quot;http://www.ao-universe.com/main.php?site=articles&amp;amp;id=75&quot;&gt;here!&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/3276723567860274184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2011/10/ao-universe-interview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/3276723567860274184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/3276723567860274184'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2011/10/ao-universe-interview.html' title='AO Universe Interview'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-9174114354418678612</id><published>2011-09-16T09:50:00.000+02:00</published><updated>2011-09-16T09:50:58.304+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hubii"/><category scheme="http://www.blogger.com/atom/ns#" term="links"/><title type='text'>Hubii Beta</title><content type='html'>&lt;a href=&quot;http://www.hubii.com/&quot;&gt;www.hubii.com&lt;/a&gt; has launched its Beta version . It has been three years of hard work, but... was worth it!&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0XM-UNhBKL4XWTHvpYKsaEVjO_nTGin4HE7S-M58mFB9YVhDc6_08WoFNR0T8t51x9CUOLSsk5Nh0NQhcmfBLYA44bMKh1FB32SLnALMVXnqFy7L4HQPiuqwle1h7hKLdSN5wsKbffSA/s1600/hubiifacebook.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0XM-UNhBKL4XWTHvpYKsaEVjO_nTGin4HE7S-M58mFB9YVhDc6_08WoFNR0T8t51x9CUOLSsk5Nh0NQhcmfBLYA44bMKh1FB32SLnALMVXnqFy7L4HQPiuqwle1h7hKLdSN5wsKbffSA/s200/hubiifacebook.jpg&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;If you are someone who reads the news online and you&#39;re tired of jumping from one site to another you will most definitely like Hubii. Hubii offers a new user experience for searching and reading news online.
With Hubii you can unify in a single place all your favorite online news. Hubii allows you to search the map, find out where the news is happening, select news by topic, comment on and rate news, see what the world is reading about, create your own newspaper which automatically update and contribute to the community by adding publishers to the map.&amp;nbsp;Exciting times ahead… watch &lt;a href=&quot;http://www.hubii.com/&quot;&gt;www.hubii.com&lt;/a&gt; evolve.&lt;br /&gt;
&lt;br /&gt;
Please send us all comments and suggestions you have, and share it with your friends if you like it.
Follow Hubii on Facebook, Twitter and LinkedIn.</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/9174114354418678612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2011/09/hubii-beta.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/9174114354418678612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/9174114354418678612'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2011/09/hubii-beta.html' title='Hubii Beta'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0XM-UNhBKL4XWTHvpYKsaEVjO_nTGin4HE7S-M58mFB9YVhDc6_08WoFNR0T8t51x9CUOLSsk5Nh0NQhcmfBLYA44bMKh1FB32SLnALMVXnqFy7L4HQPiuqwle1h7hKLdSN5wsKbffSA/s72-c/hubiifacebook.jpg" height="72" width="72"/><thr:total>1</thr:total><georss:featurename>Mjåtveitvegen 26D, 5918, Norway</georss:featurename><georss:point>60.515230074232662 5.2459716796875</georss:point><georss:box>60.513276074232664 5.2410361796875 60.517184074232659 5.2509071796875</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-7856153229512630340</id><published>2011-09-10T19:55:00.000+02:00</published><updated>2011-09-10T21:40:50.551+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anarchy online"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="item assistant"/><category scheme="http://www.blogger.com/atom/ns#" term="links"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Item Assistant v1.0</title><content type='html'>I would like to thank everyone for all the feedback, encouragement and gentle nudges I have received over the last 18 months or so.&amp;nbsp;It has been a long while since I released an update to Item Assistant, and I apologize for that, but now the wait is over.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://sourceforge.net/projects/aoia/files/Item%20Assistant/1.0.0/&quot;&gt;v1.0 is here!&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: right;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKoLZS_5qUUcWBjl3x069b4w9WoHzg318prIRoDN65eCGdQS2mEAo4UTx1RNXMv8prhuguydydtqGA4k7O1v2ovunnE1JQXN73cHctbfx6cb8mq2Qq1R4mFFKP7nbBU7v4QETTTDrydqQ/s1600/oaia_summary.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKoLZS_5qUUcWBjl3x069b4w9WoHzg318prIRoDN65eCGdQS2mEAo4UTx1RNXMv8prhuguydydtqGA4k7O1v2ovunnE1JQXN73cHctbfx6cb8mq2Qq1R4mFFKP7nbBU7v4QETTTDrydqQ/s200/oaia_summary.jpg&quot; width=&quot;173&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Major changes this release include the new Summary View and an installer to supplement the regular zip archive distribution.&lt;br /&gt;
&lt;br /&gt;
The Summary View shows credits and levels of your characters, while the installer takes care of some of the most common problems people have installing the application.&lt;br /&gt;
&lt;br /&gt;
In addition to new features, a lot of work have gone into trying to make the application more robust to handle the different usage scenarios.&lt;br /&gt;
&lt;br /&gt;
From the&amp;nbsp;change log:&lt;br /&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Fixed bug 2947010. Generating the script with items for ingame display now use the correct linebreak tag.&lt;/li&gt;
&lt;li&gt;Fixed bug 2802231 in the find panel and in the PB filter panel. Toon list is now reloaded as it is opened.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The window location is now recorded and restored to/from the conf file.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Opening an item using Xyphos.com will now also supply the QL of the item so the stats are shown correctly.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Improved ripping of items database so it supports newer version of AO.&lt;/li&gt;
&lt;li&gt;New Summary View shows levels and amount of credits for all registered toons.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Created a basic installer.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
Enjoy!</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/7856153229512630340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2011/09/item-assistant-v10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/7856153229512630340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/7856153229512630340'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2011/09/item-assistant-v10.html' title='Item Assistant v1.0'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKoLZS_5qUUcWBjl3x069b4w9WoHzg318prIRoDN65eCGdQS2mEAo4UTx1RNXMv8prhuguydydtqGA4k7O1v2ovunnE1JQXN73cHctbfx6cb8mq2Qq1R4mFFKP7nbBU7v4QETTTDrydqQ/s72-c/oaia_summary.jpg" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>5918 Frekhaug, Norway</georss:featurename><georss:point>60.511941 5.2397138</georss:point><georss:box>60.504125 5.2199728 60.519757 5.2594547999999994</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-7096057496609976203</id><published>2011-07-31T11:36:00.003+02:00</published><updated>2011-07-31T11:38:49.220+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="openvpn"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><category scheme="http://www.blogger.com/atom/ns#" term="virtualbox"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>OpenVPN on Windows 7</title><content type='html'>I have always had a problem with OpenVPN on my Windows 7 (64 bit, pro edition) laptop. Installing would go just fine, but it was never able to connect to the VPN server, even though I checked on several other computers (even a Windows 7 one) that the settings were correct and working.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;VirtualBox&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;As it turns out&lt;/i&gt;,&amp;nbsp;OpenVPN and Oracle VirtualBox on the same computer just doesn&#39;t work. Uninstalling VirtualBox would make it possible to connect to my VPN server.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;However&lt;/i&gt;, I then encountered another issue...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;TUN/TAP Driver&lt;/b&gt;&lt;br /&gt;
If the VPN connection dropped, like due to an unstable wifi link, I could never get it to work after it had reconnected.&lt;br /&gt;
&lt;br /&gt;
After rebooting it would work fine though, so after a bit of fiddling I came up with a workaround. Before reconnecting to the VPN server I have to disable and then re-enable the TUN/TAP network driver. Go figure...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Software Used&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Windows 7 64 bit professional edition&lt;/li&gt;
&lt;li&gt;VirtualBox 4.0.10 and 4.1.0&lt;/li&gt;
&lt;li&gt;OpenVPN 2.2.1&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/7096057496609976203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2011/07/openvpn-on-windows-7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/7096057496609976203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/7096057496609976203'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2011/07/openvpn-on-windows-7.html' title='OpenVPN on Windows 7'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-4158666970935645537</id><published>2011-06-28T19:37:00.001+02:00</published><updated>2011-06-28T19:45:12.439+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firewall"/><category scheme="http://www.blogger.com/atom/ns#" term="geekstuff"/><category scheme="http://www.blogger.com/atom/ns#" term="hardware"/><category scheme="http://www.blogger.com/atom/ns#" term="links"/><title type='text'>Project Firewall - Hardware</title><content type='html'>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://photos.pcpro.co.uk/images/front_picture_library_PC_Pro/dir_291/it_photo_145720_50.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;b&gt;&lt;img border=&quot;0&quot; src=&quot;http://photos.pcpro.co.uk/images/front_picture_library_PC_Pro/dir_291/it_photo_145720_50.jpg&quot; /&gt;&lt;/b&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;NetGear WNDR3700&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;&lt;u&gt;Yey!&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;My ISP upgraded my internet connection, and lowered the price at the same time. My&amp;nbsp;initial tought was ofcourse&amp;nbsp;&quot;&lt;i&gt;Fantastic! Woot!!1&lt;/i&gt;&quot;. And it looked quite good, except I didn&#39;t manage to get full download speed on my new connection with my current router, the &lt;a href=&quot;http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx&quot;&gt;NetGear WNDR3700&lt;/a&gt;.&lt;br /&gt;
Don&#39;t get me wrong, its a pretty decent piece of hardware, but as most appliances meant for the mass market, it isn&#39;t really designed to handle a 60 Mbps fiber connection. My peak download speed was about 5.85 MB/s or about 50 Mbps.&lt;br /&gt;
&lt;br /&gt;
So, out with the old, and in with the new. This time I wanted to be sure my router/firewall would handle the load I put on it, and preferably handle a couple of OpenVPN connections as well. After a shopping spree I ended up with the following hardware&amp;nbsp;purchases:&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://pdus.zotac.com/components/com_virtuemart/shop_image/product/FUSION350-A-E_image2%20[800x600].jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;152&quot; src=&quot;http://pdus.zotac.com/components/com_virtuemart/shop_image/product/FUSION350-A-E_image2%20[800x600].jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;ZOTAC FUSION350-A-E&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;ul&gt;&lt;li&gt;Main board:&amp;nbsp;&lt;a href=&quot;http://www.komplett.no/k/ki.aspx?sku=634513&quot;&gt;ZOTAC FUSION350-A-E&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;NIC:&amp;nbsp;&lt;a href=&quot;http://www.komplett.no/k/ki.aspx?sku=477934&quot;&gt;Intel Pro/1000CT PCIe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Memory:&amp;nbsp;&lt;a href=&quot;http://www.komplett.no/k/ki.aspx?sku=354787&quot;&gt;Kingston ValueR DDR3 SO-DIMM 1066MHz 2GB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;SSD:&amp;nbsp;&lt;a href=&quot;http://www.multicom.no/KINGSTON-SSDNOW-V-SERIES-30GB-25-SATA2/cat-p/c/p2948442&quot;&gt;KINGSTON SSDNOW V-SERIES 30GB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cabinet:&amp;nbsp;&lt;a href=&quot;http://www.multicom.no/ANTEC-ISK-300-150-EC-Mini-ITX-Chassis/cat-p/c/p2810793&quot;&gt;ANTEC ISK 300-150 EC Mini-ITX&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;All in all it set me back about 3000 NOK (including P&amp;amp;P), a bit expensive for a router, but with the load this should be able to handle I should hopefully not need to buy a new one for a few years!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://img.webmercs.com/di.ashx/632595&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://img.webmercs.com/di.ashx/632595&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;ANTEC ISK 300-150&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;I must say I was very impressed by the Antec ISK 300-150 when it arrived. It is one heavy, solid piece of work weighing in at almost 5 kg!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;It has room for two 2.5&quot; HDD/SSD drives, as well as a slimline 5.25&quot; CD/DVD ROM drive. Lots of open vents on the side and above the expansion slot and the 80mm fan has 3 adjustable speed settings though a small switch on the rear of the cabinet. Mine is running fine at the slowest setting, and is barely&amp;nbsp;audible.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The mainboard comes with an Atheros based wireless mini-pc-express card for b/g/n networking in addition to the gigabit integrated NIC. Adding the Intel NIC completed my networking requirements with a total of three physical zones (wan, lan and wlan).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
I will follow up this post with information about software and performance experiences later on.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/4158666970935645537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2011/06/project-firewall-hardware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/4158666970935645537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/4158666970935645537'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2011/06/project-firewall-hardware.html' title='Project Firewall - Hardware'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-1684081287356355474</id><published>2011-05-10T17:04:00.001+02:00</published><updated>2011-05-10T17:08:19.884+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="links"/><category scheme="http://www.blogger.com/atom/ns#" term="work"/><title type='text'>.Net Clipboard and the OutOfMemoryException.</title><content type='html'>I recently had a weird bug that manifested as a first-chance OutOfMemoryException inside Windows.Forms when using the clipboard. At first it doesn&#39;t appear to do any harm, except the clipboard did not return the expected data. Unfortunately it had a &lt;i&gt;slight &lt;/i&gt;side effect: Any later call using OLE/COM would crash and burn. &lt;b&gt;Bummer!&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Some hours debugging later, and it was apparent that the crash was happening consistently by just letting the application idle after putting something on the clipboard. Apparently there was something wrong in the idle mechanism that updates the paste-command button... but what?&lt;br /&gt;
&lt;br /&gt;
So I went surfing &lt;a href=&quot;http://www.urbandictionary.com/define.php?term=intarweb&quot;&gt;teh intarweb&lt;/a&gt;! And found&amp;nbsp;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/c2thcsx4.aspx&quot;&gt;this MSDN&lt;/a&gt;&amp;nbsp;page from Microsoft explaining how to use the clipboard from a .Net application. Then I noticed this:&lt;br /&gt;
&lt;blockquote&gt;To access data from the Clipboard by using versions earlier than .NET Framework 2.0, use the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.getdataobject.aspx&quot;&gt;GetDataObject&lt;/a&gt; method and call the methods of the returned &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.forms.idataobject.aspx&quot;&gt;IDataObject&lt;/a&gt;. To determine whether a particular format is available in the returned object, for example, call the&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.forms.idataobject.getdatapresent.aspx&quot;&gt;GetDataPresent&lt;/a&gt; method.&lt;/blockquote&gt;That looked familiar, and indeed the code was using the &lt;i&gt;old way&lt;/i&gt; of accessing the clipboard, by first using GetDataObject() and then using GetData() on the result.&lt;br /&gt;
Now the page didn&#39;t say anything about this way of doing things being deprecated, but I still got that nagging sensation that this was an important clue.&lt;br /&gt;
&lt;br /&gt;
So I set down and create two simple test applications that did the same thing, only each using a different variation of the clipboard API. The applications were simple: put something on the clipboard, and repeatedly try and read it back in a loop.&lt;br /&gt;
&lt;br /&gt;
The result was that using the new (and preferred?) way of clipboard access had no problems. I ran it through a loop of million clipboard accesses without a&amp;nbsp;hiccup. On the other hand, the application using the old variation of the API had a very familiar problem. After some iterations it started throwing the familiar&amp;nbsp;first-chance OutOfMemoryException. What more, the clipboard data stopped being available for the test application. Very similar indeed to the problem in the main application!&lt;br /&gt;
&lt;br /&gt;
A few repeat runs, trying stuff like forced garbage collection (which did not help at all, except the performance went down the drain) a clear pattern emerged: My test application would stop working after 65525&amp;nbsp;invocations&amp;nbsp;of GetData(). The 65526th time and onward it would just silently fail with the OutOfMemoryException in the debugger output.&lt;br /&gt;
&lt;br /&gt;
65526 is pretty darn close to the &lt;i&gt;magical&lt;/i&gt;&amp;nbsp;0xFFFF 16 bit limit, so&amp;nbsp;allowing&amp;nbsp;for some&amp;nbsp;initialization&amp;nbsp;and general overhead, it seems clear that the old variation of the clipboard API (pre v2.0) is leaking a handler, global resource or otherwise doesn&#39;t free up some counter internally.&lt;br /&gt;
&lt;br /&gt;
If you are lucky enough to be able to use the newer version of the .Net API I suggest you do so, and remove any code using the old API, since its quite simply broken!</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/1684081287356355474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2011/05/net-clipboard-and-outofmemoryexception.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1684081287356355474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1684081287356355474'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2011/05/net-clipboard-and-outofmemoryexception.html' title='.Net Clipboard and the OutOfMemoryException.'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-1428135588184685168</id><published>2011-05-05T13:26:00.000+02:00</published><updated>2011-05-05T13:26:40.065+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="books"/><category scheme="http://www.blogger.com/atom/ns#" term="geekstuff"/><category scheme="http://www.blogger.com/atom/ns#" term="openvpn"/><title type='text'>OpenVPN 2 Cookbook</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXgfi1W7KlDbk_YW-fiWthiCCTkSFWAbZcBoy5Eo76RO_eD_pqTXgpnfW-kVDFI5MjxlXSkpLHEGmkVYvJO6zO-Nhl1SpiFBQW69-GiGEndbkJcQ-oD0j0J3hlY35JuZGXz1niLegf6CE/s1600/OpenVPN+2+Cookbook+-+FrontCover.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXgfi1W7KlDbk_YW-fiWthiCCTkSFWAbZcBoy5Eo76RO_eD_pqTXgpnfW-kVDFI5MjxlXSkpLHEGmkVYvJO6zO-Nhl1SpiFBQW69-GiGEndbkJcQ-oD0j0J3hlY35JuZGXz1niLegf6CE/s200/OpenVPN+2+Cookbook+-+FrontCover.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
I just received a copy of the &lt;a href=&quot;http://www.packtpub.com/openvpn-2-cookbook/book&quot;&gt;OpenVPN 2 Cookbook&lt;/a&gt;&amp;nbsp;by Jan Just Keijser in my virtual mailbox. At first glance, the 350 pages appears to contain setup- and troubleshooting-guides for the most common usages of OpenVPN on both Linux and Windows platforms (and in some cases MacOS too).&lt;br /&gt;
&lt;br /&gt;
It is available in regular printed form, and digitally in ePub and PDF formats, from&amp;nbsp;&lt;a href=&quot;http://www.packtpub.com/&quot;&gt;Packt Publishing&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
From the description of the book:&lt;br /&gt;
&lt;blockquote&gt;&lt;i&gt;OpenVPN 2 Cookbook provides solutions to common OpenVPN problems. The book covers everything a system administrator needs to manage and run an OpenVPN network, from point to point networks to troubleshooting.&lt;/i&gt;&lt;/blockquote&gt;I will be back with a review once I have had a chance to read through it.</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/1428135588184685168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2011/05/openvpn-2-cookbook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1428135588184685168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1428135588184685168'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2011/05/openvpn-2-cookbook.html' title='OpenVPN 2 Cookbook'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXgfi1W7KlDbk_YW-fiWthiCCTkSFWAbZcBoy5Eo76RO_eD_pqTXgpnfW-kVDFI5MjxlXSkpLHEGmkVYvJO6zO-Nhl1SpiFBQW69-GiGEndbkJcQ-oD0j0J3hlY35JuZGXz1niLegf6CE/s72-c/OpenVPN+2+Cookbook+-+FrontCover.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-1264478817877151191</id><published>2011-02-24T15:52:00.001+01:00</published><updated>2011-02-24T15:57:07.928+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="links"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Free Tail GUI for Windows</title><content type='html'>Need a tail replacement on your Windows box? Look no further than&amp;nbsp;&lt;a href=&quot;http://log-expert.de/&quot;&gt;Log Expert&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
It has lots of powerful features such as:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;regular expression highlighting&lt;/li&gt;
&lt;li&gt;&quot;columnizer&quot; for well-defined log file formats&lt;/li&gt;
&lt;li&gt;opensource&lt;/li&gt;
&lt;li&gt;unicode support&lt;/li&gt;
&lt;li&gt;plugin support&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
...to name a few!&lt;br /&gt;
&lt;br /&gt;
The homepage for the source-code: &lt;a href=&quot;http://logexpert.codeplex.com/&quot;&gt;http://logexpert.codeplex.com/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/1264478817877151191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2011/02/free-tail-gui-for-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1264478817877151191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1264478817877151191'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2011/02/free-tail-gui-for-windows.html' title='Free Tail GUI for Windows'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-402834063014127028</id><published>2011-01-11T13:54:00.000+01:00</published><updated>2011-01-11T14:03:03.207+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="geekstuff"/><category scheme="http://www.blogger.com/atom/ns#" term="guide"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="openvpn"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Ubuntu and OpenVPN FQDN Problems.</title><content type='html'>I have been having some weird problems with OpenVPN on my clean Ubuntu 10.10 (desktop) install whenever I connect to a remote LAN using OpenVPN. The remote LAN hosts a number of servers, all located under the domain &lt;i&gt;company.local&lt;/i&gt; (example). Even if it connects and I can ping the remote machine that is called &lt;i&gt;testserver&lt;/i&gt;, I can NOT ping the same server through its fully qualified domain name (FQDN) &lt;i&gt;testserver.company.local&lt;/i&gt;. Ping would fail with the following error:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;ping: unknown host testserver.company.local&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
Trying to lookup the FQDN with nslookup works just fine! Strange!&lt;br /&gt;
&lt;br /&gt;
Now it appears that the reason is something called a MDNS (Multicast DNS) which kicks in and handles (by default) all &lt;i&gt;.local&lt;/i&gt; domains. Looking at the file &lt;i&gt;/etc/nsswitch.conf&lt;/i&gt; I found a line that looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
Apparently the &#39;.local&#39; extension is not sent to the DNS server for resolution if the MDNS system cant resolve it. So I went ahead and changed the line to:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;hosts: files mdns4_minimal dns mdns4&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
I went back to the shell and ran &lt;i&gt;ping testserver.company.local&lt;/i&gt; again, and lo-and-behold it works!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Software used:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;NetworkManager&lt;/li&gt;
&lt;li&gt;NetworkManager-OpenVPN&lt;/li&gt;
&lt;li&gt;OpenVPN&lt;/li&gt;
&lt;li&gt;Ubuntu 10.10 Desktop&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/402834063014127028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2011/01/ubuntu-and-openvpn-fqdn-problems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/402834063014127028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/402834063014127028'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2011/01/ubuntu-and-openvpn-fqdn-problems.html' title='Ubuntu and OpenVPN FQDN Problems.'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-8021048961325820998</id><published>2010-10-19T10:49:00.000+02:00</published><updated>2010-10-19T10:49:17.041+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="guide"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="pdo"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Ubuntu PHP, PDO and MySQL</title><content type='html'>&lt;b&gt;Note to self:&lt;/b&gt;&lt;br /&gt;
In order for the PDO MySQL driver to get installed, you need to install the php5-mysql package.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;sudo aptitude install php5-mysql&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/8021048961325820998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2010/10/ubuntu-php-pdo-and-mysql.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/8021048961325820998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/8021048961325820998'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2010/10/ubuntu-php-pdo-and-mysql.html' title='Ubuntu PHP, PDO and MySQL'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-5266173033336954488</id><published>2010-08-30T20:36:00.000+02:00</published><updated>2010-08-30T20:36:09.822+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>SVN Trouble</title><content type='html'>After upgrading to the latest TortoiseSVN I started getting trouble committing changes back to the server with the following error:&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&#39;\&#39; is not a working copy.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
Downloading and testing the latest SVN command-line client yielded much the same results, only with some different messages.&lt;br /&gt;
&lt;br /&gt;
After much googling I got a sneaky suspicion that there was an issue with my working-copy actually being on the root of a drive; in my case U:.&lt;br /&gt;
&lt;br /&gt;
Checking everything out again, but this time at U:\wc worked perfectly. &lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Versions used:&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;TortoiseSVN 1.6.10, Build 19898 - 64 Bit&lt;/li&gt;
&lt;li&gt;Subversion 1.6.12&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
To sum it up: Don&#39;t upgrade if you have your working copy at the root of a drive and it is currently working!</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/5266173033336954488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2010/08/svn-trouble.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/5266173033336954488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/5266173033336954488'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2010/08/svn-trouble.html' title='SVN Trouble'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-4492327087242779919</id><published>2010-01-26T18:34:00.000+01:00</published><updated>2010-01-26T18:42:19.157+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anarchy online"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="item assistant"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Item Assistant v0.9.7</title><content type='html'>Item Assistant version 0.9.7 has just been released to the public. This is a pure bugfix release that hopefully fixes some compatibility problems on Windows Vista and Windows 7.&lt;br /&gt;&lt;br /&gt;Also included is a bugfix from Darkbane relating to the recording of org contracts.&lt;br /&gt;&lt;br /&gt;From the changelog:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fixed org city output for CharacterParser integration. Does not dump contract message on zone since it doesn&#39;t contain anything useful anyway.&lt;/li&gt;&lt;li&gt;Includes UAC manifest in EXE file. Hopefully this should make some compatibility problems with Vista and 7 go away.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/4492327087242779919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2010/01/item-assistant-v097.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/4492327087242779919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/4492327087242779919'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2010/01/item-assistant-v097.html' title='Item Assistant v0.9.7'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-3504067354306579017</id><published>2010-01-16T18:30:00.001+01:00</published><updated>2010-01-26T18:44:37.975+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anarchy online"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="item assistant"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>AO Item Assistant v0.9.6</title><content type='html'>I have just released v0.9.6 of AO Item Assistant. This release is mainly a bugfix release and fixes some critical stability and compatibility issues.&lt;br /&gt;
&lt;br /&gt;
Also included are patches from Darkbane to make the application output files that can be used by his tools.&lt;br /&gt;
&lt;br /&gt;
Output of the files can be controlled by the &lt;span style=&quot;font-style: italic;&quot;&gt;Record Stats&lt;/span&gt; button on the toolbar.&lt;br /&gt;
&lt;br /&gt;
Here is the official changelog:&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Changed link to AO Mainframe.&lt;/li&gt;
&lt;li&gt;Updated SQLite to version 3.6.22 to resolve some issues.&lt;/li&gt;
&lt;li&gt;Fixed database parser bugs. The symptom was that the application was unable to track certain items.&lt;/li&gt;
&lt;li&gt;Application now outputs files that can be opened with the CharacterParser application.&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/3504067354306579017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2010/01/ao-item-assistant-v096.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/3504067354306579017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/3504067354306579017'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2010/01/ao-item-assistant-v096.html' title='AO Item Assistant v0.9.6'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-1211592553607340086</id><published>2009-11-20T11:40:00.000+01:00</published><updated>2010-01-26T18:45:05.862+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="guide"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="samba"/><category scheme="http://www.blogger.com/atom/ns#" term="swat"/><title type='text'>SWAT Without Root User</title><content type='html'>Ubuntu and other debian based distros typically haven&#39;t got a root user on the system, since its expected that system administrator tasks happen through the sudo command. &lt;br /&gt;
&lt;br /&gt;
SWAT however, by default, expects you to log in with the root user to make it possible to change any settings. A very nice discovery i found by googling a while, is that the actual user doesn&#39;t matter, as long as the user you log in as have write access to the samba configuration file. &lt;br /&gt;
&lt;br /&gt;
Adding my own normal user to a new &quot;admin&quot; group, and giving that group write access to /etc/samba/smb.conf made everything work without creating a root user for the entire system.</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/1211592553607340086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2009/11/swat-without-root-user.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1211592553607340086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1211592553607340086'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2009/11/swat-without-root-user.html' title='SWAT Without Root User'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2861296327409593706.post-1086078609144716662</id><published>2009-07-03T19:36:00.001+02:00</published><updated>2009-07-03T19:58:08.861+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anarchy online"/><category scheme="http://www.blogger.com/atom/ns#" term="boost"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="item assistant"/><title type='text'>The Problem Child</title><content type='html'>Getting the latest release of Item Assistant out the door has been problematic to say the least. The first published binary labeled v0.9.4 proved to be flawed in more ways than one.&lt;br /&gt;&lt;br /&gt;After FunCom released the 18.1 patch to Anarchy Online, I had to completely re-implement the database extraction code. Before it was using an existing DLL by Faircom called CTreeStd.dll. Unfortunately the age of that DLL was showing and FunCom decided (wisely IMHO) it was time to move to something that supported a database size larger than 2 GB.&lt;br /&gt;&lt;br /&gt;Re-implementing it wasn&#39;t really that hard, as I originally based it on mapped_file_source from the boost iostreams library, to map each of the data-files into memory at a turn, and extracting all relevant information. This turned out to be a shortlived solution, as bug reports started flooding in from Windows XP users. Apparently there are limitations in the older Windows kernel that prevent me from mapping a 1 GB file into memory at one go. So I went back to the drawing board, and implemented it all again, this time using the more classic approach of the std::ifstream. Since the &quot;random&quot; access I cause isn&#39;t really that random (I read all items in the sequence they are stored in the file) there was no noticable performance difference between the two solutions on my PC.&lt;br /&gt;&lt;br /&gt;So just to sum up, here is the list of what has changed between v0.9.3 and the current v0.9.5:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Added support for the new database in v18.1.&lt;/li&gt;&lt;li&gt;The application is no longer using the registry to store its settings. Settings are stored in the ItemAssistant.conf file.&lt;/li&gt;&lt;li&gt;Enhanced item listing so the container column shows if an item is equipped, and at which tab-panel it is.&lt;/li&gt;&lt;li&gt;Added baloon warning popup when application is started after the AO client was started since this may lead to the database being out of sync.&lt;/li&gt;&lt;li&gt;Improved statusbar for the Inventory view.&lt;/li&gt;&lt;li&gt;The application will now remember which dimension you chose last time you changed dimension in either the find panel or the pattern matcher.&lt;/li&gt;&lt;li&gt;Added &quot;Copy Item Name(s)&quot; to the item context menu.&lt;/li&gt;&lt;li&gt;Bug Fix: Fixed weird encoding of ampersands in backpack names.&lt;/li&gt;&lt;li&gt;Bug Fix: Exporting all items from a toon should not put multiple quotes around the backpack names any more.&lt;/li&gt;&lt;li&gt;Bug Fix: Fixed buffer overflow with long backpack names.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkfblog.blogspot.com/feeds/1086078609144716662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkfblog.blogspot.com/2009/07/problem-child.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1086078609144716662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2861296327409593706/posts/default/1086078609144716662'/><link rel='alternate' type='text/html' href='http://mkfblog.blogspot.com/2009/07/problem-child.html' title='The Problem Child'/><author><name>Morten</name><uri>http://www.blogger.com/profile/15764001240155685611</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>