<?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>ma.juii.net</title>
	<atom:link href="http://ma.juii.net/feed" rel="self" type="application/rss+xml" />
	<link>http://ma.juii.net</link>
	<description>This is Matthias Ansorg.</description>
	<lastBuildDate>Tue, 08 May 2012 13:09:41 +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>How to fix &#8220;could not find rake-0.9.2.2 in any of the sources&#8221; in RubyMine 4.0.3?</title>
		<link>http://ma.juii.net/blog/could-not-find-rake-in-rubymine</link>
		<comments>http://ma.juii.net/blog/could-not-find-rake-in-rubymine#comments</comments>
		<pubDate>Tue, 08 May 2012 13:07:49 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=6079</guid>
		<description><![CDATA[Symptoms <p>When trying to start your Ruby application from within RubyMine using a &#8220;Run&#8221; or &#8220;Debug&#8221; configuration, you get an error message like this:</p> <p>/usr/share/ruby-rvm/rubies/ruby-1.9.2-p180/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /usr/share/ruby-rvm/gems/ruby-1.9.2-p180/bin/unicorn_rails -l 0.0.0.0:5000 -E development -c ./config/unicorn.rb /usr/share/ruby-rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.3/lib/bundler/spec_set.rb:90:in `block in materialize&#8217;: Could not find rake-0.9.2.2 in any of the sources (Bundler::GemNotFound) from /usr/share/ruby-rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.3/lib/bundler/spec_set.rb:83:in `map!&#8217; [...] Process finished with [...]]]></description>
			<content:encoded><![CDATA[<h2>Symptoms</h2>
<p>When trying to start your Ruby application from within RubyMine using a &#8220;Run&#8221; or &#8220;Debug&#8221; configuration, you get an error message like this:</p>
<p>/usr/share/ruby-rvm/rubies/ruby-1.9.2-p180/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /usr/share/ruby-rvm/gems/ruby-1.9.2-p180/bin/unicorn_rails -l 0.0.0.0:5000 -E development -c ./config/unicorn.rb<br />
/usr/share/ruby-rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.3/lib/bundler/spec_set.rb:90:in `block in materialize&#8217;: Could not find rake-0.9.2.2 in any of the sources (Bundler::GemNotFound)<br />
from /usr/share/ruby-rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.3/lib/bundler/spec_set.rb:83:in `map!&#8217;<br />
[...]<br />
Process finished with exit code 1</p>
<h2>Cause</h2>
<p>This happens because RubyMine itself does not run within a RVM environment, so cannot start Ruby applications correctly from it. You probably have installed RVM globally (like from the Ubuntu package) and all your gems of RVM environments are likewise stored globally rather than in ~/.rvm/. However, RubyMine is only able to automatically detect and use RVM environments when these are stored in ~/.rvm/ [<a href="http://www.jetbrains.com/ruby/webhelp/rvm-support.html">source</a>]. So in our case here, the applications try to use globally installed gems, which are not necessarily there.</p>
<h2>Solution</h2>
<p>This can be fixed by starting RubyMine from a login shell where RVM is loaded (such as a virtual terminal; check with &#8220;type rvm | head -1&#8243; and &#8220;which ruby&#8221; if RVM is loaded and your desired RVM environment is in use first).</p>
<p>This can also be worked around by not starting applications from within RubyMine at all, instead using a login shell for that.</p>
<p>The more elegant solution is to use the fact that RubyMine <em>can</em> use RVM environments if the gems are found in ~/.rvm/. For that either uninstall RVM and re-install it locally into ~/.rvm/, which is the simplest and most comfortable way [<a href="https://rvm.io/rvm/install/">instructions</a>]. Alternatively, transform your system-wide install into a &#8220;mixed mode&#8221; installation, where RVM is installed system-wide but the gems and rubies reside in ~/.rvm/ [<a href="http://ma.juii.net/blog/how-to-use-a-globally-installed-rvm-with-rubymine">instructions</a>].</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/could-not-find-rake-in-rubymine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use the Ubuntu-provided rvm with RubyMine?</title>
		<link>http://ma.juii.net/blog/how-to-use-a-globally-installed-rvm-with-rubymine</link>
		<comments>http://ma.juii.net/blog/how-to-use-a-globally-installed-rvm-with-rubymine#comments</comments>
		<pubDate>Tue, 08 May 2012 11:48:35 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=6074</guid>
		<description><![CDATA[<p>This is a bit of a tricky task because the package ruby_rvm from the Ubuntu 12.10 archives is naturally installed system-wide, but RubyMine only works with rvm that provides gems on a per-user basis [source]. The solution is to use the so-called &#8220;mixed mode&#8221; installation of rvm: installed system-wide, but gems and optionally rubies provided [...]]]></description>
			<content:encoded><![CDATA[<p>This is a bit of a tricky task because the package ruby_rvm from the Ubuntu 12.10 archives is naturally installed system-wide, but RubyMine only works with rvm that provides gems on a per-user basis [<a href="http://www.jetbrains.com/ruby/webhelp/rvm-support.html">source</a>]. The solution is to use the so-called &#8220;mixed mode&#8221; installation of rvm: installed system-wide, but gems and optionally rubies provided on a per-user basis in ~/.rvm/.</p>
<p>Also, any rvm installation has this peculiarity: rvm is only loaded in login shells, while being on the PATH but not loaded in (interactive and non-interactive) non-login shells. (The docs refer only to non-interactive shells for the latter case: &#8220;For non-interactive shells RVM will be added to PATH only, not loaded.&#8221; [<a href="https://rvm.io/rvm/basics/">source</a>] However it is clear from the docs&#8217; <a href="https://rvm.io/integration/gnome-terminal/">gnome-terminal integration instructions</a> and the following observations, that this refers to all non-login shells: rvm, in a system-wide installation, does its loading via /etc/profile.d/rvm.sh and via .bash_login, which all are only evaluated for login shells (while .bash_rc is evaluated for non-login shells). But there&#8217;s a way to load RVM at the start of any non-login shell, including the non-interactive shell environments when executing a script [<a href="https://rvm.io/rvm/basics/">see</a>].)</p>
<p>Let&#8217;s install it:</p>
<p>sudo apt-get install ruby_rvm;</p>
<p>sudo apt-get install bison openssl libssl-dev libyaml-dev libxslt-dev libtool autoconf libc6-dev ncurses-dev; # requirements not recorded as packages</p>
<p><code>sudo rvm package install openssl;</code></p>
<p><code>sudo rvm install 1.9.2 --with-openssl-dir=/usr/share/ruby-rvm/usr/;</code> # [<a href="http://stackoverflow.com/a/9440944/1270008" data-cke-saved-href="http://stackoverflow.com/a/9440944/1270008">source</a>]</p>
<p><code>sudo rvm use 1.9.2 --default;</code> # Set a system-wide default version into /usr/share/ruby_rvm/config/alias [<a href="https://rvm.io/rvm/basics/" data-cke-saved-href="https://rvm.io/rvm/basics/">source</a>]</p>
<p><code>sudo addgroup rvm;</code></p>
<p><code>sudo addgroup username rvm;</code> # Add all users to that group that may use rvm.</p>
<p><code>sudo chown -RL :rvm /usr/share/ruby-rvm;</code> # Fix write permission probs when installing gems as non-superuser; might not be needed. If setting the group is not enough, make yourself the owner of these files.</p>
<p>Now close your X session and open a new X session &#8211; only this forced re-login makes your new group membership effective.</p>
<p>At this point, RVM will be registered as a shell function whenever starting a login shell, and user&#8217;s rights to it are evaluated based on the rvm group membership [<a href="https://rvm.io/rvm/install" data-cke-saved-href="https://rvm.io/rvm/install">source</a>, see section 2]. But there is no means to let the chosen RVM configuration become effective, like selecting a default Ruby environment (/etc/profile.d/rvm.sh sources /etc/rvmrc and ~/.rvmrc, but these are files that use bash syntax for setting path variables etc., not RVM config files). It is unclear why this step of reading the rvm config was not included in /etc/profile.d/rvm.sh, but probably because this has to be done on a user-specific basis, not system-wide, as it can also include user-specific configuration (but these are also optional). So to read the RVM config, add the following line to the end of .bash_profile:</p>
<p><tt>[[ -s "/usr/share/ruby-rvm/scripts/rvm" ]] &amp;&amp; . "/usr/share/ruby-rvm/scripts/rvm"</tt></p>
<p>Note that on Ubuntu 12.04, this really has to go to .bash_profile, which, if present, is read as the only configuration file for login shells. Normally, it should also be possible to add this to the end of .profile, which is also read by login shells but on Ubuntu sources .bashrc before; and that step does something, unknown so far, that prohibits that the above line is effective (see ruby -v output). The same problem happen when sourcing .bashrc in .bash_profile. This problem is not the <code>[ -z "$PS1" ] &amp;&amp; return</code> line problem [<a href="https://rvm.io/rvm/basics/" data-cke-saved-href="https://rvm.io/rvm/basics/">discussion of it</a>] because it also happens in interactive shells (those allowing user interaction, like a normal virtual terminal). The problem with this line exists in <tt>.bashrc</tt> in Ubuntu 12.04, but can be ignored as <tt>.bashrc</tt> will not be evalutated in our above setup.</p>
<p>Now, some additional configuration is needed to make the &#8220;Mixed Mode&#8221; effective. For every user, execute [<a href="https://rvm.io/rvm/install/">source</a>, see 2. Load RVM ...: Mixed Mode]:</p>
<ul>
<li>For rubies installed in system, gemsets separated per user (it is unknown so far if RubyMine supports this):</li>
<ul>
<li>user$ rvm user gemsets</li>
</ul>
<li>For rubies and gemsets separated per user:</li>
<ul>
<li>user$ rvm user all</li>
</ul>
</ul>
<p>Next, we need to re-configure the used virtual terminal to use a login shell, for above reasons. For <tt>gnome-terminal</tt>, see <a href="https://rvm.io/integration/gnome-terminal/" data-cke-saved-href="https://rvm.io/integration/gnome-terminal/">this fix</a>. For <tt>konsole</tt>, go to &#8220;Settings -&gt; Configure Current Profile &#8230;&#8221; and change the command to &#8220;<code>/bin/bash -l</code>&#8220;, the login shell.</p>
<p>To check for success of the <tt>rvm</tt> setup, open a new virtual console and run <code>type rvm | head -1</code>. It should indicate that <tt>rvm</tt> is a shell function. Then run <tt>which ruby</tt>; it should point to your default ruby version in <tt>/usr/share/ruby-rvm/rubies/</tt>. Now go on and install the gems you need as desired, with the normal &#8220;gem&#8221; command.</p>
<p>With a setup like this, RubyMine should be able to detect and use and switch the correct RVM environment, being able to start Ruby applications within it when using its Run / Debug configurations.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/how-to-use-a-globally-installed-rvm-with-rubymine/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to manage multiple stock levels per product in Magento?</title>
		<link>http://ma.juii.net/blog/multiple-stocks-in-magento</link>
		<comments>http://ma.juii.net/blog/multiple-stocks-in-magento#comments</comments>
		<pubDate>Thu, 03 May 2012 14:55:33 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=6055</guid>
		<description><![CDATA[Problem Description <p>The necessity to manage more than one stock counter per product can have multiple reasons:</p> You have a central warehouse for selling online and also a brick-and-mortar store for over-the-counter sales, and you want an overview what stock is where so that you can also offer the stock from the store for selling [...]]]></description>
			<content:encoded><![CDATA[<h2>Problem Description</h2>
<p>The necessity to manage more than one stock counter per product can have multiple reasons:</p>
<ul>
<li>You have a central warehouse for selling online and also a brick-and-mortar store for over-the-counter sales, and you want an overview what stock is where so that you can also offer the stock from the store for selling online.</li>
<li>You have a network of several physical stores that sell your products, and each one should have a web ordering interface.</li>
<li>You have multiple warehouses for selling online, each one for a different geographical area.</li>
<li>You have multiple warehouses for selling online, all in one location, just because the goods do not fit in one only.</li>
<li>You are a group of people operating a common webshop, with multiple warehouses for selling online, each being another person&#8217;s home and managed by this person (&#8220;distributed distribution&#8221;).</li>
</ul>
<h2>Solutions</h2>
<p>According to my research in 2012-05, you have these options to solve this. Ordered by quality, from my judgment &#8211; pick the first that fits your needs. I would suggest to use either the InnoExts or, if you don&#8217;t need all its features, the Wyomind extension (we use the latter).</p>
<p><strong><a href="http://www.magentocommerce.com/magento-connect/multi-warehouse.html">InnoExts Multi-Warehouse</a>.</strong> A commercial Magento extension for 300 USD (as of 2012-04). It has the most complete feature set for multi-stock management of all options here, including associating customers with warehouses and websites / stores with warehouses, doing automatic order routing to warehouses to avoid shipping costs, shipping methods per warehouse, notification about orders to all warehouses, list of products per warehouse, low-stock products per warehouse (they modified &#8220;Reports -&gt; Products -&gt; Low Stock&#8221; for that). What I miss is a comfortable &#8220;stock movement&#8221; feature incl. a stock movement journal, as in EmbeddedERP below. And what I rather dislike is the bloated look of the products overview list by having per-warehouse stock levels listed in it. But overall, solid quality. They have an online demo available.</p>
<p><strong><a href="http://www.magentocommerce.com/magento-connect/advanced-inventory-5249.html">Wyomind Advanced Inventory</a>.</strong> This is a commercial Magento extension for just 65 EUR (as of 2012-04). It offers all the basic features to expect from a multi-stock solution, and has some nice GUI details to make working with it comfortable, but so far it&#8217;s not as feature rich as the InnoExts extension and some functionality requires some polishing. But it&#8217;s in active development, and collaboration with the developer happens to be great. They have <a href="http://www.wyomind.com/advanced-inventory-magento.html">the docs</a> available online, and an online demo, so see for yourself.</p>
<p>The great features:</p>
<ul>
<li>You can assign &#8220;places&#8221; (warehouse / shop) to Magento store views (many-to-many relationship). Orders done in these store views can then be automatically lead to a deduction from the local stock of the assigned &#8220;place&#8221;. This routing can also be refined based on the customer&#8217;s country and ZIP location.</li>
<li>You can also do the &#8220;order routing&#8221; manually, after the order comes in.</li>
<li>You can use of arrow buttons to increase and decrease stock levels, in both the individual product view and the &#8220;Catalog -&gt; Manage Stocks&#8221; overview.</li>
<li>There is an automatic Google Maps integration to show your stores and their business times.</li>
<li>It displays on the frontend how much is available in what store (if you want that).</li>
<li>It has a concept of keeping an &#8220;online stock level&#8221; (the usual field Magento had before) and per-warehouse levels which are automatically or manually sync&#8217;ed to the online level, the latter being the sum. This seems to be to prohibit overselling while incoming orders are not yet assigned to a warehouse, but it also helps to avoid errors in stock transfers. Because the &#8221;Catalog -&gt; Manage Stocks&#8221; tells you how much to add / subtract to another warehouse to keep the sum intact. You can however also disable the separate &#8220;online stock level&#8221;.</li>
</ul>
<p>What&#8217;s missing (as of 2012-05-04, but it&#8217;s promised for the coming versions):</p>
<ul>
<li>A stock movement feature incl. a journal, like done in EmbeddedERP (see below).</li>
<li>E-mail notification of the specific warehouse after an order was assigned to it, including a copy of the order. (The order copy is needed because store operators not necessarily are trusted enough to get Magento backend access, also allowing them to edit their own stock levels to their advantage.)</li>
</ul>
<p><strong><a href="http://eretail.bizelo.com/">Bizelo eRetail</a>.</strong> This is an external, web based software offered as SaaS for 25 USD monthly [<a href="http://eretail.bizelo.com/inventory/pricing">source</a>]. It is a nice and modern looking application that is used to centrally gather all inventory information, including multiple warehouses and multiple stores. It then can sync this information with various marketplaces and shopping carts, including Magento. However this approach also means that there will only be one stock level visible on Magento, so there is no way to assign orders to warehouses from within Magento. You could of course sync the stock level of every warehouse to different website; that is, if eRetail supports this &#8211; I did not check; and it&#8217;s an admin&#8217;s nightmare anyway, as you then have to manage a ton of Magento installations in parallel. If however you only want to have one web shop offering, but keep track of your stock separated by warehouse, this solution might be for you.</p>
<p><strong><a href="http://www.magentocommerce.com/magento-connect/smile-openerp-synchro.html">Smile OpenERP Synchro</a>.</strong> Gratis Magento extension that acts as a connector to the likwise gratis and open source <a href="http://www.openerp.com/">OpenERP</a>. I have not tried out this alternative, yet it seems to be not for the faint of heart: orders and stock are imported from Magento into OpenERP and processed there, also providing the multi-stock feature as per the docs. However if you&#8217;re only after multi-stock, this solution is overkill, as OpenERP will require quite a bunch of learning, being a complex system.</p>
<p><strong><a href="http://www.magentocommerce.com/magento-connect/embedded-erp.html">BoostMyShop Embedded ERP</a>.</strong> A commercial Magento extension for 590 EUR (as of 2012-04). You will probably not buy it for having just the multi-stock feature, because of that price tag. However once you have it, you have much more than multi-stock (including automated re-orders at suppliers etc.). Also the multi-stock feature is the most complete implementation that I have seen so far, including a record of movements between stocks that also makes it easy to do the transfers (without the need to calculate manually and adapt two stock counters correctly, as in the other multi-stock extensions).</p>
<p><strong><a href="http://www.magentocommerce.com/magento-connect/multi-location-inventory.html">Multi-Location Inventory</a>.</strong> A commercial Magento extesion costing 99 USD (as per 2012-04). It can manage one stock counter per website view and additionally one &#8220;default&#8221; stock counter that you can then reference in all websites that should share common stock. So technically it does what you want, yet the problem is that managing the stock information has bad usability: it happen on the per-website-view product forms of the &#8220;Inventory&#8221; tab when editing a Magento product. So switching to a stock level for a different website requires two clicks and you cannot see all stock levels at once. There&#8217;s also no custom report or total sum for seeing all stocks at once. They have an online demo for you to check.</p>
<p><strong><a href="http://www.magentocommerce.com/magento-connect/advanced-product-options.html">Advanced Product Options</a>.</strong> An commercial Magento extension currently available for 139 USD. The purpose is not multi-location stock management, but to some extent it can be used for that because the extension provides stock levels per option value. So one could have a &#8220;Buy from location:&#8221; option on the product page, with a stock value for each location listed there, and let the customer choose from which one he wants to order. However, this is quite some work and quite confusing for the customer, but there seems to be no integrated way yet to simplify this by tieing specific option values to be auto-selected on specific websites or stores. If you want to hack this, it would work out (adding this is possible, as the extension comes with access to the source).</p>
<p><strong><a href="http://www.magentocommerce.com/magento-connect/the-complete-online-inventory-management-solution.html">Unleashed Online Inventory</a>.</strong> This is a stand-alone web application that talks to Magento by its API (so, is no extension). <a href="http://www.unleashedsoftware.com/pricing.html">Their subscription based pricing</a> starting at 35 USD monthly will probably deter many. But maybe if you use the Xero inventory management solution, this will be for you &#8211; because that&#8217;s what its made for: a connector from Magento to Xero, though it can also be used without Xero.</p>
<p><strong><a href="http://www.fishbowlezconnector.com/online_shopping_cart.php">Fishbowl EZ Connector</a> with <a href="http://www.fishbowlinventory.com/">Fishbowl Inventory</a>.</strong> Fishbowl is a huge and professional inventory management software that integrates with QuickBooks and starts at ~4400 USD licence costs [<a href="http://www.fishbowlinventory.com/products/pricing">source</a>]. While Fishbowl Inventory is a cross-platform software, the EZ Connector seems to be a Windows-only software that syncs Fishbowl inventory levels into Magento and Magento orders into Fishbowl. This will probably work so that the multiple warehouse specific inventory levels of Fishbowl are summed up and transferred that way to Magento, meaning there is no way in Magento to assign an order to a warehouse etc. (would be done in Fishbowl Inventory). Only recommended if you already use Fishbowl Inventory, or plan using it anyway.</p>
<p><strong>Doing several Magento installations.</strong> Quite a nightmare to keep up to date, and also it&#8217;s much manual work to do stock movements between them.</p>
<p>&nbsp;</p>
<p>And finally, here&#8217;s the link to the &#8220;official&#8221; Magento forums <a href="http://www.magentocommerce.com/boards/viewthread/5046/">thread about the multi-stock feature</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/multiple-stocks-in-magento/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Short bio, authentic style</title>
		<link>http://ma.juii.net/blog/short-bio</link>
		<comments>http://ma.juii.net/blog/short-bio#comments</comments>
		<pubDate>Mon, 16 Apr 2012 23:46:14 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Real Life]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=6064</guid>
		<description><![CDATA[<p>Just posted a short bio on my Edgeryders profile and thought it&#8217;s quite funny, so I also post it here. I made the experience that putting your life &#8220;as it is&#8221;, without elevating yourself, makes for the most cool and readable presentation style (think Cullman Liquidation &#8211; they inspired me). Self-appraisal just puts you on [...]]]></description>
			<content:encoded><![CDATA[<p>Just posted a short bio on <a href="http://edgeryders.ppa.coe.int/users/neodynos">my Edgeryders profile</a> and thought it&#8217;s quite funny, so I also post it here. I made the experience that putting your life &#8220;as it is&#8221;, without elevating yourself, makes for the most cool and readable presentation style (think <a href="http://www.youtube.com/watch?v=q-RLqLx1iYI" target="_blank">Cullman Liquidation</a> &#8211; they inspired me). Self-appraisal just puts you on par with boring old commercials, but telling them how it is makes people think &#8220;Wow, he went through that all and is still an upright man. Respect!&#8221; You can also profit yourself from writing it down like that: when reading again and feeling your life reads strange enough to make for a movie, it will help you in all that suffering ;-.)</p>
<p>Hope you have as much fun reading as I have living this <img src='http://ma.juii.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>CS studies.</strong> In my computer science, I pretty much only appeared at exams (yea I know, quite solitary learning style &#8211; distance learning would be my thing, but it wasn&#8217;t widespread back then). After the finals two of my profs offered me a PhD option. Yet I declined, even without knowing what to do instead and at all. But some narrow research stuff of their choosing very probably wasn&#8217;t it.</p>
<p><strong>On knowing not.</strong> So not knowing what to choose next, I simply jobbed part-time as a truck driver for a friend&#8217;s company, until after a year he lost the whole trucking contract. By then, living on just a minimal income with plenty of time to think about life, I had finally found what to do with it: &#8220;I am here to find out why I&#8217;m here&#8221;. There was no way for me to circumnavigate the meaning-of-life question. So instead it became my first passion. Here we go.</p>
<p><strong>Umh, why do you call it work &#8220;life&#8221;?</strong> But even the tech monk that I was now needed to earn a living. Continuing extreme aversion to 9-5 nonsensical work left me with few options. I becamse self-employed, avoiding the 9-5, but the nonsense sticked: For a laundry shop, I built digital video surveillance that made the police happy (yikes!). For another customer, the task was to take free software captive by bundling it as a for-sale extension to their app. And I had my fair share of precarious freelance work when some fixed-price web dev projects turned out five times the original effort and got paid years late. I left freelancing in utmost frustration and now work as hopeful co-founder of a collaborative consumption startup (mintybox.com).</p>
<p><strong>Heureka (thank you, economic crisis)!</strong> So this is how I stumbled into worklife, while around me, the global economic crisis was going rampant. Together, these ingredients made me think hard and I became obsessed with how to design a society that just works, and the tech to run it sustainably. That&#8217;s now my second passion and very much a work in progress, called &#8220;EarthOS&#8221;. It&#8217;s a system orchestrating all the existing free &amp; open ideas so that all aspects of life are served by free, open, P2P tech and services only &#8211; see the <a title="EarthOS Framework" type="application/pdf" href="http://ma.juii.net/ma-documents/main/EarthOS_Framework_IdeaPool-0.11.pdf" target="_blank" data-cke-saved-href="http://ma.juii.net/ma-documents/main/EarthOS_Framework_IdeaPool-0.11.pdf">EarthOS framework</a> and <a title="EarthOS Items" type="application/pdf" href="http://ma.juii.net/ma-documents/main/EarthOS_Items_IdeaPool-0.11.pdf" target="_blank" data-cke-saved-href="http://ma.juii.net/ma-documents/main/EarthOS_Items_IdeaPool-0.11.pdf">equipment</a> documents. Of course everybody here thinks I&#8217;m this crazy utopian <img src='http://ma.juii.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>The nomad.</strong> And I&#8217;m also getting practical with EarthOS stuff from equipment levels 1 and 2, making it the interior for my &#8230; well, home. It happened to be cheap, just what I needed at that time: 500 bucks for that <a href="http://ma.juii.net/blog/ankofferung" data-cke-saved-href="http://ma.juii.net/blog/ankofferung">freezer box body</a> from a torn-down truck. And a year after, I <a href="http://ma.juii.net/blog/details-about-my-truck-trolf" data-cke-saved-href="http://ma.juii.net/blog/details-about-my-truck-trolf">found a 4&#215;4 firefighter truck</a> chassis from 1968 and <a href="http://ma.juii.net/blog/vehicle-and-body-marriage" target="_blank" data-cke-saved-href="http://ma.juii.net/blog/vehicle-and-body-marriage">bolted the box body to the truck</a>. This combo is street legal now (yay!) and I&#8217;m eager to move in, to get going with my meaning-of-life expeditions and further EarthOS prototyping. (And hey, I will always be happy to stop at the door of amazing people. Welcome to drop me a line!)</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/short-bio/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to print from iPad to a PCL network printer?</title>
		<link>http://ma.juii.net/blog/how-to-print-from-ipad-to-a-pcl-network-printer</link>
		<comments>http://ma.juii.net/blog/how-to-print-from-ipad-to-a-pcl-network-printer#comments</comments>
		<pubDate>Tue, 10 Apr 2012 17:54:15 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=6049</guid>
		<description><![CDATA[<p>This should be no problem but it is &#8211; because the integrated print feature of the iPad only works with &#8220;AirPrint compatible&#8221; printers. So what is AirPrint? I don&#8217;t care.</p> <p>We have a network-enabled PCL speaking HP LaserJet 2200dtn printer here and the iPad has to print to this. No AirPrint. PCL. So I looked [...]]]></description>
			<content:encoded><![CDATA[<p>This should be no problem but it is &#8211; because the integrated print feature of the iPad only works with &#8220;AirPrint compatible&#8221; printers. So what is AirPrint? I don&#8217;t care.</p>
<p>We have a network-enabled PCL speaking HP LaserJet 2200dtn printer here and the iPad has to print to this. No AirPrint. PCL. So I looked through all the option for two hours and here are the results.</p>
<p>Recommended options:</p>
<ul>
<li><a href="http://www.e-workshop-dev.com/PC_EN/eprint_e.html">Microtech Corp. ePrint</a>: Available for 2.86 EUR from the App store. Be sure to add the bookmarklet to Safari as mentioned in the ePrint manual in order to have the most comfort for printing web pages.</li>
</ul>
<p>Not recommended options:</p>
<ul>
<li><a href="http://wellala.com/app_products/free_test_app">Wellala Printer Test for Print Magic</a>: Also a stand-alone printing app like ePrint and therefore worth a try (as these seem to be the only such apps). It did print the test page o.k. to the LaserJet 2200 after entering the printer&#8217;s IP manually. However it can only print by &#8220;copy and paste&#8221; and it seems that some formatting (like HTML tables) will get lost doing so [<a href="http://www.chuckegg.com/print-from-apple-ipad-iphone-ipod-touch-to-a-wireless-printer-pdl/">source</a>].</li>
<li>Printer Pro Lite: Failed to print the test page (printer showed some short flashing of the orange LED and nothing printed).</li>
<li><a href="http://mobile.eurosmartz.com/prod_index.html">EuroSmartz printing apps</a>: They all require a separate server app to be installed on the computer [<a href="http://www.pcworld.com/businesscenter/article/195262/printing_from_your_iphone_ipod_touch_and_ipad.html">source</a>], which is unacceptable in our case as no computer might be running.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/how-to-print-from-ipad-to-a-pcl-network-printer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to fix slow printing of a HP LaserJet 2200?</title>
		<link>http://ma.juii.net/blog/slow-printing-of-lj-2200</link>
		<comments>http://ma.juii.net/blog/slow-printing-of-lj-2200#comments</comments>
		<pubDate>Thu, 02 Feb 2012 23:27:31 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=6040</guid>
		<description><![CDATA[<p>Problem: When using a PostScript driver, some print jobs are slow on the LaserJet 2200, taking like 125 s from start of transmission to start of printing for a DIN A5 DHL shipping label generated by the DHL Intraship Magento extension. Others are fast as they should, like 7 s for a DIN A4 Magento [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Problem:</strong> When using a PostScript driver, some print jobs are slow on the LaserJet 2200, taking like 125 s from start of transmission to start of printing for a DIN A5 DHL shipping label generated by the DHL Intraship Magento extension. Others are fast as they should, like 7 s for a DIN A4 Magento invoice.</p>
<p><strong>Solution:</strong> Use a HP PCL driver instead. This will result in 3-4 s print times for the aforementioned DIN A5 label. This problem should affect all operating systems, as one can configure all of them to use a PostScript driver for printing to this printer. However, it will rarely affect Windows, as most users will use the manufacturer supplied driver there.</p>
<p>To use a PCL driver in Linux, choose the hpijs driver (named &#8220;HP LaserJet 2200 Series hpijs, 3.11.7&#8243; in the driver database). Be sure to change &#8220;Printer Options: Printout Mode: Normal&#8221; to &#8220;High Quality&#8221; in the printer default properties, accessible from the printer management system tool. Otherwise, the rendering quality will be visibly bad. Even with the &#8220;High Quality&#8221; setting, this driver will only print with 600 dpi, while the Postscript driver will print with 1200. But that difference is hardly ever noticeable without a magnifying glass.</p>
<p>An alternative is to use the gutenprint-ijs driver (named &#8220;Generic PCL 6 PCL XL LF Printer Foomatic/gutenprint-ijs.5.2&#8243; in the driver database). Likewise, set it to &#8220;Printer Options: Printout Mode: High Quality&#8221; in the printer default properties or it will even have a worse, &#8220;fringy&#8221; rendering quality than the hpijs driver. It also gives 3-4 s print times for the DHL Intraship labels, but also only achieves 600 dpi.</p>
<p>To use a PCL driver on Mac OS X, use the &#8220;Generic PCL&#8221; printer driver, not the &#8220;HP Laserjet 2200&#8243; one. [TODO: It has to be confirmed that this helps.]</p>
<p><strong>Discussion:</strong>  This printer understands PostScript Level 2, but only as an emulation. This probably makes processing slow for some elements, maybe the barcodes on shipping labels. Talking to the printer in its native PCL6 language fixes this.</p>
<p>Changes that did not help:</p>
<ul>
<li>This problem could not be fixed by choosing &#8220;print as image&#8221; in the Adobe Reader options. This works, but is even slower than the 125 s print time for a DHL shipping label.</li>
<li>This problem could not be fixed by sending  Postscript Level 3 instead (the LaserJet 2200 only understands level 2, it will not even blink for transmission, and the print job is discarded after a time).</li>
<li>This problem could also not be fixed by using a Postscript Level 2 driver and adapting the settings from &#8220;Resolution: FastRes 1200&#8243; to &#8220;600 dpi&#8221; and from &#8220;Resolution Enhancement: Printer&#8217;s Current Setting&#8221; to &#8220;Off&#8221;. Print time was exactly the same 125 s for the DHL shipping label, and print quality was even with magnification hardly any different from the original printouts. Maybe only the &#8220;Resolution Enhancement&#8221; was disabled, while the &#8220;Resolution&#8221; setting does not work at all?</li>
<li>This problem could not be solved by setting the &#8220;Total Printer Memory&#8221; parameter from &#8220;8-15 MB&#8221; to &#8220;16-23 MB&#8221;. (The printer had 16 MB and the idea was, maybe only 8 MB get used with that current setting, as the computer probably cannot determine how much is in the printer.) However, this did not improve printing speed by any means. Print time was exactly the same 125 s for the DHL shipping label.</li>
</ul>
<p>Changes that might help but have not been tried:</p>
<ul>
<li>Pre-processing the PDF label document with a command like ps2ps. This might convert the Postscript elements to others that take less effort to render.</li>
<li>Adding more memory to the printer. Because maybe the &#8220;difficult&#8221; Postscript elements just need more memory, not more processing power. And when lacking the proper amount of physical memory, this printer will will automatically compress memory content to be able to process the document [source: HP Manual for this printer]. And this processing will make it take more time, probably.</li>
</ul>
<p>Currently, there seems to be no way to enable the full 1200 dpi using a PCL driver. The problem is also reported <a href="http://www.openprinting.org/printer/HP/HP-LaserJet_2200">on the driver&#8217;s support page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/slow-printing-of-lj-2200/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>M2E Pro version 2 table structure</title>
		<link>http://ma.juii.net/blog/m2epro-v2-table-structure</link>
		<comments>http://ma.juii.net/blog/m2epro-v2-table-structure#comments</comments>
		<pubDate>Mon, 30 Jan 2012 19:57:27 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=6035</guid>
		<description><![CDATA[<p>For those still using the (superseded) M2E version  2 and need to find or do something in its database tables, I have here an explanation of what ot find where.</p> <p>First name is the real table name in M2E Pro 2.0.13, second name is a more intuitive one proposed by me.</p> m2e (m2e_tmpl_projects): Contains listing [...]]]></description>
			<content:encoded><![CDATA[<p>For those still using the (superseded) M2E version  2 and need to find or do something in its database tables, I have here an explanation of what ot find where.</p>
<p>First name is the real table name in M2E Pro 2.0.13, second name is a more intuitive one proposed by me.</p>
<ul>
<li><strong>m2e</strong> (m2e_tmpl_projects): Contains listing templates, corresponding to the backend concept of the same name.</li>
<li><strong>m2epricetemplates</strong> (m2e_tmpl_prices): Contains price templates, just as they can be modified in the backend. Note that listing templates contain the price template information redundantly.</li>
<li><strong>m2etemplates</strong> (m2e_tmpl_descriptions): Contains description templates, corresponding to the backend concept of the same name. Note that listing templates contain the price template information redundantly.</li>
<li><strong>m2e_account</strong> (m2e_licences): Contains the licences for the M2E Pro software.</li>
<li><strong>m2e_account_list</strong> (m2e_ebayaccounts): Contains eBay accounts used in M2E Pro.</li>
<li><strong>m2e_api_versions</strong> ():</li>
<li><strong>m2e_calculated_shipping</strong> ():</li>
<li><strong>m2e_category_version</strong> ():</li>
<li><strong>m2e_currency</strong> (): Contains currency abbreviations and their long form.</li>
<li><strong>m2e_ebay_categories_77</strong> (): The eBay category tree with category numbers, as fetched from eBay.</li>
<li><strong>m2e_items</strong> ():</li>
<li><strong>m2e_item_specifics</strong> ():</li>
<li><strong>m2e_listings</strong> (m2e_projects): Contains listing sets: the things visible immediately when clicking on &#8220;M2E Pro -&gt; Listings&#8221;. They are called &#8220;projects&#8221; in the database structure.</li>
<li><strong>m2e_listing_item_shipping</strong> (m2e_listingtmpl_shipping): Contains the shipping methods of listing templates.</li>
<li><strong>m2e_log</strong> (m2e_log_projects): The log of projects, containing eBay API results from listing, deleting etc. the articles of projects.</li>
<li><strong>m2e_logcleaning_settings</strong> (m2e_config_log): Settings when logs should be cleaned automatically.</li>
<li><strong>m2e_marketplace</strong> (m2e_marketplaces): Definitions of international eBay sites.</li>
<li><strong>m2e_product_to_project</strong> (m2e_listings): The actual products contained in projects (&#8220;listing sets&#8221;), together with their linked eBay items if applicable.</li>
<li><strong>m2e_p_to_p</strong> (m2e_listingtmpl_payments): Contains the payment methods of listing templates. The current name suggests to mean &#8220;payment to project&#8221;, but that would be wrong: projects are the actual listing sets, not their templates.</li>
<li><strong>m2e_shedule_task_settings</strong> (m2e_config_sync): Configuration saying which sync tasks are enabled.</li>
<li><strong>m2e_store_management</strong> (m2e_config_syncwindow): Configuration which start time to use for the time window when fetching updates from eBay. It will be 24 hours before the last successful sync.</li>
<li><strong>m2e_synchronization_log</strong> (m2e_log_sync): The log of syncing with eBay, as available in &#8220;M2E Pro -&gt; Logs -&gt; Synchronization Logs&#8221;.</li>
<li><strong>m2e_templates_descriptions</strong> (m2e_tmpl_ebay): eBay&#8217;s article templates, as downloaded from them.</li>
<li><strong>m2e_transactions_events</strong> (m2e_log_transactions): The transactions done via eBay, as available in &#8220;M2E Pro -&gt; Logs -&gt; Transaction Log&#8221;.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/m2epro-v2-table-structure/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to measure and specify vee-belts?</title>
		<link>http://ma.juii.net/blog/vee-belt-specifications</link>
		<comments>http://ma.juii.net/blog/vee-belt-specifications#comments</comments>
		<pubDate>Thu, 01 Dec 2011 21:42:55 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=6006</guid>
		<description><![CDATA[Standards for vee-belt profiles <p>Basically, there are three groups of vee-belt and other belt profiles in use in Europe today:</p> conventional or classic vee-belts (German &#8220;klassische Keilriemen&#8221;): standardized in DIN 2215 / ISO 4184; using one-letter profile names in different sizes (Z, A, B, C, D, E), in many cases the profile is also named [...]]]></description>
			<content:encoded><![CDATA[<h2>Standards for vee-belt profiles</h2>
<p>Basically, there are three groups of vee-belt and other belt profiles in use in Europe today:</p>
<ul>
<li><strong>conventional or classic vee-belts</strong> (German &#8220;klassische Keilriemen&#8221;): standardized in DIN 2215 / ISO 4184; using one-letter profile names in different sizes (Z, A, B, C, D, E), in many cases the profile is also named by its width in millimeters (10, 13, 17, 22, 32, 40).</li>
<li><strong>narrow-profile vee-belts</strong> (German &#8220;Schmalkeilriemen&#8221;): standardized in DIN 7753 Part 1 / ISO 4184; using SP profile names in different sizes (SPZ, SPA, SPB, SPC); maybe, &#8220;SP&#8221; means German &#8220;Schmalprofil&#8221;?</li>
<li><strong>high-performance narrow-profile vee-belts, open shoulder, toothed</strong> (German: &#8220;Hochleistungs-Schmalkeilriemen &#8211; flankenoffen, formgezahnt&#8221;): standardized in Europe in DIN 7753 Part 1; using XP&#8230; profile names in different sizes (XPZ, XPA, XPB, XPC)</li>
<li><strong>wide-profile vee-belts</strong> (German &#8220;Breitkeilriemen&#8221;, &#8220;Variatorriemen&#8221;): standardized in DIN 7719 / ISO 1604</li>
<li><strong>flat belts</strong> (German &#8220;Flachriemen&#8221;): used in different applications such as tangential belts, folding and conveyor belts and machine belts [<a href="http://www.duri.at/flachriemen.php?m=5">source</a>]. There seems to be no widely accepted standardization in this area.</li>
<li><strong>round belts</strong> (German &#8220;Rundriemen): mostly used for conveying and driving tasks in mechanical engineering.</li>
</ul>
<p>For a short description of the different types, see <a href="http://www.hug-technik.com/inhalt/keilriemen.html">HUG-Technik on Keilriemen</a> [German]; for a more detailed introduction, read <a href="http://www.tedata.com/2491.0.html">tedata.com on vee-belts</a>. For an overview about DIN and ISO standards relevant for vee-belts and similar devices, see <a href="http://www.hug-technik.com/inhalt/fb/antriebstechnik_normen.html">HUG-Technik on important standards for belts</a> [German]. See also the <a href="en.wikipedia.org/wiki/Belt_(mechanical)">English Wikipedia on mechanical belts</a> and the <a href="http://de.wikipedia.org/wiki/Keilriemen">German Wikipedia on vee-belts</a>; though both of them lack extensive information on belt specs yet.</p>
<p>The DIN and ISO standards cited above are used in Europe; in the US, the standard RMA/MPTA (and in the UK, BS 3790) specifies minimally different but overall compatible profiles with other profile names. [<a href="http://www.tedata.com/2491.0.html">source</a>]</p>
<h2>Standards for vee-belt length</h2>
<p><strong>Length conversion table.</strong> A very important tool to work with belt specs is a <a href="http://www.tabelle.info/keilriemen.html">vee-belt conversion table</a>. That&#8217;s because the nominal length is different for the different types of belts (for example, it is &#8220;inner length&#8221; for classic vee-belts &#8211; also the only error in the linked conversion table).</p>
<p><strong>Li, Lw, La.</strong> For every vee-belt, one can give three lengths: inner length Li, effective length Lw and outer length La. Inner and outer length are the inner resp. outer circumference measure of the vee-belth, without any linear tension on the belt and in circular shape. Effective length is a fictive median length of a vee-belt that is the circumference at a certain depth of the belt profile; cf. column &#8220;effective width&#8221; (German: Richtbreite) in the <a href="http://www.tabelle.info/keilriemen.html">vee-belt conversion table</a>. Lw is used as the nominal length of belts with profiles SP*, XP* and X*. Synonymous to Lw, some manufacturers use Ld or Lp. [<a href="http://www.keilriemen-onlineshop.de/epages/15454230.sf/de_AT/?ObjectPath=/Shops/15454230/Categories/CustomerInformation">source</a>]</p>
<p><strong>Belt number.</strong> For classical vee-belts, there is another identification system in addition to the &#8220;20 x 3500 Li&#8221; type: the belt number (German: Riemen-Nr.). It consists of the normal profile size designation letter and a number that normally corresponds to the inner length in inches (rounded, where necessary); for example, &#8220;Z 22&#8243; or &#8220;D 150&#8243;. [<a href="http://www.keilriemen-onlineshop.de/epages/15454230.sf/de_AT/?ObjectPath=/Shops/15454230/Categories/CustomerInformation">source</a>] A list of these numbers can be found on <a href="http://www.reinshagen.de/_start.asp?cid=1&amp;gf=07&amp;wg=0701&amp;ag=0701&amp;artikel=33864&amp;mode=detail">this vee-belt index</a>.</p>
<h2>Measuring vee-belt profiles</h2>
<p>All values below are measured with light touch of the caliper.</p>
<ul>
<li><strong>height of V-belts</strong></li>
<ul>
<li>nominal 10 mm; measured 9.3 &#8211; 9.7 mm (in convex curves, 9.8 mm)</li>
</ul>
<li><strong>width of V-belts</strong></li>
<ul>
<li>nominal 12.5 mm; measured 12.3 &#8211; 12.4 mm</li>
</ul>
</ul>
<h2>Measuring vee-belt length</h2>
<p><strong>Measuring vee-belt length Lw.</strong> It is usually proposed to measure a vee-belt by cutting it and nailing it flat to a board [<a href="http://www.agrolager.de/keilriemenberechnung.php">source</a>]. However, this is not what you want if you need to determine the size of a new vee-belt that has lost its labeling. So here is a different procedure that I tested successfully:</p>
<ol>
<li>Mark a line on your flat, hard floor by taping 2 measuring sticks to it and also glueing a stop to the start.</li>
<li>Add a small cable tie around the vee-belt to be measured and use that for marking the start and aligning it to the start marker you glued to the ground.</li>
<li>Roll your vee-belt on the ground along the measuring sticks until you went one full circle.</li>
<li>Take the measure and interpret it as effective length Lw of the vee-belt (which it is, approximately).</li>
</ol>
<p>You could do two or three measurements and take the average, but this seems not necessary as this kind of measuring has repeatable results that are up to 1 mm exact. Measuring with a flexible measuring tape while holding the vee-belt in your hands is not recommended, the results are less exact (my experience: measurements of a single belt resulted in 3505 mm Lw and 3520 mm Lw, while the result with the roll-on-floor technique was 3522 mm Lw). When measuring while holding the belt in your hand you have to take special care to not bend it while measuring, as bending will increase the measurement more towards La; in this example, from 3522 mm Lw to 3533 mm for lightly bending).</p>
<p>It is said that the measure taken by this procedure is the median length of the vee-belt [<a href="http://www.agrolager.de/keilriemenberechnung.php">source</a>], which probably should mean, the average of inner and outer length. In practice, it is said to be a good-enough approximation of the effective length Lw. While this is still true, my tests suggest that the length measured this way is not always the median length, but &#8220;something between inner and outer length&#8221;; exactly which mostly depends on how the belt is built, namely, how far to the outside the pull-resistant strings are located, as these seem to work like a hinge when bending or unbending the belt, affecting the depth of the area on each side that gets either compressed (so, shortened) or pulled on (so, lengthened). These fibers are normally located right below the upper edge of the belt, so the measure is normally more towards the outer length than the Lw measure is.</p>
<p><strong>Measusing vee-belt length La.</strong> It is said that one can do that by placing the belt in circular shape on a flat surface and placing a flexible measuring tape around it [<a href="http://www.keilriemen-onlineshop.de/epages/15454230.sf/de_AT/?ObjectPath=/Shops/15454230/Categories/CustomerInformation">source</a>]. However in practice, this is hard to do as you need some tension on the tape to not measure too much. It works well when the velt is still mounted, though.</p>
<p><strong>Determining</strong><strong> Lw without a belt.</strong> In case you have a device needing a belt but don&#8217;t know which one, place a rope around the belt path that has approx. the thickness of the pulley nuts. Mark the length of rope you need, take it out again and measure that length when laying straight on flat ground. This is a  good approximate for the effective length Lw of a fitting belt. (As an alternative, there is a forumla to calculate this, and online calculators for that.)</p>
<p><strong>Various experiences with measuring vee-belts<br />
</strong></p>
<ul>
<li><strong>At times, some vee-belts seem to use the wrong signing schema.</strong> One belt had the classic profile, so the sigining of &#8220;20 x 3550&#8243; was to be interpreted as Li = 3550 mm. However, all measurements turned out with Lw = 3522 mm, so an even larger measure of 3550 mm can only be La, not Li. The formula produces a result coherent with this: La = Lw + 31 mm = 3522 mm + 31 mm = 3553 mm. Another, quite old Continental belt was SPA profile so should be labeled with Lw, yet the label said &#8220;12,5 x 1200 La&#8221;.</li>
<li><strong>Amount of difference between measured flat length and Lw.</strong> In one case, a classic 20 x 2000 mm Li belt was measured with 2060 mm flat length. Lw according to the formula is Lw = Li + 48 mm = 2048 mm Lw. The difference of 12 mm isquite small and probably comes from the fact that the fibers are not exactly located at the diameter corresponding to Lw.</li>
<li><strong>Different formulae for converting to and from Lw.</strong> Interestingly, there seems to be at times a slight divergence of what formula is to be used for converting from effective length Lw to Li and La. For example, this <a href="http://www.tabelle.info/keilriemen.html">vee-belt conversion table</a> and basically all other such conversion tables on the web state for a 17 mm wide classical vee-belt: Lw = Li + 40. However, one 17 mm clasical vee-belt belt was found with an inscription saying &#8220;PETER-BTR 17 x 1320 Li / 1363 Lw&#8221;, corresponding to Lw = Li + 43.</li>
</ul>
<h2>Storing vee-belts correctly</h2>
<p>It is said that vee-belts are normally built by manufacturers to reach a lab runtime of 25 000 hours [<a href="http://www.vth-top-partner.de/top-themen/antriebsriemen/antriebsriemen.html">source</a>]. If this is reached in practice also depends on proper storage conditions.</p>
<p>If properly stored, vee-belt properties do not change for several years. However, most rubber-based products will deteriorate if improperly stored or handled (like being exposed to oxygen, ozone, extreme temperatures, light, humidity or various solvent agents). [<a href="http://www.vth-top-partner.de/top-themen/antriebsriemen/antriebsriemen.html">source</a>]</p>
<p>Therefore, the storage location should be dry and dust-free and must not contain chemicals, oils or solvents at the same time. Vee-belts should be stored without any force on them (pressure or pulling force) to avoid any permanent shape changes and other damaged. This also means that they should only be stored in hanging condition if the hanger pin is at least ten times the height of the belt profile. Additional maintenance hints for rubber products are found in DIN 7716. [<a href="http://www.vth-top-partner.de/top-themen/antriebsriemen/antriebsriemen.html">source</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/vee-belt-specifications/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maybe that&#8217;s the role of dreams</title>
		<link>http://ma.juii.net/blog/role-of-dreams</link>
		<comments>http://ma.juii.net/blog/role-of-dreams#comments</comments>
		<pubDate>Tue, 15 Nov 2011 01:11:07 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[philosophy]]></category>
		<category><![CDATA[Think Thrice]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=6003</guid>
		<description><![CDATA[<p>I had a really, really strange dream yesterday in the morning, while I was half sleeping, half awake. There was a frame made, like painted from thick black lines, and in it there were simple color drawings of objects, two at a time. And these drawings were exchanged at a frequency of 6-8 times per [...]]]></description>
			<content:encoded><![CDATA[<p>I had a really, really strange dream yesterday in the morning, while I was half sleeping, half awake. There was a frame made, like painted from thick black lines, and in it there were simple color drawings of objects, two at a time. And these drawings were exchanged at a frequency of 6-8 times per second (which means wall clock time, as I could compare the dream frequency, or the subjective impression of that, with the real-world time while slowly awakening). At first (while mostly dreaming) I was able to recognize some of the objects being shown in that high speed, but later (when being more awake) not so any more. Too fast.</p>
<p>This made me get on an idea about the (yet largely unsolved) meaning and role of dreams: namely, to develop and to train the raw material and the speed for flow state thinking. Because dreams go much faster than the real world, and flow state imaginary thinking of &#8220;what probably happens next&#8221; is just like that, much faster than reality and than normal thinking.</p>
<p>You know &#8220;flow state&#8221; from these horrific little moments when you see something bad happening to you physically some 0.5 to 2 s before it happens indeed. These seconds feel like slow motion: you think so much in this time about what happens and what to do to avoid it that you later wonder how it all did fit into these fractions of a second. That&#8217;s because thinking is much faster in this state of mind &#8211; and because reality provides no training to react to such situations, maybe the fast pace of dreaming is this training for the dangerous situations in life, training our mental abilities to react fast enough to avoid the worst outcome.</p>
<p>All speculation of course, but perhaps somebody feels inspired to do some research <img src='http://ma.juii.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/role-of-dreams/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thou shouldst pioneer eternally</title>
		<link>http://ma.juii.net/blog/thou-shouldst-pioneer-eternally</link>
		<comments>http://ma.juii.net/blog/thou-shouldst-pioneer-eternally#comments</comments>
		<pubDate>Mon, 14 Nov 2011 21:24:59 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[society]]></category>
		<category><![CDATA[Think Thrice]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5998</guid>
		<description><![CDATA[<p>So now that we&#8217;ve grown up, and started to work for money, we finally start to ask ourselves: Wherefore should we live then? We see most people choose to live for children, and some choose to live for themselves instead. The former have children and no money, the latter have money to spend and no [...]]]></description>
			<content:encoded><![CDATA[<p>So now that we&#8217;ve grown up, and started to work for money, we finally start to ask ourselves: Wherefore should we live then? We see most people choose to live for children, and some choose to live for themselves instead. The former have children and no money, the latter have money to spend and no children.</p>
<p>Now, these both ways to live life could not stop the deterioration of Western societies, which started in (say) the mid 1990&#8242;s and is in good full swing as of 2011. It&#8217;s not the technichal challenges of more scarce resources that we face, or the dangers of unregulated greed (in the financial markets and at home). The real, real problem is that in a land of Cockaigne like this, parents can never succeed to transfer their builder mindset (of postponed consumption, investment, hope, betterment) to their children and grandchildren. These will find out that near everything can be had without work, and will get too comfortable to even be interested, to desire to learn, and to be creative. It&#8217;s bad with the children and worse with the grandchildren. Call it decadence.</p>
<p>Now what? Let&#8217;s doubt that taking part in decadence is never a life lived for what&#8217;s adequate, whether you have children more decadent than you, or no children, being decadent yourself. Instead, there has to be a life to be lived against decadence. Successfully. What do we need for that?</p>
<p>The new, new frontier. The US could only start to become decadent where the frontier for settlement had passed, leaving civilization, but without vision and without tasks. Of course, people found something to improve and to do during some of the following generations, but finally even that faded. There was something like a last try to remedy this by calling the race for the moon the &#8220;new frontier&#8221;. Nice try, but itself influenced by decadence: Is space travelling really the first thing that comes to mind when you think of &#8220;task&#8221; and &#8220;vision&#8221;?</p>
<p>What we need is the new, new frontiere. And then the new, new, new one. And so on. We need eternal pioneering. Look around and see that the world is in nearly no place as it should be. Sahara is a desert, the Congo struck by malaria, all of Africa by Aids, and much of the world by wrong belief systems. Just for the start. And we Westerners dare to say we see no tasks at hand, when questioning ourselves how to recreate vision and zeal in our society, or when questioning ourselves what to do with the &gt;20% jobless in southern Europe? And then people dare to get on the idea that adding another child or two or three to already 7 000 000 000 people on Earth is a proper reason to live for, even though its more-than-apparent that even more people will even intensify the problems and resource conflicts on this planet?</p>
<p>Let&#8217;s get practical: we know how to do military operations, with respect to human resources. People get &#8220;deployed&#8221; in groups of several hundreds to some battlefield overseas, for some 6-8 months maybe. Then they are exchanged by a new group, and themselves go back to their home country to refresh and prepare again for their next deployment in another 6-8 months. Let&#8217;s take this over to all kinds of development aid. Because this is attributing the right role to civilization and homes: a place of refreshment and preparation for your &#8220;mission&#8221;.</p>
<p>Specifically, I propose to create settlements of ca. 4000 people, who travel to overseas development assistance deployments in groups of 1000. As this is no military operation, this can and should include the whole families (children can get schooled underway). The people at home would work to support them, from logistics to medical care etc.. As in military deployments, there will have to be like 4-5 (minimum) immediate support people behind everybody on a mission, and even more so working for money for these missions. But in any case, everybody&#8217;s goal should be to go on deployment (and if only for 6 in 36 months), being the reward for year-long support work.</p>
<p>Some ideas for specific missions:</p>
<ul>
<li>Re-afforest the whole of Sahara. Yea, we had that above. Just plant the trees, it&#8217;s good for the planet <img src='http://ma.juii.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Build some big islands, or enlarge others. Having more land in nice climate is always a good thing. Why, for heaven&#8217;s sake, would people want to live in Siberia while there&#8217;s an island waiting for them?</li>
<li>Eradicate AIDS.</li>
<li>Eradicate malaria.</li>
<li>Eradicate hemorrhagic fevers. And all those other infection sicknesses.</li>
<li>We want the rain forest back where it was!</li>
<li>We want whales back, and the Indian elephant in big numbers, and all these other lovely creatures. Isn&#8217;t it somewhat &#8230; heavily self-conceited, that we allow 7 billion humans on Earth and reduced many of the other  creatures to just some thousands per species?</li>
<li>Yea and finally, once we repaired and tidied up the Earth, there are other planets to travel to. Yet, first things first!</li>
</ul>
<p>Remember what the Lord God said after the deluge: spread and multiply and fill the Earth. But Josephus says, the people wanted to stay together in one location, building Babylon and its towever as their central collection point. Yet God wanted them to go and colonize the Earth, he wanted them to pioneer &#8211; maybe because of the danger of rapid decadence, should they stay together in all their civilization? So he had to mix up their language &#8230;</p>
<p>Pioneering never ends. It must not end, as it&#8217;s a crucial ingredient for human mental health.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/thou-shouldst-pioneer-eternally/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What are Google AdWords best practices in respect to account history?</title>
		<link>http://ma.juii.net/blog/adwords-best-practices-for-account-history</link>
		<comments>http://ma.juii.net/blog/adwords-best-practices-for-account-history#comments</comments>
		<pubDate>Sat, 12 Nov 2011 00:14:17 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5985</guid>
		<description><![CDATA[<p>There are multiple observations and opinions on what Google AdWords account history is (&#8220;karma&#8221; based on expenses, keyword quality score, and / or something else?) and how it affects the pricing of current and new campaigns in that account. Let&#8217;s get to the details and find our own way through &#8230;</p> <p>From here on: CTR [...]]]></description>
			<content:encoded><![CDATA[<p>There are multiple observations and opinions on what Google AdWords account history is (&#8220;karma&#8221; based on expenses, keyword quality score, and / or something else?) and how it affects the pricing of current and new campaigns in that account. Let&#8217;s get to the details and find our own way through &#8230;</p>
<p>From here on: CTR = Click Through Rate; QS = Quality Score; CPC = Cost Per Click. Note that &#8220;karma&#8221; is my word for this problem, you&#8217;ll not find it applied by others.</p>
<h2>What constitutes AdWords account karma?</h2>
<p>Here are some proven and possible influence factors on account karma; by relevance for the advertiser:</p>
<ol>
<li><strong>Accumulated keyword QS.</strong> It is <a href="http://www.google.de/support/forum/p/AdWords/thread?tid=0a27e0be1bc8cf7d">credibly claimed</a> that: running an AdWords account with low keyword QS values is bad karma, and the lower the QS values and the longer the time running that way, the worse the karma. The negative karma even affects campaigns on this account that target a different domain and completely different keywords &#8211; the karma &#8220;sticks with the account&#8221;. It is still unclear if this works also the other way round, that is, if a good keyword QS history decreases the minimum bids compared to a fresh account.</li>
<li><strong>Amount of expenses.</strong>  Just a claim, unproven so far. The idea is that Google might see it as positive karma if you spent a lot in the past within an AdWords account, assuming that you will be a good deal for them in the future. Handing out good karma for that would in effect be supporting high-turnover customers with a discount.<br />
<strong> </strong></li>
<li><strong>Account inactivity.</strong> Just a claim [<a href="http://www.google.de/support/forum/p/AdWords/thread?tid=0a27e0be1bc8cf7d">source</a>], unproven so far and probably non-existent. From personal experience: we had run a larger AdWords campaign for 14 months, then suspended it for 7 months, then started it again. Keyword QS values were still all great and minimum bids had only risen a few cents, not above what we had expected because of the growing competition in our business area.</li>
</ol>
<p>From what I read on the Internet, I did not find any evidence that Google puts &#8220;penalties&#8221; on AdWords accounts. (I&#8217;d like this to be understood so that penalties are one-time powerful, immediate price increases or other negative influences that hit you out of thin air, while good and bad karma slowly accumulates based on all your acts, not on one individual decision by Google). Most problems where people suspected AdWords &#8220;penalties&#8221; could be (at least probably) resolved by removing existing severe issues with the landing page quality. So one would not have to really fear this, as this type of &#8220;landing page penalty&#8221; would be correctable, whereas an alleged (but seemingly non-existent) penalty on the whole account could not be corrected but would permanently stick to it.</p>
<h2>Effects of AdWords account karma</h2>
<ul>
<li>It is reported from tests that a &#8220;bad karma&#8221; account meant an eight to tenfold higher minimum bid than in a fresh account, with all other things kept the same [<a href="http://uberaffiliate.com/google-adwords/google-adwords-accout-history/">source</a>; <a href="http://uberaffiliate.com/google-adwords/google-adwords-accout-history/comment-page-1/#comment-271">similar results in a comment</a>; note: from 2007]. The interesting thing is that this is valid for the <em>whole account</em>; it&#8217;s not that poor past performance of one keyword increases the minimum bid of that keyword (this happens anyway) or of similar keywords, but of <em>all</em> keywords in all campaigns.</li>
</ul>
<h2>Recommendations of Best Practices</h2>
<p>Correct me in the comments where I err, but you can&#8217;t sue me over these. No warranties whatsoevermore.</p>
<ol>
<li><strong>Use one account for staging and one for production.</strong> The sole purpose of the production account is permanent low minimum and overall discounted bids for your important keywords. The sole purpose of the staging account is allowing wild tests and experimentation without adverse side effects. This kind of separation seems to make sense only for complex or expensive AdWords jobs, as the effect of karma is not too big ( for example you get the recommendation to only start with a new account if the old one run several months with very low QS values [<a href="http://www.google.de/support/forum/p/AdWords/thread?tid=0a27e0be1bc8cf7d">source</a>]).</li>
<li><strong>Set yourself a minimum QS and CTR for keywords in your production AdWords account.</strong> These limits protect the account from accumulating bad karma and that way help keep the CPC for your important keywords low. The main point with keeping good karma is reportedly to &#8220;have good [CTR] performance of all your keywords throughout out your account&#8221; [<a href="http://www.warriorforum.com/adsense-ppc-seo-discussion-forum/59167-improving-adwords-account-history.html#post548263">source</a>]. But setting a minimum for both QS and CTR is meaningful because CTR is the hugest influence on keyword QS, but not the only one; keyword performance for other advertisers, past keyword performance, keyword relevance for the ads in the ad group, keyword relevance for the landing page, landing page quality and landing page speed are also incorporated. I would propose a minimum keyword QS of 7 (allowing some exceptions with 6) and a minimum keyword CTR of 2 &#8211; 4%, depending on your domain.</li>
<li><strong>If you screwed the karma of an AdWords account, start over with a fresh one.</strong> This is not dangerous as the &#8220;zero karma&#8221; of fresh accounts is quite a good start, as demonstrated by the <a href="http://uberaffiliate.com/google-adwords/google-adwords-accout-history/comment-page-1/#comment-314">experiment done by smaxor</a>: a screwed account yielded position 150+, a new one position 10, all with the same bids on a keyword. However, note that this experiment is from 2007, and much might have changed since.</li>
</ol>
<h2>Discussion of Best Practices</h2>
<h3>Is there a penalty for advertising one website from two Google AdWords accounts?</h3>
<p>The Google AdWords Editor help talks quite freely about <a href="http://www.google.com/support/adwordseditor/bin/topic.py?topic=14620">managing multiple accounts at once</a>, so the fact of having multiple AdWords accounts alone is no problem at all. At least when managing them for clients.</p>
<p>Now the Internet is mostly silent if this also applies when advertising the same website with multiple accounts. One author suggests that advertising the same website from two AdWords accounts would lead to the website getting &#8220;banned&#8221; from marketing it via AdWords [<a href="http://www.webhostingtalk.com/showpost.php?p=7782581&amp;postcount=2">source</a>]. But apart from a similar claim in the smae thread, I found nothing supporting this, esp. nobody who related such an experience.</p>
<p>Google AdWords help just says that one should avoid cases where two ads, leading to the same website, compete for one keyword [<a href="http://adwords.google.com/support/aw/bin/static.py?hl=en&amp;page=tips.html">source</a>; there, on "Avoid duplicate keywords across ad groups."]. In the help article, this reffered to a case within one account, but a case with two accounts is a bit similar. However, the article did not say anything about &#8220;penalties&#8221;; just that it does not help you anything, as Google will show at most one ad per advertiser and search. However, if you want to be careful, try to avoid duplicate keywords between your two accounts. See <a href="http://adwords.google.com/support/aw/bin/answer.py?hl=en&amp;answer=159827">AdWords Help on finding duplicate keywords</a>.</p>
<p>The only other caveat that seems reasonable to me seems to be: avoid the impression that you want to artificially increase the CPC for some keywords [<a href="http://www.webproworld.com/webmaster-forum/threads/113072-Duplicate-AdWords-account?s=f6d09feea33f794b62f3c83fdcb87897&amp;p=590295&amp;viewfull=1#post590295">source</a>]. I would expect that this does not happen when advertising one website from two AdWords accounts (as, according to the AdWords help article quoted above, these ads don&#8217;t compete with each other as they are mutually exclusive). However, I would not: target different sites with the same keywords from different AdWords accounts that have the same account owner. That would seem like tampering with the bidding system by &#8220;competing with yourself&#8221; and that way driving others out of business because they then can&#8217;t pay the minimum bids any longer.</p>
<h3>Should I use a different domain as target for my AdWords experimentation?</h3>
<p>It seems true that &#8220;bad AdWords karma&#8221; does not all stick with the AdWords account, some will also stick with the website [<a href="http://www.google.de/support/forum/p/AdWords/thread?tid=0a27e0be1bc8cf7d">source</a>]. AdWords tests and experimentation will necessarily result in some advertising with low-QS keywords etc.. But, tests only run for short times, most of the bad karma sticks with the AdWords experimentation account, and only a little bit will stick with the domain. You will probably not notice any results of that in your production account advertising, because production ads volumes are much higher and therefore the good karma generated by that outweighs the bad by far. In addition, creating a second website with same or similar content is way more &#8220;dangerous&#8221; in SEO terms than that tiny bit of bad karma on the domain &#8230; . So after all, it seems not at all recommendable to use a second domain for testing.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/adwords-best-practices-for-account-history/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to add a proftpd user?</title>
		<link>http://ma.juii.net/blog/how-to-add-a-proftpd-user</link>
		<comments>http://ma.juii.net/blog/how-to-add-a-proftpd-user#comments</comments>
		<pubDate>Thu, 27 Oct 2011 20:48:29 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5983</guid>
		<description><![CDATA[<p>proftpd is the FTP daemon used on Host Europe Linux VPS servers, so these are the instructions you need if you want to add an FTP user there without (!) adding a domain in Plesk and creating a user that way.</p> <p>It&#8217;s simple:</p> In the command line, use the adduser command: adduser somename Do NOT [...]]]></description>
			<content:encoded><![CDATA[<p>proftpd is the FTP daemon used on Host Europe Linux VPS servers, so these are the instructions you need if you want to add an FTP user there without (!) adding a domain in Plesk and creating a user that way.</p>
<p>It&#8217;s simple:</p>
<ol>
<li>In the command line, use the adduser command:<br />
adduser somename</li>
<li>Do NOT enter that user&#8217;s name to /etc/ftpusers, as this file lists users NOT allowed to log in by FTP.</li>
<li>There is no need to restart proftpd, as it will dynamically react to changes in your set of system users. If you still need to restart it (to read other config changes), you need to send it the SIGHUP signal [<a href="http://www.cyberciti.biz/faq/star-stop-bsd-ftp-service/">source</a>], as it&#8217;s managed by inetd (the Internet super daemon, a kind off automatic start / stop service for other daemons, so that there is no need and no option to restart proFTPD manually).</li>
</ol>
<p>The official docs are here: <a href="http://www.proftpd.org/docs/howto/">proFTPD Mini HowTo Index</a>. Please esp. refer to the <a href="http://www.proftpd.org/docs/howto/Authentication.html">ProFTPD Logins and Authentication</a> in case your new user still has problems logging in.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/how-to-add-a-proftpd-user/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to avoid that e-mails sent from Host Europe VPS arrive as spam?</title>
		<link>http://ma.juii.net/blog/emails-from-host-europe-vps-arrive-as-spam</link>
		<comments>http://ma.juii.net/blog/emails-from-host-europe-vps-arrive-as-spam#comments</comments>
		<pubDate>Tue, 25 Oct 2011 19:51:31 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5973</guid>
		<description><![CDATA[<p>When sending e-mails from a Host Europe virtual server (here: Virtual Server Linux), they can arrive in the receipient&#8217;s spam folder. This depends on the spam filter configuration of course, but did at least happen with a near-default SpamAssassin setup as available on Hostgator Baby Plan as of 2011-10 (valuating a mail with 7.2 points, [...]]]></description>
			<content:encoded><![CDATA[<p>When sending e-mails from a <a href="http://www.hosteurope.de/produkte/Virtual-Server">Host Europe virtual server</a> (here: Virtual Server Linux), they can arrive in the receipient&#8217;s spam folder. This depends on the spam filter configuration of course, but did at least happen with a near-default SpamAssassin setup as available on <a href="http://www.hostgator.com/shared.shtml">Hostgator Baby Plan</a> as of 2011-10 (valuating a mail with 7.2 points, while another default configuration only counted 0.5 points for that same mail). Some configuration is needed tofix mails being identified as possible spam.</p>
<p>The main problem, is are these SpamAssassin filtering rules, as indictaed in the e-mail headers:</p>
<pre>1.1 FH_HELO_EQ_D_D_D_D Helo is d-d-d-d
1.3 RDNS_NONE Delivered to internal network by a host with no rDNS
3.2 HELO_DYNAMIC_IPADDR Relay HELO'd using suspicious hostname (IP addr 1)</pre>
<h2>The HELO_DYNAMIC_IPADDR rule</h2>
<p>This is the main problem in this case, contributing 3.2 points. The SpamAssassin rule descriptions for this rule do not exist on the <a href="http://spamassassin.apache.org/tests_3_2_x.html">rule list page</a>. But judging from similar rules, it appears to mean this:</p>
<p style="padding-left: 30px;">&#8220;An untrusted relay uses a hostname in HELO that indicates a dynamically allocated IP address. (So this is different from RDNS_DYNAMIC by referring to the name used in HELO, not the RDNS record, though noth might be the same name.) Legitimate mail servers would usually be expected to have static allocations. This is determined by checking the reverse DNS name of that relay against a number of inofficial naming conventions. Reverse mapped names that contain sections matching strings such as &#8220;dynamic&#8221;, &#8220;dhcp&#8221;, &#8220;adsl&#8221; etc. may be matched by this rule, as may names that contain strings of numbers (like lvps165-624-87-23.example.com).&#8221;</p>
<p>The following sources have been used: SpamAssassin <a href="http://wiki.apache.org/spamassassin/Rules/RDNS_DYNAMIC">RDNS_DYNAMIC rule page</a> and <a href="http://wiki.apache.org/spamassassin/Rules/HELO_DYNAMIC_DHCP">HELO_DYNAMIC_DHCP rule page</a>, a <a href="http://getsatisfaction.com/foursquare/topics/emails_could_be_catched_as_spam_due_to_incorrect_configuration">bug report</a> and a <a href="http://serversupportforum.de/forum/95756-post7.html">forum thread</a>. With this interpretation it became clear that the SpamAssassin rule was triggered by the generic hostname used in the virtual server&#8217;s HELO, as indicated by this mail header (IP addresses are randomized):</p>
<pre style="padding-left: 30px;">from [43.151.120.12] (port=50581 helo=lvps43-151-120-12.dedicated.hosteurope.de)</pre>
<p>To fix this, follow these steps:</p>
<ol>
<li>Think of a full qualified domain name to use as your hostname; for example, server.example.com, but not just example.com. The RDNS name you will set up later may or may not be the same as the server&#8217;s hostname; for simplicity, I recommend it is the same.</li>
<li>Configure your DNS zone to resolve that FQDN to your server&#8217;s IP address. You will probably do this with Plesk on the Host Europe server (in Plesk 9: Home -&gt; Domains -&gt; [select domain] -&gt; DNS settings). But maybe you use an external DNS service.</li>
<li>Follow the <a href="http://faq.hosteurope.de/index.php?cpid=15028">Host Europe instructions to change the virtual server hostname</a> permanently.</li>
<li>Ensure that this new hostname is used for HELO when sending mails. For that, just check how your SMTP server application on the virtual server identifies itself when contacting it with telnet on port 25 (for example: &#8220;telnet 74.161.120.13 25&#8243;) [<a href="http://faq.hosteurope.de/index.php?cpid=14257">source</a>].</li>
</ol>
<h2> The RDNS_NONE rule</h2>
<p>This rule is triggered because a vanilla Host Europe virtual server does not yet have RDNS resolution. (It also is still triggered when configuring a RDNS name, as for <em>proper</em> RDNS resolution that name itself has to point back to the IP address used as input for the RDNS query.)</p>
<p>Host Europe knows about this, as they say in their FAQ that some e-mail servers will even refuse to accept e-mails from servers that do not have proper RDNS resolution [<a href="https://kis.hosteurope.de/support/faq/?cpid=11518">source</a>]. And there are reports by customers at other hosting companies, reporting that incorrect RDNS setup indeed contributed to problems with mails arriving as spam [<a href="http://serversupportforum.de/forum/mail/16828.html">example</a>].</p>
<p>The requirement for proper RDNS resolution is that an IP address resolves to a PTR (&#8220;RDNS name&#8221;) that itself resolves to that same IP address (via an A record). How to set this up on a Host Europe virtual server:</p>
<ol>
<li>Choose a fully qualified domain name as your RDNS name. We proposed above to re-use your hostname as the RDNS name.</li>
<li>If you did not chose it to be the same as your hostname, make it resolve to the server&#8217;s IP address. In the case of your hostname, you have already done that above.</li>
<li>Follow the <a href="https://kis.hosteurope.de/support/faq/?cpid=11518">Host Europe instructions to change the RDNS name</a> in the customer information system.</li>
<li>Wait for your changes to become effective. This may take 48 hours or a bit longer to propagate through the whole Internet [<a href="http://serversupportforum.de/forum/124620-post14.html">source</a>].</li>
<li>Check that your RDNS resolution works correctly now. According to [serversupportforum.de thread <a href="http://serversupportforum.de/forum/124291-post11.html">124291 post 11</a> and thread <a href="http://serversupportforum.de/forum/124324-post12.html">124324 post 12</a>], do this:</li>
<ol>
<li>Check resolving from IP address to PTR (&#8220;RDNS name&#8221;): dig -x 217.79.215.140</li>
<li>Check resolving from the determined PTR (here, bundestag.de) back to IP address (here, must be 217.79.215.140 again): dig bundestag.de</li>
</ol>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/emails-from-host-europe-vps-arrive-as-spam/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use KiCAD to create wiring diagrams?</title>
		<link>http://ma.juii.net/blog/kicad-for-wiring-diagrams</link>
		<comments>http://ma.juii.net/blog/kicad-for-wiring-diagrams#comments</comments>
		<pubDate>Sat, 08 Oct 2011 20:56:34 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5955</guid>
		<description><![CDATA[<p>While a schematics capture application is more targeted for PCB circuits, it can also be great for wiring diagrams. Here are some tips to get the most out of KiCAD for that purpose:</p> Wires cannot be annotated with name/value pairs in KiCAD. But you can create a point-type &#8220;wire meta component&#8221; yourself, maybe looking like [...]]]></description>
			<content:encoded><![CDATA[<p>While a schematics capture application is more targeted for PCB circuits, it can also be great for <a href="http://en.wikipedia.org/wiki/Wiring_diagram">wiring diagrams</a>. Here are some tips to get the most out of <a href="http://kicad.sourceforge.net/">KiCAD</a> for that purpose:</p>
<ul>
<li>Wires cannot be annotated with name/value pairs in KiCAD. But you can create a point-type &#8220;wire meta component&#8221; yourself, maybe looking like a small dotted circle line. You can then place it as the center of every logical wire, and connect its both pins to the pins of connected devices. Now you can add meta information to your wire, and also display these as fields in the logical middle of your wire: wire color, crosssection, cable type, special requirements for chemical and heat resistance etc..</li>
<li>KiCAD will display all wires in the same color. So in case you rely on wire color for wire identification in your project, the resulting wiring diagram will be hard to read for (visually) for working with your physical project, even though the wire color can be displayed in a field (see previous tip). For that reason, better use wires only to encode the general role of a wire (like red for all positive power supply wires, black for the negative ones). And rely on wire ID numbering for identification purposes. There are many commercial products for adding these numbers to your wires also after installing them (like <a href="http://www.industrieetiketten.net/Kabelkennzeichnung/Kabelfahnen/Kabelfahnen-auf-DIN-A4-Bogen-farbig::34408.html">cable flags</a>, or as a more durable solution, <a href="http://www.computeruniverse.net/products/90280814/digitus-100x-kabelbinder.asp?agent=619">cable ties with 10&#215;2.5 mm label field</a>). You can add these wire identifiers to the fields with the pin descriptions of your components, maybe using a vertical bar &#8220;|&#8221; to separate wire ID and pin name / number, and place the wire ID on that side of the field more to the edge of the component.</li>
<li>Even if KiCAD could display different wire colors, wire IDs would still be needed if you use buses, because a bus could contain two wires of the same color so that tracing them in the diagram would be impossible. And you should use buses, they are a great means for tidying your wiring diagram up optically. Especially, use buses for all multi-core cables in your application, as these are a sort of &#8220;physical buses&#8221; anyway.</li>
<li>Use the KiCAD &#8220;Edit -&gt; Find&#8221; functionality to find dsired elements in your wiring diagram quickly; this adds a good deal of interaction to your diagram. You should design your IDs for wires and components, and everything else that appears on labels in your physical product, in a way so that every such string is unique. This makes searching through the diagram more comfortable, as you know that the first (and only) result is the one you are looking for.</li>
<li>Look through <a href="http://www.kicadlib.org/">kicadlib.org</a> to see if you can locate useful components not already in your locally installed KiCAD libary.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/kicad-for-wiring-diagrams/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What open content Unicode fonts can be recommended?</title>
		<link>http://ma.juii.net/blog/free-unicode-font-recommendation</link>
		<comments>http://ma.juii.net/blog/free-unicode-font-recommendation#comments</comments>
		<pubDate>Sun, 11 Sep 2011 21:03:38 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5939</guid>
		<description><![CDATA[<p>We now have quite a good variety of free software Unicode fonts available, as can be seen from the Wikipedia free Unicode fonts overview. With that comes the difficulty to choose. So, here is my analysis in the context of searching a complete set of great free fonts for writing a thesis document:</p> My recommended [...]]]></description>
			<content:encoded><![CDATA[<p>We now have quite a good variety of free software Unicode fonts available, as can be seen from the <a href="http://en.wikipedia.org/wiki/Free_software_Unicode_typefaces">Wikipedia free Unicode fonts overview</a>. With that comes the difficulty to choose. So, here is my analysis in the context of searching a complete set of great free fonts for writing a thesis document:</p>
<h2>My recommended fonts</h2>
<ul>
<li><strong><a href="http://en.wikipedia.org/wiki/DejaVu_fonts">DejaVu Sans</a>.</strong> Its web home is <a href="http://dejavu-fonts.org/">dejavu-fonts.org</a>. Recommended to be used as the main font for the document (except you insist on a seirf font). Because, this font has great Unicode coverage and free software licencing, and as a unique feature among comparable fonts like FreeSans, it comes with  a &#8220;Light&#8221; variant. What is really missing for now is a &#8220;Light Condended&#8221; variant, however.</li>
<li><strong>Liberation Sans Narrow.</strong> Even more condensed than Liberation Sans, which is already more condensed than DejaVu Sans but comparable to DejaVu Sans Condensed. So it can be used as a &#8220;really condensed&#8221; font in replacement of a missing &#8220;DejaVu Sans Light Condended&#8221;, increasing the possibilities of document formatting. The downside is, this font lacks good Unicode coverage, so it can only be used for normal Latin text, not formulae etc..</li>
<li><strong><a href="http://en.wikipedia.org/wiki/Free_UCS_Outline_Fonts">FreeSerif</a>.</strong> A good-looking, free software licenced serif font with huge Unicode coverage.</li>
</ul>
<h2>My not-so-recommended fonts</h2>
<p>In alphanumeric order.</p>
<ul>
<li><strong> CM-Super Sans.</strong> Like Modern Sans, this is also a PostScript Type1 conversion from the TeX Computer Modern font. And therefore, it is really good-looking. However, if any of these TeX fonts would be used, Latin Modern Sans would be preferrable.<br />
Because its Ubuntu package <em>lmodern</em> says in the description: &#8220;Their size is reasonable and they are usually considered to be of good quality (compared to cm-super, for instance; however, cm-super contains font families that have no equivalent in this package; additionally, there are character sets that are supported by cm-super and not by the Latin Modern fonts).&#8221; In addition, Wikipedia confirms this: &#8220;Other PostScript-based replacements exist such as BaKoMa, CM-super, or Latin Modern, instead of the original METAFONT-based Computer Modern. The Latin Modern implementation, maintained by Bogusław Jackowski and Janusz M. Nowacki, is now standard in the TeX community and was made through a METAFONT/MetaPost derivative called METATYPE1.&#8221; [<a href="http://en.wikipedia.org/wiki/Computer_Modern">source</a>]. An advantage over the Latin Modern fonts is however that they contain fonts for all font sizes [<a href="http://de.wikipedia.org/wiki/Cm-super">source</a>].<br />
Corresponding Ubuntu packages: cm-super, cm-super-x11. But for some reason, this does not make the sans serif font available to X11, or maybe not even install it.</li>
<li><strong><a href="http://en.wikipedia.org/wiki/DejaVu_fonts">DejaVu Serif</a>.</strong> For my taste, this font has a very bad look for a serif font.</li>
<li><strong>FreeSans.</strong> Comparable in good look to DejaVu Sans; FreeSans is just a bit more condensed. Comparable Unicode coverage as DejaVu Sans. However, this font lacks a &#8220;Light&#8221; variant.</li>
<li><strong><a href="http://de.wikipedia.org/wiki/Latin_Modern">Latin Modern</a> Sans.</strong> This is a PostScript Type1 conversion of the LaTeX <a href="http://en.wikipedia.org/wiki/Computer_Modern">Computer Modern</a> font. As it&#8217;s coming from TeX, it&#8217;s definitely the best-looking free software licenced sans serif font [<a href="http://www.tug.dk/FontCatalogue/lmodernsans/">text examples</a>]. However, it is not recommended here because it lacks sufficient Unicode coverage.</li>
<ul>
<li>Corresponding font names in LibreOffice: LMSans, LMSansDemiCond, LMSansQuot.</li>
<li>Corresponding Ubuntu package: lmodern.</li>
</ul>
<li><strong><a href="http://en.wikipedia.org/wiki/Liberation_Sans">Liberation Sans</a>.</strong> This font is a bit more condensed than DejaVu Sans. Compared to DejaVu Sans, it misses the great Unicode coverage and also a &#8220;Light&#8221; typeface, which is the reason it was not recommended here. It has larger <a href="http://de.wikipedia.org/wiki/Liniensystem_%28Typografie%29">relative x-height</a> than DejaVu Sans, which is said to make it less useful for large portions of text [<a href="http://de.wikipedia.org/wiki/Lucida">source</a>].<strong></strong></li>
<li><strong><a href="http://en.wikipedia.org/wiki/Liberation_Sans">Liberation Serif</a>.</strong> Good-looking, screen readable serif font. Already using another font from this family is one reason more to use this serif font instead of adding a font from a third family. However, this font lacks big enough Unicode coverage, and cannot be used for that reason.<strong></strong></li>
<li><strong><a href="http://en.wikipedia.org/wiki/Linux_Libertine">Linux Libertine G</a>.</strong> It is a way better looking serif font than DejaVu Serif, includes considerable Unicode support, but is less readable than Liberation Serif in small font sizes.</li>
<li><strong><a href="http://en.wikipedia.org/wiki/Lucida">Lucida Sans</a>.</strong> This is not recommended here because it is not available under free licences; it is just included gratis with Java. What&#8217;s interesting however is the <a href="http://en.wikipedia.org/wiki/Lucida#Lucida_Math">Lucida Math font</a> for formulae.</li>
<li><strong><a href="http://en.wikipedia.org/wiki/Nimbus_Sans">Nimbus Sans</a>.</strong> Not recommedned to be used as teh default font because of lacking Unicode support and lack of a &#8220;Light&#8221; font weight in the free software licenced variant [<a href="http://en.wikipedia.org/wiki/Nimbus_Sans#Nimbus_Sans_L">source</a>].</li>
</ul>
<p>Technical note: If you are on Linux, do not check Unicode coverage of fonts with gucharmap, as it will simply take over non-available symbols from fonts that have them. Use the LibreOffice &#8220;special character&#8221; table instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/free-unicode-font-recommendation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to back up a complete hard disk to compact size?</title>
		<link>http://ma.juii.net/blog/compactly-backup-complete-hard-disk</link>
		<comments>http://ma.juii.net/blog/compactly-backup-complete-hard-disk#comments</comments>
		<pubDate>Sat, 03 Sep 2011 10:00:11 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>
		<category><![CDATA[Thinkpad T40p]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://doit.juii.net/?p=806</guid>
		<description><![CDATA[<p>This is my current (2011-09) technique to create a compressed image of a complete hard disk and to restore it later. It works both for disks and partitions wth an operating system and with just data on it (it does not care at all what is on the disk). You should be able to restore [...]]]></description>
			<content:encoded><![CDATA[<p>This is my current (2011-09) technique to create a compressed image of a complete hard disk and to restore it later. It works both for disks and partitions wth an operating system and with just data on it (it does not care at all what is on the disk). You should be able to restore it to any hard disk of <em>at least</em> the same size.</p>
<h2>Technique using ntfsclone</h2>
<p>ntfsclone has the advantage that it can supply zeroes for unused sectors on the fly, eliminating one step of the dd based process (see below).</p>
<ol>
<li>Start from a Linux live CD, such as Ubuntu, and execute this command (naming your hard disk to backup, here /dev/sda is used):
<pre lang="bash">sudo ntfsclone -o - /dev/sda | bzip2 -c &gt; Backup.yyyy-mm-dd.sda.raw.bz2</pre>
</li>
<li>Note that you can also back up just individual partitions. But then, you should back up the <a href="http://en.wikipedia.org/wiki/Master_boot_record">MBR</a> and boot loader separately, and the partition table also in text format. For that, see:
<ul>
<li><a href="http://edoceo.com/exemplar/ntfsclone-transfer-windows">Transfer Windows to New Hard Disk with ntfsclone</a></li>
<li><a href="http://www.inference.phy.cam.ac.uk/saw27/notes/backup-hard-disk-partitions.html">Notes on backing up entire hard disks or partitions</a></li>
</ul>
</li>
<li>For uncompressing later, use a command like this:
<pre>bunzip2 -c Backup.yyyy-mm-dd.sda.raw.bz2 | ntfsclone --overwrite /dev/sda -</pre>
</li>
</ol>
<h2 lang="bash">Technique using dd and gzip</h2>
<p>This involves an additional step for manually zero-ing unused disk space. Also, using gzip instead of bzip2 yields less effective compression, but is faster. You can however supply bzip2, bzcat and bunzip2 for every call to gzip, zcat or gunzip; their parameter usage is compatible for our purposes.</p>
<ol>
<li>To achieve good compression ratios, it is advisable to fill unused space of the disk to back up with zeroes (or ones or any other kind of redundancy). Please do not do that when trying to rescue defective disks and partitions, as you would lose potentially valuable data in unallocated space on your original disk. There are several techniques for that:</li>
<ul>
<li>In any kind of file system, when using Linux, you could create a file that is as large as possible, consisting only of zeroes, and after that delete it again:<br />
<code>dd if=/dev/zero of=fillfile.raw bs=8M; rm fillfile.raw;</code></li>
<li>If it&#8217;s about a NTFS partition and you can use that in Windows, you could use Microsoft&#8217;s <a href="http://www.microsoft.com/technet/sysinternals/FileAndDisk/SDelete.mspx">SDelete</a>. However, when trying it out in 2008 by using &#8220;sdelete -c -p 1 c&#8221;, it gave me this error message: &#8220;Cannot clean free space for UNC drive.&#8221;.</li>
<li>Again, if it&#8217;s about an NTFS partition in Windows, you can use <a href="http://eraser.heidi.ie/">Eraser</a>. In version 5, you could configure an own pattern (just zeroes) to overwrite unused disk space. In version 6.0.8 at least, this is no longer immediately possible. The developer advises to use the &#8220;HMG IS5 Baseline&#8221; for that, as it would do just that task of overwriting once with zeroes [<a href="http://bbs.heidi.ie/viewtopic.php?t=8164&amp;p=24353#p24353">source</a>]; but in my test, this failed (no meaningful compression ratio afterwards). You can still create an own erasure method according to page 15 of the user manual though [<a href="http://bbs.heidi.ie/viewtopic.php?t=8164&amp;p=24353#p24118">source</a>]. Also note, to be able to erase unused disk space when running it in Windows Vista, you need to run Eraser as Administrator user. For that, close all Eraser instances (no Eraser tray icon must be left!), right-click the Eraser desktop symbol and click &#8220;Run as Administrator &#8230;&#8221; [<a href="http://bbs.heidi.ie/viewtopic.php?f=35&amp;t=5309">source</a>].</li>
</ul>
<li>Now connect the hard disk to back up as a second or external USB hard disk to a Linux system, boot its installed Linux system, or boot into a Linux Live CD such as aUbuntu.</li>
<li>To back up the hard disk to a gzip-compressed image, use this command (naming your hard disk, here /dev/sda):
<pre lang="bash">dd if=/dev/sda | gzip -c &gt; Backup.yyyy-mm-dd.sda.dd.gz</pre>
<p>On a 1.3 GHz Pentium 4 processor, this produced a throughput of between 3 MiB/s of hard disk raw data (at the start of the hard disk where compression was difficult) and 10 MiB/s (at the end of the hard disk where the all-zero area was located).</li>
<li>
<p lang="bash">Using &#8220;kill -USR1 &lt;pid&gt;&#8221;, supplying the process ID of the dd process, you can look at the progress of the command.</p>
</li>
<li>For restoring from the compressed backup, you would do this:
<pre lang="bash">sudo zcat Backup.yyyy-mm-dd.sda.dd.gz | dd of=/dev/sda</pre>
<p>Or if you want a more exact pendant to the compress command, use this:</p>
<pre lang="bash">sudo dd if=Backup.yyyy-mm-dd.sda.dd.gz | zcat | dd of=/dev/sda</pre>
</li>
<li>Using the &#8220;seek&#8221; option of dd, or using cat, it should be possible to split the created file into several ones (for example, to burn them to several DVDs). However, I did not try that out. What definitely works is burning one backup file to a DVD-ROM (e.g. a 8 GB double layer DVD-R). Previously, there were some <a href="/blog/file-larger-than-4gb-on-dvd">fixable problems with files &gt;4 GiB on DVD</a>.</li>
</ol>
<h2>Non-working alternatives</h2>
<p>The original problem had been rather to back up a complete hard disk using Windows on a  ThinkPad T40. There were two options availale using IBM software, but both did not work (so the above method was used instead):</p>
<ul>
<li>The software &#8220;ThinkVantage Rescue and Recovery&#8221; should normally work as a solution. However, version 4.1 of it refused to install on a ThinkPad T40 because it thought the operating system is Windows Vista rather than XP.</li>
<li>Alternatively, &#8220;IBM Rapid Restore Ultra&#8221; from &#8220;Access IBM&#8221; should be a possible solution. Unfortunately, this is not possible either, because: to create the backup partition, a floppy drive is needed and it was not possible (even not by reinstalling that application) to select the option that would make a USB drive sufficient for creating the backup.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/compactly-backup-complete-hard-disk/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What time banking software can be recommended?</title>
		<link>http://ma.juii.net/blog/time-banking-software-recommendation</link>
		<comments>http://ma.juii.net/blog/time-banking-software-recommendation#comments</comments>
		<pubDate>Wed, 31 Aug 2011 21:29:13 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5899</guid>
		<description><![CDATA[Background: alternative economy concepts <p>A financial-economic crisis (like this or this or this) makes us think what&#8217;s wrong with our economic systems, and search for alternatives. For example, one would search for grassroots ways to organize mutual service and exchange of goods without using legal tender, as the latter can be a scarce resource due [...]]]></description>
			<content:encoded><![CDATA[<h2>Background: alternative economy concepts</h2>
<p>A financial-economic crisis (like <a href="http://en.wikipedia.org/wiki/European_sovereign_debt_crisis">this</a> or <a href="http://en.wikipedia.org/wiki/Subprime_mortgage_crisis">this</a> or <a href="http://en.wikipedia.org/wiki/2007%E2%80%932008_world_food_price_crisis">this</a>) makes us think what&#8217;s wrong with our economic systems, and search for alternatives. For example, one would search for grassroots ways to organize mutual service and exchange of goods without using legal tender, as the latter can be a scarce resource due to &#8220;personal deflation&#8221;, esp. in an economic crisis (that is, by being separated from any high-capacity money source of the society, e.g. by being self-employed and having only &#8220;poor&#8221; customers).</p>
<p>Interestingly, many alternative economic concepts have been developed long ago at concept level, but failed to receive public attention or achieve widespread application. For example, in the area of trade mechanisms and finance, I found several concepts that run for being a basis of an alternative economy:</p>
<ul>
<li><strong><a href="http://en.wikipedia.org/wiki/Local_Exchange_Trading_Systems">LETS</a>, the Local Exchange Trading Systems.</strong> Effectively, these are complementary currency systems on a local scale, where members exchange goods and services for LETS credit points. All members start with zero balance, and go below that by paying with credit points; which means, they have the role of a bank that does bank money creation. The value of goods and services is something to be agreed by the members, that is, normal market mechanisms of supply and demand apply. In principle, all LETS systems are confined to one city or small area (see e.g. this <a href="http://johnturmel.com/urlsnat.htm">LETS list from 2002</a>), as the credits are backed by just group trust (omnidirectional trust from one to all other LETS group members). This is, in my view, their biggest shortcoming. How do you transfer your LETS credits when you move, and even worse, how do you use LETS if you have a nomadic lifestyle? Also, the island-type of LETS, with no standardized infrastructure between them, severely limits its public visibility as one movement or system.</li>
<li><strong><a href="http://en.wikipedia.org/wiki/Time-based_currency">Time-based currency</a> (see also <a href="http://en.wikipedia.org/wiki/Time_banking">time banking</a>).</strong> Also called &#8220;time dollars&#8221;. While the bookkeeping is very similar to LETS, the difference is that noarbitrary unit (or a unit aligned to legal tender) is used to measure service contributions, but the man-hour of work time. This can, but needs not, be used to build egalitarian systems, where everybody&#8217;s contributions are valued equally. For an interesting early experiment from 1827, read about the <a href="http://en.wikipedia.org/wiki/Cincinnati_Time_Store">Cincinnati Time Store</a>. Currently, timebanks are normally local organizations just like LETS [see an <a href="http://timebanks.org/membership/membership-directory/international-timebanks/">international list of time banks</a>].</li>
<li><strong>Barter platforms.</strong> By these, I mean systems that are based on direct barter between two parties, or circular barter between three or more parties. But always so that a deal happens only when all parties at the same time have something that they can offer that another party in this deal wants. That is, they work without intermediate units of accounting, which would eliminate the need that (1) supply and demand are matched for every party at the same time and (2) somebody can only be part of a deal by both demanding and supplying something, as none of these can be replaced with currency. These severe limitations of direct barter make these platforms look quite unusable, esp. before reaching a critical mass of offers. Examples of such systems include the German portal <a href="http://www.bambali.net/">Bambali</a>.</li>
<li><strong><a href="http://en.wikipedia.org/wiki/Scrip">Scrip</a>.</strong> Alternative currency by simply writing some numbers on some paper.</li>
<li><strong><a href="http://en.wikipedia.org/wiki/Mutualism_%28economic_theory%29">Mutualism</a>.</strong> An economic theory that seeks to value goods just by the amount of labour / resources needed to produce them, thus eliminating the concept of capitalist &#8220;gain&#8221; (price above cost) altogether.</li>
<li>And there is a list with <a href="http://www.turmelpress.com/kudos.htm">many more articles on alternative monetary systems</a>.</li>
</ul>
<p>Interestingly, the proposal for a time-based currency even made it into a United Nations document (but note that the document was compiled by members of NGO&#8217;s when meeting for the Millenium Forum, so is no official UN resolution or anything):</p>
<p style="padding-left: 30px;">&#8220;The Forum urges [...] [g]overnments [...] [t]o make serious commitments to restructure the global financial architecture based on principles of equity, transparency, accountability and democracy, and to balance, with the participation of civil society organizations, the monetary means to favour human endeavour and ecology, such as an alternative time-based currency.&#8221; [<a href="http://www.un.org/millennium/declaration.htm">We the Peoples Millennium Forum Declaration and Agenda for Action: Strengthening the United Nations for the twenty-first century</a>; United Nations document A/54/959,  adopted by the Millennium Forum on 26 May 2000; section "C. Facing the challenge of globalization: equity, justice and diversity"; this very section quoted here <a href="http://johnturmel.com/urlsnat.htm">was contributed by John Turmel</a>]</p>
<h2>Choosing a time banking service or software</h2>
<p>My interest in alternative economy is both at the theoretical and pragmatic level. On the pragmatic side, I desperately need a system to track neighborly help; because when doing that in larger-than-usual amount (say, 50 hours per month and more) and without payment of course, you better track what time you invest and what you get in return or you might eventually end up poor and exhausted.</p>
<p>So what I need is a time banking system. My detailed requirements, in order of importance:</p>
<ul>
<li><strong>Non-local.</strong> Not restricted to any local area, neither formally nor by informal expectations or average location of members.</li>
<li><strong>Useful for a personal global network.</strong> As I will lead a nomadic lifestyle, the system should be useful within a global network of friends and acquaintances. There is no need that the system allows trade with all members of existing alternative currency systems, but that would be great of course. Trading with personal acquaintances is enough.</li>
<li><strong>Modern UI.</strong> I simply can&#8217;t bear with web-sites coming with that pre-2000 look &#8230;</li>
<li><strong>No fees.</strong> Transaction or membership fees are simply nonsense in an age of software and automation, where web-based services of similar complexity are all free.</li>
<li><strong>No-barrier registration.</strong> No requirement for an interview, for subscribing and sending in stuff by snail mail. Immediate login after registration must be possible. Pseudonymous registration must be available.</li>
<li><strong>Open source software.</strong> When installing own software, it should be free. When using a webservice, it should ideally be based on free software, too.</li>
<li><strong>Well-known programming language.</strong> I&#8217;m happy with Java and PHP and also Ruby, as this allows me to modify the software efficiently when necessary, and to better diagnose problems.</li>
<li><strong>Low maintenance.</strong> So the optimum solution would be using a web service; hosting software on an own server is possible but can be cumbersome to keep up.</li>
</ul>
<p>Here is a short overview of the projects I found, with my evaluation. Note that I just looked into descriptions and demo versions mostly, so do not consider this my last word on this. By adequacy for the above requirements:</p>
<ol>
<li><strong><a href="http://www.community-exchange.org/docs/join2.asp?xid=GLOG">Global Groups Exchange at CES</a>.</strong> This is the only international and time-based exchange at the Community Exchange System. Seems like the ideal choice among the CES alternatives and the only one.</li>
<li><strong><a href="http://communityforge.net/our-solutions">Own time banking system at CommunityForge</a>.</strong> Their &#8220;default hosted solution&#8221; is offered for free.</li>
<li><strong><a href="http://www.community-exchange.org/misc/joinexchange.htm">Registering an own CES exchange</a>.</strong> The <a href="http://www.community-exchange.org/">Community Exchange System</a> (see also <a href="http://de.wikipedia.org/wiki/Community_Exchange_System">in German Wikipedia</a>) is a unique global network where local alternative currency systems like LETS and time banks can join. It provides them with a web based accounting environment, and also allows trading between the different groups (which all use their own currency). So the shortcoming of LETS and time banks of being &#8220;just local&#8221; is remedied that way! Registering an own group involves some administration efforts for that &#8220;own&#8221; group, but also allows more control and customization.</li>
<li><strong>Registering an own time bank at <a href="http://www.tauschen-ohne-geld.de/tauschringe">Tauschen ohne Geld</a>.</strong> It seems to be possible to create a group there that uses work time as the unit of currency. However, the system is not international (German domain, only member groups from Germany, Austria, Switzerland). Also, it is not clear so far how trade between the individual groups works; it is supposed to use the <a href="http://www.tauschen-ohne-geld.de/ressourcen-tauschring-rtr">Ressourcen-Tauschring (RTR)</a> in some way. But like CES, Tauschen ohne Geld provides an e-banking environment to members. There seem to be no fees.</li>
<li><strong><a href="http://drupal.org/project/cforge">CommunityForge on own server</a>.</strong> It&#8217;s free and open source. Or to integrate the same time-banking and LETS code into an own Drupal site, install the <a href="http://drupal.org/project/mutual_credit">Community Accounting </a>and <a href="http://drupal.org/project/offers_wants">Offers &amp; Wants</a> Drupal modules.</li>
<li><strong><a href="https://github.com/jplewicke/rivulet">Rivulet</a> on own server.</strong> Ripple is a web-of-trust extension of the LETS system, avoiding the group trust necessity that keeps LETSs local. Rivulet is a Ripple server [<a href="http://ripple-project.org/Main/Implementations">source</a>] written in Ruby, while the Ripple reference implementation RippleSite is based on Python [<a href="http://sourceforge.net/projects/ripple">source</a>]. RippleSite so far offers a quite simplistic UI, but Rivulet is said to support AJAX (but I did not test the features provided in the UI so far). So in all, I&#8217;d like to check Rivulet as my favorite Ripple implementation.</li>
<li><strong><a href="https://github.com/oscurrency/oscurrency">OSCurrency</a> on own server.</strong> The OSCurrency project is a Ruby-based implementation of the OpenTransact protocol [<a href="https://github.com/opentransact/opentransact/wiki/asset-provider-list">source</a>], specifically targeted at building a timebank. Example and demo sites etc. can be found on the <a href="http://www.opensourcecurrency.org/">OSCurrency website</a>.</li>
<li><strong><a href="http://project.cyclos.org/">Cyclos</a> on own server.</strong> Cyclos is an awesome, free and open source (!) software specially made for alternative currency banking. LETS, timebanks etc. can all be provided with a Cyclos installation, which acts as a website providing a central e-banking environment to all members. The project is very rich in features and seems to be the most mature software product in the area of alternative currencies as of 2011-08. It&#8217;s written in Java and runs as a Tomcat container, so installing can give you some trouble esp. if you already have a Tomcat with some web applications running. Be sure to check the <a href="http://project.cyclos.org/wiki/index.php?title=Installation_%26_maintenance">Cyclos installation instructions</a>.</li>
<li><strong><a href="https://ripplepay.com/">RipplePay</a> account.</strong> Ripple is a web-of-trust extension of the LETS system, avoiding the group trust necessity that keeps LETSs local. RipplePay is the portal supported by the reference Ripple implementation, <a href="http://sourceforge.net/projects/ripple">RippleSite</a> [<a href="http://ripple-project.org/Main/Implementations">source</a>]. While this portal has no vibrant community yet, it could still be used together with friends if one targets trading with them only anyway. However, RipplePay&#8217;s units of currency are bound to USD parity (while of course not needing real dollars to make payments). This makes orientation simpler, but would require a hack like an internal &#8220;15 USD = 1 hour&#8221; agreement to using it for time banking. This could of course be fixed easily when installing RipplePay on ones own server; but then again, I would prefer Rivulet, see above.</li>
<li><strong><a href="http://www.favabank.co.uk/">Joining favabank.com</a>.</strong>  Favabank is not exactly time banking, but a more general LETS including goods and time-based services, using the &#8220;fava&#8221; currency. However it is not restricted to some location as most LETSs. Usability looks good, but offers are few as of 2012-04.</li>
<li><strong><a href="https://picomoney.com/karmas/new">Registering an own</a> <a href="https://picomoney.com/">PicoMoney</a> currency.</strong>  PicoMoney acts as a service provider that allows this, even for free. However, when issuing a time-based currency, the PicoMoney seems unfit to operate a LETS-type exchange network: there is only one issuer per currency, where issuing means, handing out some of the currency as an IOU (&#8220;I owe you&#8221;) statement in return for received services. This would mean that, to establish a network, everybody has to hand out an own type of currency that represents the time of just this individual. This would be still tolerable if PicoMoney would allow free conversion between these currencies, but this seems to be impossible in its current state. Note that PicoMoney provides an implementation of the OpenTransact protocol [<a href="https://github.com/opentransact/opentransact/wiki/asset-provider-list">source</a>].<br />
<strong></strong></li>
<li><strong>Joining <a href="http://www.zeitbank.net/">zeitbank.net</a>.</strong> They seem to accept members without respect to their current location, but their activities seem centered around Munich. Also, the site is only available in German. Also, they require a <a href="http://www.zeitbank.net/?page_id=18">membership fee of 36 EUR</a> for an individual, per year.</li>
<li><strong><a href="http://www.karmagora.com/">Karmagora</a>.</strong> A great-looking global time-banking system. The only reason it is last in this list is, it&#8217;s still in private beta as of 2011-08.</li>
</ol>
<h2>Other alternative economy projects</h2>
<p>That is, those I found to be interesting, but which are not directly usable or related to time banking. In no particular order:</p>
<ul>
<li><strong><a href="http://www.kleiderkreisel.de/">Kleiderkreisel</a>.</strong> A Germany wide barter ring for clothing.<br />
<strong></strong></li>
<li><strong><a href="http://www.opentransact.org/">OpenTransact</a>.</strong> This is an open source protocol, with a reference implementation, that allows trading with any kind of currency, incl. &#8220;time units&#8221;.</li>
<li>The <a href="http://metacurrency.org/">MetaCurrency project</a>. Inventing new forms of money, but seemingly in the early stages?</li>
<li>A great <a href="http://socialcompare.com/en/comparison/alternative-currencies-monetary-systems">comparison table of alternative currencies</a> and monetary systems.</li>
<li><strong><a href="http://www.tauschring.de/">tauschringe.de</a>.</strong> A German information site on LETS systems, including an <a href="http://www.tauschring.de/adressen.php">LETS address directory</a>.</li>
<li><a href="http://tauschbillet.de/">Tauschbillet</a>. A Germany-wide LETS-like system for bartering goods, with a &#8220;billet&#8221; currency as an intermediary.</li>
<li><strong><a href="http://tauschzone.de/">Tauschzone</a>.</strong> Another Germany-wide LETS like system for goods, with a private currency as the intermediary.</li>
<li><strong><a href="http://www.tauschringadressen.de/adressdaten/benutzerprofile.php">German LETS address directory</a>.</strong></li>
<li><a href="http://openmoney.info/">Open Money project</a>. A wealth-acknowledging information system.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/time-banking-software-recommendation/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to write a thesis in FreeMind?</title>
		<link>http://ma.juii.net/blog/thesis-in-freemind</link>
		<comments>http://ma.juii.net/blog/thesis-in-freemind#comments</comments>
		<pubDate>Tue, 30 Aug 2011 11:08:43 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5894</guid>
		<description><![CDATA[<p>Note: This is a work in progress as it documents the experiences I currently make while writing the paper. So it might not present the optimum solutions yet.</p> Is FreeMind adequate for writing a thesis? <p>My last thesis was written in OpenOffice.org (now LibreOffice), and the one feature I really missed there was a comfortable [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;">Note: This is a work in progress as it documents the experiences I currently make while writing the paper. So it might not present the optimum solutions yet.</span></p>
<h2>Is FreeMind adequate for writing a thesis?</h2>
<p>My last thesis was written in OpenOffice.org (now LibreOffice), and the one feature I really missed there was a comfortable way of moving notes, snippets and other parts of text around. Because getting a thesis done is, for a good part, just that: ordering and integrating notes and snippets that you wrote whenever you had an idea or insight.</p>
<p>Since that thesis, I became a FreeMind enthusiast, using it for nearly all my personal information management. It&#8217;s truly great in this &#8220;ordering notes&#8221; task because three aspects come together: it&#8217;s speedy enough in displaying and dragging even large mindmaps; it provides good optical clues for quick visual navigation in a huge hierarchical mindmap, making it mentally less strenuous to work with it (unlike scrolling text in OOo or using OOo outline mode); it provides great keyboard shortcuts for quick navigation and reordering of nodes in the hierarchy.</p>
<p>Looking for alternative mindmapping software, I found <a href="http://www.freehackers.org/~tnagy/kdissert.html">Semantik</a>, a tool developed with just this purpose in mind: a mindmapper to write thesis-style papers. However, I found its current (as of 2011-08) version in several aspects more limited than FreeMind, while finding that FreeMind can be used in a way that comfortably emulates the more thesis-writing-specific features of Semantik.</p>
<h2>Discussion on the toolbox</h2>
<ul>
<li><strong>FreeMind.</strong> For sorting and writing the complete text part.</li>
<ul>
<li>Configure your FreeMind key bindings for &#8220;Note Edit Switch&#8221; (I have F8) and &#8220;Show / Hide Note Window&#8221; (I have F7). Without, using notes instead of placing all content in the tree nodes is quite uncomfortable. But when writing a thesis, you might want to try putting the actual texts into notes, and having only the introduction or header in the tree nodes. The existence of a note is indicated by an icon in a node, and the note&#8217;s text is also shown in the node&#8217;s tooltip.</li>
</ul>
<li><strong>LibreOffice Writer.</strong> For finishing the formatting and for PDF generation.</li>
<li><strong>Zotero.</strong> This is my current recommendation for a reference management tool for LibreOffice, see my <strong><a href="/blog/collaborative-reference-manager-in-openoffice">evaluation of reference managers for LibreOffice</a></strong>. Of course you could try to use FreeMind itself for reference management, by treating references as just another type of &#8220;thesis snippet&#8221; that you organize with FreeMind. Sounds like a clean generic solution, but FreeMind is no all-understanding knowledge management system. You need a specialized reference management software, or you would have much tedious manual formatting and data collect work to do in FreeMind. Also, collaborating on a common bibliography would be difficult with this approach.</li>
<li><strong>Zotero plugin for LibreOffice.</strong></li>
<li><strong>Zotero plugin for FreeMind.</strong> This does not yet exist, but might be needed to use Zotero with FreeMind. If it&#8217;s necessary, it has to be developed. <span style="color: #ff0000;">TODO: Find out about hacks how to integrate Zotero with FreeMind without such a plugin, maybe using the FreeMind scripting system.</span></li>
</ul>
<h2>Process</h2>
<p>With this toolbox and configuration, the process of writing a thesis seems to look like this in the end:</p>
<ol>
<li>Create a &#8220;thesis&#8221; mindmap in FreeMind.</li>
<li>Create an &#8220;inbox&#8221; node in that mindmap and collect all your ideas into that whenever you don&#8217;t have the time to find a more appropriate place for them.</li>
<li>Create an initial table of contents by mapping it to a hierarchical node structure in your thesis mindmap.</li>
<li>Add notes, move nodes and rework your table of contents hierarchy until the textual part of your thesis is done. At least until nearly all reordering is done. Finishing the wording can be done comfortably in LibreOffice, too.</li>
<li>Unfold the mindmap so that all notes belonging to TOC headings are visible, but not more. Then export to ODF format &#8211; the visible nodes will become the headings there, and thus will be included into the TOC when you add that to the ODF document.</li>
<li>Open the ODF document in LibreOffice and finish the formatting. <span style="color: #ff0000;">TODO: This especially needs transforming existing formatting done in FreeMind to LibreOffice style-based formatting. How can this be done efficiently?</span></li>
<li>Export the document in LibreOffice to PDF format.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/thesis-in-freemind/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Boom and bust of faith</title>
		<link>http://ma.juii.net/blog/boom-and-bust-of-faith</link>
		<comments>http://ma.juii.net/blog/boom-and-bust-of-faith#comments</comments>
		<pubDate>Tue, 30 Aug 2011 00:36:57 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[philosophy]]></category>
		<category><![CDATA[Think Thrice]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5888</guid>
		<description><![CDATA[<p>I made some interesting observations of analogies between faith and economy. Of which we can learn &#8211; this time, not for economy, but for faith.</p> <p>The boom and bust cycle of economy is based on mass psychology. The boom happens when everybody (for whatever reason) hope that the economy will improve, and subsequently invest and [...]]]></description>
			<content:encoded><![CDATA[<p>I made some interesting observations of analogies between faith and economy. Of which we can learn &#8211; this time, not for economy, but for faith.</p>
<p>The boom and bust cycle of economy is based on mass psychology. The boom happens when everybody (for whatever reason) hope that the economy will improve, and subsequently invest and consume, which in turn makes their hope be fulfilled as a self-fulfilling prophecy. On the other side, the bust happens because of pessimistic expectations of the future, for whatever reason, well-founded or unfounded.</p>
<p>The interesting thing is when and why the boom tips over to become the bust, and vice versa. In my opinion, the transition from boom to bust happens when any substantial group that takes part in the economy has &#8220;hoped too much&#8221;. Now when they finally notice that their expectations have been unrealistic (and they probably lost much money that they invested into companies and ideas now not rewarded by the economic situation), they lose all hope. This is unreasonable, but understandable, as human beings are in practice not really guided by reason and logic. What is further unreasonable is that their lost hope spread to the other members of the economy like an epidemia, and the now prevalent expectation that the economy will get worse will let just that happen.</p>
<p>Now, isn&#8217;t it just the same in faith? Christians definitely have reasons to hope. But they also can start hoping for things that God did never promise to us. Like that all the sick will be healed during this time on planet Earth. Now when people see good things happen in God&#8217;s kingdom, like being part of a great church or having a great time with God, or seeing prayers answered in a row: then people might, inspired by this, start hoping for even better things. That were not promised though. So they inevitably get disillusioned (and the longer they maintained their false hope before that, by all cunny means of self-delusion and psychology, the harder the disillusioning will be). And like in the economy, these people will lose all hope. They fall in a depression, in the worst case even in a <a href="http://en.wikipedia.org/wiki/Great_Depression">Great Depression</a>. This affects their relationship to God, but even worse, it affects their Christian brothers and sisters, which might now also lose hope. That would not matter much if it would be just disillusioning as well, but the problem is, people tend to lose also a part of their justified hope in God, and it might also affect people who did not harbor false hopes. As, they might become desparate about the bad conditions in the Church, where it is possible that people do harbor false hopes and go uncorrected for long times until finally falling into despair.</p>
<p>The good news is, the bust is not the end. In economy, people finally get to their senses and say: we need to move on with life. Let&#8217;s use our last pennies and buy some food. And as everybody moves out and again buys the essentials for life for their last pennies, the demand is back on the market, and the economy starts to improve. And then, when people realize this, they can regain some hope, and the boom is back. (Hopefully they don&#8217;t get too much of that hope, to avoid the next bust; but that hope has never come true yet &#8230; .)</p>
<p>Likewise in faith: when you&#8217;re depressed, on the ground, lost your hope on God, you will finally get to your senses and think: Wait, at least the basics are true: Jesus is my saviour, and that&#8217;s great. Then you might pray, experience some answered prayers again, again visit your church.</p>
<p>And there, you might even infect others with your new-gained young hope. And this &#8211; everybody regaining hope in God &#8211; is called: revival.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/boom-and-bust-of-faith/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to speed up huge mindmaps in FreeMind?</title>
		<link>http://ma.juii.net/blog/speed-up-huge-freemind-mindmaps</link>
		<comments>http://ma.juii.net/blog/speed-up-huge-freemind-mindmaps#comments</comments>
		<pubDate>Mon, 29 Aug 2011 23:52:01 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5883</guid>
		<description><![CDATA[<p>It is reported that the largest known mindmap used in FreeMind was 11 MiB with 22 000 nodes, equivalent to 1500 pages of text [source]. I wonder how they did this, as FreeMind started to become really slow in reaction for some activities in one of my mindmaps that was 2 MiB with approx. 10 [...]]]></description>
			<content:encoded><![CDATA[<p>It is reported that the largest known mindmap used in FreeMind was 11 MiB with 22 000 nodes, equivalent to 1500 pages of text [<a href="http://freemind.sourceforge.net/wiki/index.php/Asked_questions#What_is_the_largest_size_mindmap_I_can_edit_with_FreeMind.3F">source</a>]. I wonder how they did this, as FreeMind started to become really slow in reaction for some activities in one of my mindmaps that was 2 MiB with approx. 10 000 nodes. I was using FreeMind 0.9.0 RC6.</p>
<h2>Symptoms</h2>
<p>In my FreeMind performce problem, I had the following symtoms:</p>
<ul>
<li>Sometimes, reaction times from 0.8-1.2 s when selecting a different node with the mouse; after such a long-delay selection, most nodes in vicinity could be selected without any noticable delay.</li>
<li>Regular latencies of 0.8-1.2 s when adding a note (by pressing &#8220;Enter&#8221;), and additional 0.8-1.2 s of latency before letters that are written into this new node appear on the screen. After that, one could write without a delay. If one would wait after adding a node until the caret starts to blink in the text field, one could then start typing in a way so that letters appear on the screen immediately, but the total latency would stay the same.</li>
<li>Of course, long latencies (perhaps 10-15 s) for special operations like &#8220;select all nodes&#8221; (Ctrl+A). But this was still tolerable, as it is rarely needed.</li>
</ul>
<h2>Solution</h2>
<p>The only solution (rather, workaround) that I found so far is to reduce the number of nodes in your mindmap. This probably means to outsource some branches to external mindmaps and link to them from your central mindmap. Depending on what you store in your mindmap, it could also mean to combine nodes into one (like transforming the subnodes of a list-type node into items of a bulleted list in one HTML node).</p>
<p>If your mindmap only uses HTML nodes and you do not really need HTML as you employ no formattings, convert these HTML nodes to plain text nodes. In my informal tests, this improves performance by some 30%. Using a mindmap that not even contains icons and styles seems to further speed up things (maybe another 30%), but I did not thoroughly test this.</p>
<h2>Discussion</h2>
<p>From my informal tests it seems that FreeMind latency times in the above mentioned cases linearily depends on the number of nodes. Much text in the mindmap is not so much of a problem: I had a 2.8 MiB mindmap with much less nodes (estimate: 1500) and could still comfortably work; even though most of these nodes were HTML nodes &#8230; .</p>
<p>After splitting the problematic mindmap into two (one with 6000, one with 4000 nodes) I could work with sufficient comfort again. Inserting nodes and starting to type now took 0.4-0.6 s (in the cases where high latency is experienced). Selection was alwayss instantaneous.</p>
<p>Also, it seems to not influence FreeMind performance with large maps if your nodes are descendants of an encrypted node (like in my above mentioned 10 000 node mindmap) or not.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/speed-up-huge-freemind-mindmaps/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to interpret SMART attribute data?</title>
		<link>http://ma.juii.net/blog/interpret-smart-attributes</link>
		<comments>http://ma.juii.net/blog/interpret-smart-attributes#comments</comments>
		<pubDate>Mon, 29 Aug 2011 12:31:04 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5880</guid>
		<description><![CDATA[<p>On Linux, you can use smartmontools to read the SMART data of a drive; see this good introduction to reading SMART data.</p> <p>Note that, if your the device is behind a USB controller, you must not use the &#8220;-d ata&#8221; argument that you normally need to access SATA disks accessed with libata (as per &#8220;man [...]]]></description>
			<content:encoded><![CDATA[<p>On Linux, you can use smartmontools to read the SMART data of a drive; see this <a href="Instructions:%20http://www.cyberciti.biz/tips/linux-find-out-if-harddisk-failing.html">good introduction to reading SMART data</a>.</p>
<p>Note that, if your the device is behind a USB controller, you must not use the &#8220;-d ata&#8221; argument that you normally need to access SATA disks accessed with libata (as per &#8220;man smartctl&#8221;). If you add &#8220;-d ata&#8221;, the tool will complain &#8220;Smartctl: Device Read Identity Failed (not an ATA/ATAPI device)&#8221; and not read any health information or change any setting, even with &#8220;-T verypermissive&#8221;.</p>
<h2>Interpreting SMART attributes in general</h2>
<p>Every of the SMART attributes has several columns as shown by &#8220;smartctl -a &lt;device&gt;&#8221;:</p>
<ul>
<li><strong>ID:</strong> The ID number of the attribute, good for comparing with other lists like <a href="http://en.wikipedia.org/wiki/S.M.A.R.T.#Known_ATA_S.M.A.R.T._attributes">Wikipedia: S.M.A.R.T.: Known ATA S.M.A.R.T. attributes</a> because the attribute names sometimes differ.</li>
<li><strong>Name:</strong> The name of the SMART attribute.</li>
<li><strong>Value:</strong> The current, normalized value of the attribute. Higher values are always better (except for temperature for hard disks of some manufacturers). The range is normally 0-100, for some attributes 0-255 (so that 100 resp. 255 is best, 0 is worst). There is no standard on how manufacturers convert their raw value to this normalized one: when the normalized value approaches threshold, it can do linearily, exponentially, logarithmically or any other way, meaning that a doubled normalized value does not necessarily mean &#8220;twice as good&#8221;.</li>
<li><strong>Worst:</strong> The worst (normalized) value that this attribute had at any point of time where SMART was enabled. There seems to be no mechanism to reset current SMART attribute values, but this still makes sense as some SMART attributes, for some manufacturers, fluctuate over time so that keeping the worst one ever is meaningful.</li>
<li><strong>Threshold:</strong> The threshold below which the normalized value will be considered &#8220;exceeding specifications&#8221;. If the attribute type is &#8220;Pre-fail&#8221;, this means that SMART thinks the hard disk is just before failure. This will &#8220;trigger&#8221; SMART: setting it from &#8220;SMART test passed&#8221; to &#8220;SMART impending failure&#8221; or similar status.</li>
<li><strong>Type:</strong> The type of the attribute. Either &#8220;Pre-fail&#8221; for attributes that are said to indicate impending failure, or &#8220;Old_age&#8221; for attributes that just indicate wear and tear. Note that one and the same attribute can be classified as &#8220;Pre-fail&#8221; by one manufacturer or for one model and as &#8220;Old_age&#8221; by another or for another model. This is the case for example for attribute Seek_Error_Rate (ID 7), which is a widespread phenomenon on many disks and not considered critical by some manufacturers, but Seagate has it as &#8220;Pre-fail&#8221;.</li>
<li><strong>Raw value:</strong> The current raw value that was converted to the normalized value above. smartctl shows all as decimal values, but some attribute values of some manufacturers cannot be reasonably interpreted that way (for the details: <a href="http://en.wikipedia.org/wiki/S.M.A.R.T.#Known_ATA_S.M.A.R.T._attributes">Wikipedia: S.M.A.R.T.: Known ATA S.M.A.R.T. attributes</a>).</li>
</ul>
<h2>Reacting to SMART values</h2>
<p>It is said in this <a href="http://www.silentpcreview.com/forums/viewtopic.php?p=495397#p495397">good introduction to interpreting SMART values</a> that a drive that starts getting bad sectors (attribute ID 5) or &#8220;pending&#8221; bad sectors (attribute ID 197; they most likely are bad, too) will usually be trash in 6 months or less. The only exception would be if this does not happen: that is, bad sector count increases, but then stays stable for a long time, like a year or more. For that reason, one normally needs a diagramming / journaling tool for SMART. Many admins will exchange the hard drive if it gets reallocated sectors (ID 5) or sectors &#8220;under investigation&#8221; (ID 197) [<a href="http://www.ureader.de/message/1574074.aspx">source</a>].</p>
<p>For the more detailed meaning of the individual attributes, see again <a href="http://en.wikipedia.org/wiki/S.M.A.R.T.#Known_ATA_S.M.A.R.T._attributes">Wikipedia: S.M.A.R.T.: Known ATA S.M.A.R.T. attributes</a>. Also, there are many peculiarities of SMART attribute interpretation, depending on manufacturer, series and model, so if you have a strange case search for SMART attribute values from same and similar disks which others posted on forums. People even say that it takes a good deal of &#8220;intuition&#8221; to interpret them &#8230; .</p>
<p>The most important thing to know about SMART values is probably this conclusion from a Google Labs team:</p>
<p style="padding-left: 30px;">&#8220;We find, for example, that after their first scan error [any kind of bad sector error, caused by read instability or media damage], drives are 39 times more likely to fail within 60 days than drives with no such errors. First errors in reallocations, offline reallocations, and probational counts are also strongly correlated to higher failure probabilities. Despite those strong correlations, we find that failure prediction models based on SMART parameters alone are likely to be severely limited in their prediction accuracy, given that a large fraction of our failed drives have shown no SMART error signals whatsoever.&#8221; [<a href="http://labs.google.com/papers/disk_failures.pdf">Failure Trends in a Large Disk Drive Population</a>, p. 13]</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/interpret-smart-attributes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why are there still bad sectors after fixing them in a SeaTools Long Test?</title>
		<link>http://ma.juii.net/blog/bad-sectors-after-seatools-long-test</link>
		<comments>http://ma.juii.net/blog/bad-sectors-after-seatools-long-test#comments</comments>
		<pubDate>Mon, 29 Aug 2011 11:28:55 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5876</guid>
		<description><![CDATA[<p>What happened: I used SeaTools for DOS v2.20 to try remapping the bad sectors on a Seagate hard disk which had approx. 250 of them. (Yes I know that this makes little sense as such a drive will probably fail in the coming days or months anyway &#8230; but I was experimenting.)</p> <p>Now when you [...]]]></description>
			<content:encoded><![CDATA[<p>What happened: I used <a href="http://www.seagate.com/www/en-us/support/downloads/seatools">SeaTools for DOS v2.20</a> to try remapping the bad sectors on a Seagate hard disk which had approx. 250 of them. (Yes I know that this makes little sense as such a drive <a href="http://labs.google.com/papers/disk_failures.pdf">will probably fail in the coming days or months</a> anyway &#8230; but I was experimenting.)</p>
<p>Now when you run &#8220;Basic Tests -&gt; Long Test&#8221; in this tool, it will scan the whole drive and at the end show you a list of bad sectors and the option to fix all of them. I did so, and finally the program said &#8220;Long Test passed after Repair&#8221;. But afterwards the Short Test still failed due to an unreadable block after the last repaired one. So I let the Long Test run again, and it found again many bad blocks. Why? Wasn&#8217;t it supposed to find and fix them all during the first run?</p>
<p>Seemingly not. It seems that the number of blocks that this tool finds and repairs at once is at most 98, as that is the number reported in the progress window when the Long Test will stop proceeding and instead show the list of bad sectors to repair (strange enough, this window contains only 90 item, and also it does not seem that the 8 remaining ones are fixed and just not shown). So if you have to repair a really large amount of bad blocks, you will need to run the &#8220;Long Test&#8221; several times in a row. Or you could <a href="/blog/repair-bad-sector-like-seatools">do the same with other tools</a>.</p>
<p style="text-align: center;"><a href="http://ma.juii.net/wp-content/media/bad-sectors-after-seatools-long-test.1.jpg"><img class="aligncenter size-large wp-image-5927" title="Incomplete list of sectors to fix after a SeaTools Long Test" src="http://ma.juii.net/wp-content/media/bad-sectors-after-seatools-long-test.1-1024x768.jpg" alt="" width="640" height="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/bad-sectors-after-seatools-long-test/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to fix non-working mouse and keyboard in SeaTools for DOS 2.20?</title>
		<link>http://ma.juii.net/blog/fix-mouse-and-keyboard-in-seatools</link>
		<comments>http://ma.juii.net/blog/fix-mouse-and-keyboard-in-seatools#comments</comments>
		<pubDate>Mon, 29 Aug 2011 11:15:21 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5872</guid>
		<description><![CDATA[<p>This happened when trying to check a Seagate hard disk on an Acer TravelMate 5512 with SeaTools for DOS v2.20. Symptoms:</p> The SeaTools bootable CD booted ok, and the initial SeaTools interface showed up with a licence acceptance screen. Mouse was shown as installed as &#8220;PS/2&#8243; during the FreeDOS boot. No mouse or keyboard input [...]]]></description>
			<content:encoded><![CDATA[<p>This happened when trying to check a Seagate hard disk on an Acer TravelMate 5512 with <a href="http://www.seagate.com/www/en-us/support/downloads/seatools">SeaTools for DOS v2.20</a>. Symptoms:</p>
<ul>
<li>The SeaTools bootable CD booted ok, and the initial SeaTools interface showed up with a licence acceptance screen.</li>
<li>Mouse was shown as installed as &#8220;PS/2&#8243; during the FreeDOS boot.</li>
<li>No mouse or keyboard input works. This also applies when booting up with a USB mouse connected.</li>
<li>Ctrl+Alt+Del brings one back to the DOS level, and here the keyboard works.</li>
</ul>
<p>This seems to be an old unfixed problem on some systems, see for example forum discussions <a href="http://forums.seagate.com/t5/SeaTools/PS-2-Keyboard-and-Mouse-not-working-in-SeaTools-for-Dos/td-p/4736">here</a> and <a href="http://forums.seagate.com/t5/SeaTools/advised-to-run-Seatools-for-DOS-but-mouse-freezes/td-p/44303">here</a>.</p>
<p>Workaround: this problem appears only on some systems, not on all. So I simply switched the hard disk into a different computer (ThinkPad T60), and here mouse and keyboard work.</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/fix-mouse-and-keyboard-in-seatools/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to repair a bad sector the way SeaTools does it?</title>
		<link>http://ma.juii.net/blog/repair-bad-sector-like-seatools</link>
		<comments>http://ma.juii.net/blog/repair-bad-sector-like-seatools#comments</comments>
		<pubDate>Sun, 28 Aug 2011 19:35:43 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5866</guid>
		<description><![CDATA[What does SeaTools when remapping a block? <p>When using &#8220;Basic Tests -&#62; Long Test&#8221; in SeaTools for DOS, it may find bad sectors if there are any, and finally (after one info screen) present you with a list of them and the option to &#8220;repair&#8221; them.</p> <p>The SeaTools for DOS documentation reads:</p> <p style="padding-left: 30px;">&#8220;If [...]]]></description>
			<content:encoded><![CDATA[<h2>What does SeaTools when remapping a block?</h2>
<p>When using &#8220;Basic Tests -&gt; Long Test&#8221; in <a href="http://www.seagate.com/www/en-us/support/downloads/seatools">SeaTools for DOS</a>, it may find bad sectors if there are any, and finally (after one info screen) present you with a list of them and the option to &#8220;repair&#8221; them.</p>
<p>The SeaTools for DOS documentation reads:</p>
<p style="padding-left: 30px;">&#8220;If you have decided that the file or folder is replaceable, already backed up or just not important to you, then you can tell SeaTools to attempt to overwrite the sector. [...] If you give permission to overwrite a bad sector SeaTools will attempt to write a pattern of zeros to that sector. Usually, this action will assist the disk drive firmware in managing the problem by retiring the problem LBA and activating a spare in its place.&#8221; [<a href="http://www.seagate.com/staticfiles/support/seatools/user%20guides/SeaToolsDOSguide.EN.pdf">SeaTools for DOS User Guide</a>, Rev 31-Dec-2010, 4. Help Topic: "Bad Sector Found"]</p>
<p>This seems to mean that SeaTools for DOS just tries to write to the bad LBA, which will then trigger it to be reallocated to a different physical sector by the drive&#8217;s firmware. So SeaTools would not do any special proprietary thing to reallocate sectors or rescue your data, but just do something to trigger the disk&#8217;s firmware&#8217;s standard procedure for sector reallocation, as explained by Wikipedia:</p>
<p style="padding-left: 30px;">&#8220;Typically, automatic remapping of sectors only happens when a sector is written to. The logic behind this is presumably that even if a sector cannot be read normally, it may still be readable with data recovery methods. However, if a drive knows that a sector is bad and the drive&#8217;s controller receives a command to write over it, it will not reuse that sector and will instead remap it to one of its spare-sector regions.&#8221; [<a href="http://en.wikipedia.org/wiki/Bad_sector">Wikipedia: Bad Sector</a>]</p>
<p>While the usual procedure to force &#8220;pending&#8221; bad sectors to be remapped is to do a low-level format (overwriting the whole disk with zeros, like with dd), it seems from what SeaTools does that overwriting the sectors in question is sufficient.</p>
<h2>How do we do the same?</h2>
<p>Probably you do not need SeaTools for remapping a defective sector, you could just as well use the Linux utility dd to trigger writing to the bad sector, like this:</p>
<ol>
<li>Get the sector number (LBA, not physical) of the bad sector (here, 1234567).</li>
<li>Execute the following dd command, replacing /dev/sdb with your device in question:<br />
dd bs=4096 seek=$((1234567/8)) count=1 if=/dev/zero of=/dev/sdb</li>
</ol>
<p>Note that in the above example, we write one sector (512 bytes) only; to not overwrite more than this one sector. Note also, &#8220;seek&#8221; gives the number of blocks to <em>skip</em>, but as the LBA number is counted from zero, LBA 1234567 is actuall block no. 1234568, which means we need to skip one less than this to write to it, which is again 1234567.</p>
<p>Another note: normally you would expect writing one block of sector size (bs=512), instead of effectively 8 of them by using a block of size bs=4096. However, writing a sector-sized block does not work for some reason:</p>
<p style="padding-left: 30px;">$ sudo dd bs=512 seek=231588920 count=1 if=/dev/zero of=/dev/sdb;<br />
dd: writing `/dev/sdc&#8217;: Input/output error<br />
1+0 records in<br />
0+0 records out<br />
0 bytes (0 B) copied, 2.32662 s, 0.0 kB/s</p>
<p>The existence of one bad sector means that you can only overwrite it (to trigger sector remapping) with blocks in filesystem block size, here 4096 [source: "reallocate bad block writing zeros in it, *using the fs block size*", <a href="http://smartmontools.sourceforge.net/badblockhowto.html#lvm">Bad block HOWTO for smartmontools: Repairs at the disk level: LVM repairs</a>]. I currently have no idea why file system block size would have any impact here; perhaps this does not mean the file system of /dev/sdb, but of /dev/zero, which might also be a block device (but probably is not, but a character device)?</p>
<p>Anyway, this tip makes the process work. I tried ddrescue again afterwards, and no bad sector errors were found now. Which means, the disk indeed remapped the bad sectors. And after that, dd can write with bs=512 to the device &#8211; it only is impossible when trying to write to bad sectors, as it does not trigger remapping for some reason.</p>
<p>There is a more professional-looking way of fixing bad sectors, using sg_reassign and sg_verify, as described in <a href="http://smartmontools.sourceforge.net/badblockhowto.html#bb">Bad block HOWTO for smartmontools: Repairs at the disk level: Bad block reassignment</a>. Especially useful for batch processing many bad sectors.</p>
<h2>Performance effects of sector remapping</h2>
<p>Wikipedia reads on this:</p>
<p style="padding-left: 30px;">&#8220;As the count of reallocated sectors increases, the read/write speed tends to become worse because the drive head is forced to seek to the reserved area whenever a remap is accessed. A workaround which will preserve drive speed at the expense of capacity is to create a disk partition over the region which contains remaps and instruct the operating system to not use that partition.&#8221; [<a href="http://en.wikipedia.org/wiki/S.M.A.R.T.">Wikipedia: S.M.A.R.T.</a>]</p>
<p>This implies that all sector remapping triggered by writing to bad sectors is done via the G-list, not the P-list (definitions: [<a href="http://en.wikipedia.org/wiki/Bad_sector">Wikipedia: Bad Sector</a>]). Because it is said that remappings via the P-list have no performance penalty, but are only possible with more professional tools [<a href="http://www.hddlab.de/datenrettung/datenrettung-faq1.html">hddlab.de: Festplatte reparieren: Oberflächenschäden in der User Area</a>].</p>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/repair-bad-sector-like-seatools/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What collaborative reference manager to use in OpenOffice / LibreOffice?</title>
		<link>http://ma.juii.net/blog/collaborative-reference-manager-in-openoffice</link>
		<comments>http://ma.juii.net/blog/collaborative-reference-manager-in-openoffice#comments</comments>
		<pubDate>Tue, 16 Aug 2011 13:35:13 +0000</pubDate>
		<dc:creator>doit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[[All]]]></category>
		<category><![CDATA[[Language: English]]]></category>

		<guid isPermaLink="false">http://ma.juii.net/?p=5861</guid>
		<description><![CDATA[<p>This is about finding a software for these requirements (by priority):</p> Good integration with LibreOffice 3.4 (practically identical to OpenOffice.org so far). Free and open source software. If this is impossible, it should be a web servicewith good export options, to avoid vendor lock-in. Collaboration on one bibliographic database by several users via web or [...]]]></description>
			<content:encoded><![CDATA[<p>This is about finding a software for these requirements (by priority):</p>
<ul>
<li>Good integration with LibreOffice 3.4 (practically identical to OpenOffice.org so far).</li>
<li>Free and open source software. If this is impossible, it should be a web servicewith good export options, to avoid vendor lock-in.</li>
<li>Collaboration on one bibliographic database by several users via web or desktop clients.</li>
<li>Cross-platform compatibility (Linux, Windows, Mac).</li>
<li>A project in active development.</li>
<li>Public read access on the Internet (a regularly auto-exported bibliography list would be sufficient).</li>
<li>Ability to attach full-text files to reference database entries; these should be accessible by co-researchers only, not the general public.</li>
<li>Ability to mark favorite quotations in full-text files via bookmarks, or extract them into another file attached to the database entry. This should also include the option to add notes and other meta data like a summary to prospective quotations.</li>
<li>Ability to have an online repository of full-text files and sync it to ones local system.</li>
<li>Simple data entry, ideally by auto-capturing of bibliographic information from web pages.</li>
<li>Various bibliographic output formats, ideally via <a href="http://en.wikipedia.org/wiki/Citation_Style_Language">Citation Style Language</a>.</li>
<li>The exports in various output data formats should also be accessible by the general public, like for example in the <a href="http://star-tides.net/biblio">StarTides Reference Library</a>.</li>
</ul>
<h2>Result</h2>
<p>Up to now, I found <a href="http://www.mendeley.com/">Mendeley</a> to be the most adequate reference manager application for the above requirements. It basically meets all of the above requirements, and as per <a href="http://www.mendeley.com/compare-mendeley/">their own comparison sheet</a> they claim to be somewhat ahead of their competition.</p>
<p>However, I did not start to work with Mendeley now. When I made my firs experiences, I will report back!</p>
<h2>Discussion</h2>
<p>My decision for Mendeley was done after a close competition with <a href="http://en.wikipedia.org/wiki/Zotero">Zotero</a>. It is surely worth a look as well! The only set of requirements not met by Zotero is annotating PDFs and sharing these annotations with collaborators. (Also, Mendeley comes with more free storage space for papers [<a href="http://www.mendeley.com/compare-mendeley/">source</a>]). Apart from that, it meets all of the above requirements (in some cases, with some hacking):</p>
<ul>
<li>The project is in active development as of 2011-08, and backed and funded by scientific organizations which lets one expect this to be an active project way into the future.</li>
<li>There is a plugin for integration with OpenOffice.org / LibreOffice.</li>
<li>And it is said to include a feature for &#8220;online syncing&#8221; [<a href="http://en.wikipedia.org/wiki/Zotero">source</a>].</li>
<li>It supports <a href="http://en.wikipedia.org/wiki/Citation_Style_Language">Citation Style Language</a>.</li>
<li>Full text files can be synced across collaborators using a <a href="http://www.dropbox.com">dropbox.com</a> account, for example. If necessary, the ZotFile Reader extension can be used to push files into this folder automatically.</li>
<li>There are also extensions for the Zotero Firefox extension. Search for &#8220;Zotero&#8221; in the Firefox extension directory, and you will find:</li>
<ul>
<li>ZotFile &#8211; Zozero plugin to rename, move and attach PDF files to records.</li>
<li>SEASR Analytics for Zotero &#8211; Citation network analytics via SEASR.</li>
<li>Zotero Scholar Citations &#8211; Citation network analytics via Google Scholar.</li>
<li>Zotero autoexporting &#8211; Exports the bibliography database automatically in a desired format.</li>
<li>ZotFile Reader &#8211; Comfortably read the full text of a bibliographic entry on a tablet device.</li>
<li>ZoteroQuickLook &#8211; Mac OS X style &#8220;Quick Look&#8221; preview of full text files attached to bibliographic entries.</li>
<li>Zotero autotranslating &#8211; No idea what this is for.</li>
</ul>
<li>Zotero is also recommended as the current best solution of bibliography management in OpenOffice.org, by the OpenOffice.org bibliography project [<a href="http://bibliographic.openoffice.org/">source</a>].</li>
</ul>
<p>Some other alternatives and why they were not chosen:</p>
<ul>
<li><a href="http://bibus-biblio.sourceforge.net/">Bibus</a>. It is possible to do collaborative work on the bibliography by means of a shared MySQL database [<a href="http://bibus-biblio.sourceforge.net/wiki/index.php/How_to_setup_a_bibliography_to_be_shared_by_many_users_on_a_remote_computer">source</a>], and this software also has great integration with OpenOfice.org / LibreOffice. However it still seems to lack capturing abilities for bibliographic information on web pages, and also still seems to lack features for attaching full text documents (I hacked a solution for that when using it in 2006).</li>
<li><a href="http://en.wikipedia.org/wiki/Qiqqa">Qiqqa</a>. The features seem great but it is not free software. And doing more than just bibliography management in a proprietary software (in this case, note-taking and mindmapping) smells too much like vendor lock-in.</li>
<li><a href="http://en.wikipedia.org/wiki/Aigaion">Aigaion</a>. It&#8217;s free software and completely web-based, which is great for shared editing and public access. However it seems to lack dedicated integration features for OpenOffice.org.</li>
<li><a href="http://en.wikipedia.org/wiki/Jumper_2.0">Jumper 2.0</a>. Really interesting software: a knowledge / recommendation engine that allows to record metadata about all kinds of objects. However, we rather need just a good software for bibliography management, including producing bibliographic references in the correct format, and Jumper seems to be weak at this.</li>
<li><a href="http://www.refbase.net/">refbase</a>. Interesting feature list, including full web-based environment and capturing of records from web pages. But the latest release is from 2011-08.</li>
</ul>
<p>The best / most comprehensive sources of researching for a fitting reference management software have been:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Comparison_of_reference_management_software">Wikipedia: Comparison of reference management software</a></li>
<li><a href="http://wiki.services.openoffice.org/wiki/Bibliographic/Software_and_Standards_Information">OpenOffice.org wiki: Bibliographic/Software and Standards Information</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ma.juii.net/blog/collaborative-reference-manager-in-openoffice/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

