<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Grauw’s web log</title>
		<link>http://www.grauw.nl/</link>
		<description>This is the web log of Laurens Holst (aka Grauw). Topics here may range from MSX to web standards to stuff relating to my offline life :).</description>
		<language>en</language>
		<copyright>© 2004, Laurens Holst</copyright>
		<pubDate>Fri, 14 Jan 2011 02:55:05 +0100</pubDate>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<atom:link href="http://www.grauw.nl/blog/rss.php" rel="self" type="application/rss+xml" />
		<image>
			<url>http://www.grauw.nl/images/sitelogo.png</url>
			<title>Grauw’s web spot</title>
			<link>http://www.grauw.nl/</link>
		</image>
				<item>
			<title>3D model animations</title>
			<link>http://www.grauw.nl/blog/entry/655</link>
			<pubDate>Fri, 14 Jan 2011 02:51:30 +0100</pubDate>
			<description xml:base="http://www.grauw.nl/blog/entry/655"><![CDATA[<p>In 2006 I took the 3D modelling course at Utrecht University. As part of this course there were two exercises that involved modelling something, and I noticed I had never posted about these!</p>

<p>Now mind you, I’m not a graphics guy, so don’t expect too much. Also I notice that some of the renders have aliasing and artefacts; I would create new higher-quality renders but I don’t have a copy of Maya anymore. Nevertheless, they don’t look too shabby if I say so myself :).</p>

<p>The first animation is a recreation of my fan:</p>

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/NYIPxsVczL8?hl=nl&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NYIPxsVczL8?hl=nl&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

<p>See <a href="/blog/2011-01-14/ventilator.pdf">this PDF</a> for a nice step-by-step walkthrough, including a photo of the original. Slightly higher quality avi file <a href="/blog/2011-01-14/ventilator.avi">here</a>. Maya source file <a href="/blog/2011-01-14/ventilator.mb">here</a>.</p>

<p>The second animation is of a toy train. This one I created together with Bert:</p>

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/1u7Da3jdqr8?hl=nl&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1u7Da3jdqr8?hl=nl&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

<p>See <a href="/blog/2011-01-14/toytrain.pdf">this PDF</a> for some details about how the animation is made and some screenshots. Slightly higher quality avi file <a href="/blog/2011-01-14/toytrain.avi">here</a>.</p>]]></description>
			<!--comments>url</comments-->
			<guid>http://www.grauw.nl/blog/entry/655</guid>
		</item>
				<item>
			<title>Introducing a Roland GAIA SH-01 tool</title>
			<link>http://www.grauw.nl/blog/entry/645</link>
			<pubDate>Tue, 07 Dec 2010 01:56:34 +0100</pubDate>
			<description xml:base="http://www.grauw.nl/blog/entry/645"><![CDATA[<p><img src="/blog/2010-12-07/roland-gaia-sh01.jpg" style="float:right;" alt="Roland GAIA SH-01" />
A little while ago I bought a <a href="http://www.roland.com/products/en/SH-01/">Roland GAIA SH-01</a> synthesizer. It’s got three oscillators, an effect section, and almost everything is directly accessible from the front panel. Fiddling around creating new sounds is a lot of fun, and it sounds good!</p>

<p>Now, Roland is also planning to release a software package to edit sounds on the GAIA from your PC, which provides some extra possibilities, however it isn’t out yet and won’t be free.</p>

<p>But I found that Roland has made available a <a href="http://www.roland.com/products/en/_support/om.cfm?PRODUCT=SH-01">MIDI implementation document</a> for the GAIA, also documenting a protocol to access its internal memory. So what I did is I started working on a little tool that can talk to the GAIA. It’s still in its early stages, but already it exposes some very interesting information. For example, I was able to extract <a href="/projects/gaia-tool/gaia-presets.txt">a list of preset patch names</a> — should come in handy!</p>

<p>There are currently two menus to issue commands and a log to show results. The first menu lets you play some test notes and send GM on/off control messages (looks like they just reset the GM though). The second menu is more interesting, it allows you to dump the system settings, as well as the settings of the currently selected patch (including edits). So now you can retrieve the exact patch settings, share them, reposition the controls, whatever!</p>

<p>Some plans for the future are to show the parameters in a little more visually appealing and structured way, and to eventually allow you to edit the parameters. I also want to add the ability to set the tempo to a specific BPM. An editor for arpeggios is also on the wish-list, and also there’s a bunch of reserved memory locations that may have something good lurking in them.</p>

<p>» <a href="/projects/gaia-tool/">Download the GAIA tool here</a></p>

<p>The source code <a href="http://hg.grauw.nl/gaia-tool/summary">is available</a>. Consider it Apache 2.0 licensed for now, <del>although I didn’t add license headers yet</del>. If you want to contribute please go ahead, but <a href="http://www.grauw.nl/about.php">let me know</a> if you do. If you make any changes please contribute them back!</p>

<p><strong>Update:</strong> As of version 0.1 it is possible to edit arpeggios, and as of version 0.3 you can organise your patches in a library. A first for the GAIA!</p>]]></description>
			<!--comments>url</comments-->
			<guid>http://www.grauw.nl/blog/entry/645</guid>
		</item>
				<item>
			<title>Whisky</title>
			<link>http://www.grauw.nl/blog/entry/634</link>
			<pubDate>Tue, 13 Jul 2010 19:29:19 +0200</pubDate>
			<description xml:base="http://www.grauw.nl/blog/entry/634"><![CDATA[<p>I always liked whisky, and since I got a bottle last February I’ve been drinking a lot of it :). Here’s the list so far:</p>

<ol>
<li><a href="http://webwinkel.gall.nl/product/GA/69718/Glen+Talloch+Blended+Scotch+Whisky">Glen Talloch 8 YO Blended Malt</a></li>
<li><a href="http://www.whiskymag.com/whisky/brand/famous_grouse/whisky561.html">The Famous Grouse</a></li>
<li><a href="http://whiskyforeveryone.blogspot.com/2010/03/have-just-tried-glenmorangie-lasanta.html">Glenmorangie Lasanta</a></li>
<li><a href="http://www.whiskymag.com/whisky/brand/glenfiddich/whisky650.html">Glenfiddich 15 YO, Solera Reserve</a></li>
<li><a href="http://www.whiskymag.com/whisky/brand/the_glenlivet/whisky2299.html">The Glenlivet 15 YO French Oak Reserve</a></li>
<li><a href="http://www.glengrant.com/en/the-whisky/product-detail.aspx?IDProduct=2">Glen Grant 7 YO The Major’s Reserve</a></li>
<li><a href="http://www.whiskymag.com/whisky/brand/tullamore_dew/whisky4098.html">Tullamore Dew</a> (open)</li>
<li><a href="http://www.whiskymag.com/whisky/brand/connemara/whisky4092.html">Connemara Peated Single Malt</a> (open)</li>
</ol>

<p>I’m not gonna do the whole grading thing but having a list of whiskies I’ve tried seems handy. I would use some kind of whisky database website but haven’t been able to find one…</p>

<p>Update: <a href="http://www.whiskybase.com/collection.php?userviewid=2111">My collection at Whiskybase</a></p>]]></description>
			<!--comments>url</comments-->
			<guid>http://www.grauw.nl/blog/entry/634</guid>
		</item>
				<item>
			<title>MSX Computer Magazine online archive</title>
			<link>http://www.grauw.nl/blog/entry/559</link>
			<pubDate>Sun, 02 May 2010 14:11:23 +0200</pubDate>
			<description xml:base="http://www.grauw.nl/blog/entry/559"><![CDATA[<p>A great initiative was started by Wammes Witkop, Frank H. Druijff, Hayo Rubing, Robert Wethmar and Bas Kornalijnslijper to put online an archive of MCM/MCCM 1-90:</p>

<p><a href="http://www.msxcomputermagazine.nl/">http://www.msxcomputermagazine.nl/</a></p>

<p>They are soliciting the contributing authors to contact them in order to ask for permission to put their articles online. Their email-address is listed on the website.</p>

<p>I think this is a really great initiative, archiving these things is important. I was always already thinking all those magazines in the cupboard were really asking for some scanning :). Also good to hear that Frank and Wammes are involved. I hope they will also put MSX Club Magazines and the accompanying disks online.</p>

<p>It’s a shame that our author’s rights system makes these kind of preservation efforts a really complicated job. If you vote GroenLinks, maybe they will manage to <a href="http://www.femkehalsema.nl/2010/04/02/auteursrecht-is-aan-grondige-modernisering-toe/">do something about it</a>! :)</p>]]></description>
			<!--comments>url</comments-->
			<guid>http://www.grauw.nl/blog/entry/559</guid>
		</item>
				<item>
			<title>Mercurial shallow clones and repository sizes</title>
			<link>http://www.grauw.nl/blog/entry/555</link>
			<pubDate>Fri, 09 Apr 2010 01:33:29 +0200</pubDate>
			<description xml:base="http://www.grauw.nl/blog/entry/555"><![CDATA[<p>A colleague of mine was asking whether Mercurial supported shallow clones. The short answer is <em>no</em>. The slightly longer answer is, it’s <a href="http://mercurial.selenic.com/wiki/ShallowClonePlan">under development</a>.</p>

<p>But if you ask me, shallow clones aren’t really needed. Aside from being sort of against the point of having a DVCS, you don’t actually gain that much. I did some measurements (on Windows):</p>

<ul>
	<li><strong><a href="http://hg.mozilla.org/mozilla-central/">Mozilla-central</a> repository:</strong>
		<ul>
			<li>Files: 41926</li>
			<li>Repository size: 241 MB</li>
			<li>Working copy size: 287 MB (87,4 MB zipped)</li>
			<li>Clone time: 276 seconds (0,8 MB/sec)</li>
		</ul>
	</li>
	<li><strong><a href="http://code.python.org/hg/trunk/">Python trunk</a> repository (going back to 1990!):</strong>
		<ul>
			<li>Files: 4199</li>
			<li>Repository size: 97,1 MB</li>
			<li>Working copy size: 55,7 MB (14,8 MB zipped)</li>
			<li>Clone time: 82 seconds (1,2 MB/sec)</li>
		</ul>
	</li>
	<li><strong><a href="http://selenic.com/repo/hg/">Mercurial</a> repository:</strong>
		<ul>
			<li>Files: 1144</li>
			<li>Repository size: 15,4 MB</li>
			<li>Working copy size: 6,86 MB (2,08 MB zipped)</li>
			<li>Clone time: 25 seconds (0,6 MB/sec)</li>
		</ul>
	</li>
	<li><strong>Backbase 4 repository (converted from SVN):</strong>
		<ul>
			<li>Files: 4691</li>
			<li>Repository size: 77,9 MB</li>
			<li>Working copy size: 74,6 MB (33,6 MB zipped)</li>
		</ul>
	</li>
	<li><strong>Backbase cobrowse repository (converted from SVN):</strong>
		<ul>
			<li>Files: 1703</li>
			<li>Repository size: 79,6 MB</li>
			<li>Working copy size: 39,3 MB (24,0 MB zipped) (was 87,2 MB 400 revisions ago!)</li>
		</ul>
	</li>
</ul>

<p>The repository size is roughly what will be transferred over the wire when cloning. The zipped size gives an indication of the theoretical optimal case where you would retrieve just the files and no history. Note that this does not include metainformation which would also get transmitted with shallow clones — e.g. Python’s changelog is ~10 MB. Finally clone time is the time it takes to do <code>hg clone -U</code>, which skips updating the working directory so is a reasonable approximation of the time spent downloading and creating the repository.</p>

<p>Also of note are some further measurements I did with the Mozilla repository. When I copy it on my hard drive between different disks, it actually also takes a lot of time: 174 seconds! (The Python repository took 23 seconds.) Creating a working copy from the repository also takes a long time, 241 seconds. My guess is that this is likely because of the large amount of small files.</p>

<p>So in other words, even if you would cut the download time of the Mozilla repository by making the shallowest of clones, much cloning time is still spent creating the large amount of small files. A little math suggests that for this repository, you would only be able to bring down the clone time by some 20%.</p>

<h4>Conclusion</h4>

<p>Looking at these numbers, first of all, in most cases just <em>thinking</em> about how ‘shallow’ you want to clone a repository is probably already going to take more time than to just clone it ;p. And what would you gain? A slightly shorter clone time perhaps, but you lose the ability to look at the full history. And how often do you do a complete clone? Only the first time.</p>

<p>For local clones, Mercurial and git actually create hard links, so making a local clone is much faster (74 seconds Mozilla, 11 seconds Python) and hardly takes any disk space. Clones over a local network will of course be faster as well. And as for slow connections, because in the end the repository is completely hosted locally and few things require interaction with a central server, a DVCS is already very friendly towards those.</p>

<p>Finally, consider also that internet connections get faster every year, so even though repository size grows steadily over time, this does not necessarily have to become a problem. And hey, if it does, by that time Mercurial will have shallow cloning too :).</p>]]></description>
			<!--comments>url</comments-->
			<guid>http://www.grauw.nl/blog/entry/555</guid>
		</item>
		
	</channel>
</rss>
