<?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>ivoras' FreeBSD blog</title>
	<atom:link href="http://blogs.freebsdish.org/ivoras/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.freebsdish.org/ivoras</link>
	<description>Just another FreeBSD Developer's weblog</description>
	<lastBuildDate>Tue, 23 Nov 2010 15:00:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Last post</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/08/07/last-post/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/08/07/last-post/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 00:24:04 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/08/07/last-post/</guid>
		<description><![CDATA[Hi to all readers! I&#8217;m moving this blog (or at least I&#8217;m moving my intention to write ) to a new address. I&#8217;m thankful to Florent Thoumie (and possibly others) who have been hosting and managing this collection of post as a part of the blogs.freebsdish.org system. I&#8217;m happy with the hosting and the reason [...]]]></description>
				<content:encoded><![CDATA[<p>Hi to all readers! I&#8217;m moving this blog (or at least I&#8217;m moving my intention to write <img src='http://blogs.freebsdish.org/ivoras/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) to <a href="http://ivoras.sharanet.org/blog/">a new address</a>. I&#8217;m thankful to Florent Thoumie (and possibly others) who have been hosting and managing this collection of post as a part of the blogs.freebsdish.org system. I&#8217;m happy with the hosting and the reason I&#8217;m moving is to write about other things beside FreeBSD (which falls beyond the agreement for use of this hosting service).</p>
<p>The new blog system is very new and will probably take some time before all the kinks are fixed but it will do for now. I don&#8217;t intend to write here anymore, but I also have no plans of moving old posts to the new system, since blog posts are ephemeral anyway. So update your bookmarks, feed readers, etc. to the <a href="http://ivoras.sharanet.org/blog">new address</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/08/07/last-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VirtualBox</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/07/31/virtualbox-2/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/07/31/virtualbox-2/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 00:47:00 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/07/31/virtualbox-2/</guid>
		<description><![CDATA[VirtualBox was mentioned at Slashdot so I gave it another try. The last time I tried it I had problems with FreeBSD as a guest, but the new version (1.6.2) seems to solve those problems. It&#8217;s noticeably faster than VMWare so far: UnixBench results of running FreeBSD 7.0-RELEASE in VirtualBox (i386) on Windows XP host [...]]]></description>
				<content:encoded><![CDATA[<p>VirtualBox was mentioned at Slashdot so I gave it another try. The last time I tried it I had problems with FreeBSD as a guest, but the new version (1.6.2) seems to solve those problems. It&#8217;s noticeably faster than VMWare so far:</p>
<p><span id="more-38"></span></p>
<p>UnixBench results of running FreeBSD 7.0-RELEASE in VirtualBox (i386) on Windows XP host are:</p>
<p><code><br />
                     INDEX VALUES<br />
TEST                                        BASELINE     RESULT      INDEX</p>
<p>Dhrystone 2 using register variables        116700.0  6484818.8      555.7<br />
Double-Precision Whetstone                      55.0     1644.1      298.9<br />
Execl Throughput                                43.0      271.3       63.1<br />
File Copy 1024 bufsize 2000 maxblocks         3960.0   101938.0      257.4<br />
File Copy 256 bufsize 500 maxblocks           1655.0    48434.0      292.7<br />
File Copy 4096 bufsize 8000 maxblocks         5800.0   150300.0      259.1<br />
Pipe Throughput                              12440.0   908613.9      730.4<br />
Pipe-based Context Switching                  4000.0    15755.6       39.4<br />
Process Creation                               126.0      670.0       53.2<br />
Shell Scripts (8 concurrent)                     6.0       79.5      132.5<br />
System Call Overhead                         15000.0   714570.9      476.4<br />
                                                                 =========<br />
     FINAL SCORE                                                     199.3<br />
</code></p>
<p>This is too good to be true, compared to what I got on the same hardware <a href="http://blogs.freebsdish.org/ivoras/2007/09/29/how-slow-is-vmware/">in VMWare previously</a> (in short: a score of 70). The results above (and all other unixbench results) should really be analyzed line by line instead of just looking at the final score. For example, notice that the &#8220;shell scripts&#8221; score is 133 on VirtualBox and 1.7 in VMWare. Context switching has always been VMWare&#8217;s weak point and it looks like it doesn&#8217;t really have to be that way. </p>
<p>Now I only have to figure out if it can be used &#8220;headless&#8221; (without the GUI console). VMWare&#8217;s network support is much better because it can to &#8220;bridged&#8221; networking, putting the VM directly on the network, but setting up routing or bridging for VirtualBox is simple enough (like qemu).</p>
<p><b>Update</b>: buildkernel finishes without problems but it takes 40 minutes &#8211; I think this is way too slow but will investigate tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/07/31/virtualbox-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>VMWare Server 2.0 is a step back</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/07/30/could-vmware-server-20-be-any-worse/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/07/30/could-vmware-server-20-be-any-worse/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 15:20:03 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/07/30/could-vmware-server-20-be-any-worse/</guid>
		<description><![CDATA[At the start I&#8217;d like to say I don&#8217;t have anything against VMWare Inc. and their products, and use their products regularly. I tried VMWare Server 2.0 RC1 again. The first time was sometime early in beta so I just shrugged at the problems and returned to 1.0 to wait until they are solved. This [...]]]></description>
				<content:encoded><![CDATA[<p>At the start I&#8217;d like to say I don&#8217;t have anything against VMWare Inc. and their products, and use their products regularly.</p>
<p>I tried VMWare Server 2.0 RC1 <i>again</i>. The first time was sometime early in beta so I just shrugged at the problems and returned to 1.0 to wait until they are solved. This time, it&#8217;s a <i>release candidate</i>. And it just sucks. It&#8217;s full of WTF moments:<br />
<span id="more-37"></span></p>
<p> * The install package downloaded from their site is &gt; 500 MB. Really. WTF? A virtualization program? VMWare Server 1.0 had 150 MB and this was also completely over the top considering that the actual VM software (vmware-vmx.exe and companion libraries) is less than 7 MB <i>uncompressed</i>. When installed, VMWare Server 2.0 wants over 1.5 GB of disk space. Drives are cheap but this is ridiculous.<br />
 * Completely inappropriate use of technology 1: The VMWare Console (which was one of the best parts in 1.0 &#8211; small and reliable) is now replaced with a web interface, written in Java. Now we know how they filled 1.5 GB. The web interface is written as a servlet running in Tomcat 6. This means that, without doing anything, the host machine has a &gt; 95 MB tomcat process in memory, waiting for you to connect. Again, ridiculous. Much more appropriate usage could be gained with practically <i>any</i> other technology <i>ever</i>. Java is particularly bad because of its sandbox &#8211; can&#8217;t do any system calls so a separate <i>native</i> layer must exist between it and the VM software proper. They could have written it in anything: Perl, Python, PHP, and got the same portability with a small fraction (2-3 MB) of used resources.<br />
 * Completely inappropriate use of technology 2: The web interface is AJAX-y. When you try to view the information about a VM you created, you get a mostly-blank form with cute little animated GIF images next to the word &#8220;Refreshing&#8221; in place of the actual data. At this time JavaScript code is asking the server (judging from the network traffic, once for each form field!) the data to fill in the fields. WTF? I can&#8217;t believe that this couldn&#8217;t have been done by parsing the .vmx file (typically consisting of 30 key-value lines!) on page load, instead of dynamically after it&#8217;s loaded. That&#8217;s completely what AJAX isn&#8217;t for and stinks like a design by committee.<br />
 * The web interface is on HTTPS, which is good, but the SSL server asks the browser for client certificates. As I actually have client certificates in my browser, created for some other purpose, and have set the browser to ask me each time someone asks it for the certificate, this means I get constantly nagged by popup boxes. There is NO WAY to generate a client certificate that would be applicable to the VMWare Server 2.0 from the web interface or the tools installed in the Start menu.</p>
<p>And then there are the bugs (you can skip this section, maybe they will be fixed by the time you read it):</p>
<p> * The web inteface has somehow picked up some of my old &#8220;registered&#8221; virtual machines (actually it picked the machines at random, whether they are registered or not), but made a complete mess with their names &#8211; I had 10 machines, with only 4 unique names. And, I couldn&#8217;t de-register all of them. The AJAX stuff broke every time I tried to de-register the last of the duplicates.<br />
 * The Console (implemented, naturally, as a <i>native</i> executable so all that effort in cross-platformness of the UI goes out the window; actually, the console looks somewhat like VMWare Player so again running it on FreeBSD will be a problem) works in Firefox 3.0 but not in 3.0.1<br />
 * The Console cannot use the hosts file (<em>/etc/hosts</em> and its equivalent in Windows) to resolve hosts. So no matter that i have accessed the AJAX-y web interface as http://myhost/, the console complains myhost can&#8217;t be resolved. Nice, really nice. Fortunately, we can pretend we&#8217;re in the early 80ies and use my IP address to connect both with the web interface and the console.<br />
 * And at last, when I got the new Console to work through the IP address (as suggested on VMWare forums), it couldn&#8217;t find the VM it was supposed to monitor &#8211; a message like &#8220;there&#8217;s no MyVMName.vmx running on the server&#8221; pops up.</p>
<p>The end effect is that, after two days of trying to get it to work, I couldn&#8217;t even boot a VM and attach the console to it. And I really tried. So far, it&#8217;s an awful product (actually the VM product itself could be really nice, but I didn&#8217;t even get the chance to try it because of the horrible user interface) and I reverted to using 1.0. </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/07/30/could-vmware-server-20-be-any-worse/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>nfs+sshfs+samba dance</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/07/04/nfssshfssamba-dance/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/07/04/nfssshfssamba-dance/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 00:43:25 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[NFS]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[sensawunda]]></category>
		<category><![CDATA[sshfs]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/07/04/nfssshfssamba-dance/</guid>
		<description><![CDATA[Todays wow, this really works! moment brought to you by: NFS, sshfs (from FUSE) and Samba. There&#8217;s a NFS file server in my office, from which I mount stuff into my home directory on my workstation. There&#8217;s a small FreeBSD server in my living room which, among other things, serves Samba to my Windows desktop [...]]]></description>
				<content:encoded><![CDATA[<p>Todays <i>wow, this really works!</i> moment brought to you by: NFS, sshfs (from FUSE) and Samba.</p>
<p>There&#8217;s a NFS file server in my office, from which I mount stuff into my home directory on my workstation. There&#8217;s a <a href="http://fit-pc.com">small</a> FreeBSD server in my living room which, among other things, serves Samba to my Windows desktop machine. Using sshfs on the home server, I mounted my home directory from my workplace as a subdirectory of my local user, and I&#8217;m accessing it from my Windows desktop over Samba.</p>
<p>Before the bytes hit the drives on the server, here&#8217;s the path they must take:<br />
<code><br />
[Home desktop, Windows] -- Samba -- [Home server, FreeBSD] -- sshfs -- [Work desktop, Linux] -- NFS -- [Work server, FreeBSD]<br />
</code></p>
<p>And it works. Really. I&#8217;m editing OpenOffice files on my Work server right now.</p>
<p>Of course it <i>should work</i> &#8211; all of these individual components in the chain are tested and known to work so there&#8217;s practically no real concern, but seeing all this in operation made me think how many standards, interoperability specs and engineering went into making this possible, especially since the actual connections between the components are very varying: ADSL, Ethernet of various speeds and I&#8217;m sure there&#8217;s still ATM somewhere in the telco&#8217;s infrastructure. The number of different operating systems the bytes go through (if &#8220;embedded&#8221; ones on routers and similar equipment is also counted) is probably huge.</p>
<p>We live in great times.</p>
<p>(Of course, I won&#8217;t try anything that depends on file locking <img src='http://blogs.freebsdish.org/ivoras/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>The only problem is that sshfs basically hangs the system when the IP changes on the ADSL side (file system lookups hang).</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/07/04/nfssshfssamba-dance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How many failed drives can take down a RAID5 array?</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/06/13/how-many-drives-can-take-down-raid5/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/06/13/how-many-drives-can-take-down-raid5/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 14:49:06 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[disaster recovery]]></category>
		<category><![CDATA[RAID]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/06/13/how-many-drives-can-take-down-raid5/</guid>
		<description><![CDATA[The answer, of course, is &#8220;two or more&#8221;. And it&#8217;s not nice when it happens. Two of the drives on a nice shiny FC array failed at approximately the same time (possibly within about two minutes of each other), and both were in the same RAID5 array. Definitely not good. On the other hand I [...]]]></description>
				<content:encoded><![CDATA[<p>The answer, of course, is &#8220;two or more&#8221;. And it&#8217;s not nice when it happens.<br />
Two of the drives on a nice shiny FC array failed at approximately the same time (possibly within about two minutes of each other), and both were in the same RAID5 array. Definitely not good. On the other hand I confirmed that PostgreSQL can run off NFS (both server and client on FreeBSD) without problems so far (this is the temporary setup until we get a new array).</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/06/13/how-many-drives-can-take-down-raid5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Weekend hack: adfsd, a kqueue-assisted rsync tool</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/06/08/weekend-hack-adfsd-a-kqueue-assisted-rsync-tool/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/06/08/weekend-hack-adfsd-a-kqueue-assisted-rsync-tool/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 22:44:09 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[adfs]]></category>
		<category><![CDATA[kqueue]]></category>
		<category><![CDATA[NFS]]></category>
		<category><![CDATA[rsync]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/06/08/weekend-hack-adfsd-a-kqueue-assisted-rsync-tool/</guid>
		<description><![CDATA[I created a small program to help me synchronize files in sort-of real-time between two directories (the idea is that one of them is on a NFS server). There are no replicated file systems for FreeBSD and the canonical way to do this is usually to use rsync or something like it. The problem here [...]]]></description>
				<content:encoded><![CDATA[<p>I created a small program to help me synchronize files in sort-of real-time between two directories (the idea is that one of them is on a NFS server). There are no replicated file systems for FreeBSD and the canonical way to do this is usually to use rsync or something like it. The problem here is that rsync always traverses both directory structures, compares files and then copies them (via a variety of smart algorithms but it&#8217;s still very resource-intensive).</p>
<p>So I created a daemon that uses <tt>kqueue(2)</tt> to monitor which files changed and feed only those files to rsync (it&#8217;s not exactly a new idea, I&#8217;m sure somebody has also mentioned it somewhere on the FreeBSD lists). This is in many ways a suboptimal solution since it needs to keep an open file descriptor for all the monitored files (which ties in kernel resources and memory) so it won&#8217;t scale for really large directories, which could actually benefit the most from this approach. It will work reasonably well for a small number of files (up to several tens of thousands), with modifying <tt>kern.maxfiles</tt> and <tt>kern.maxfilesperproc</tt> sysctls and login session limits (if applicable).</p>
<p>Anyone who&#8217;s interested can <a href="http://ivoras.sharanet.org/stuff/adfs.tgz">download the adfs daemon</a> and try it. This was hacked together over the weekend so it probably has some problems. I&#8217;ll fix those problems that prevent me from using it, but I&#8217;ll update the online archive only if there are interested users.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/06/08/weekend-hack-adfsd-a-kqueue-assisted-rsync-tool/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>The real power of &#8220;scripting&#8221; / interpreted languages</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/06/08/the-real-power-of-scripting-interpreted-languages/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/06/08/the-real-power-of-scripting-interpreted-languages/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 18:03:17 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/06/08/the-real-power-of-scripting-interpreted-languages/</guid>
		<description><![CDATA[I&#8217;m writing a small project in C (will talk about it later) and I really miss the expressiveness that dynamic languages like Python offer. There&#8217;s one more thing in addition to elusive &#8220;elegance&#8221; and similar nontangible properties: the ability to easily use and implement better algorithms. Yes, since Turing it was obvious that the actual [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m writing a small project in C (will talk about it later) and I really miss the expressiveness that dynamic languages like Python offer. There&#8217;s one more thing in addition to elusive &#8220;elegance&#8221; and similar nontangible properties: the ability to easily use and implement better algorithms. Yes, since Turing it was obvious that the actual programming language in use is more-or-less syntactic sugar, but you wouldn&#8217;t exactly like to spend your days programming infinite tapes of symbols, would you? <img src='http://blogs.freebsdish.org/ivoras/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In this (again, emphasis on &#8220;small&#8221;) project, there were a couple opportunities where I could make use of a fast data-access structure like a hash table (since I need to store and retrieve a lot of data entries) or dynamic memory allocation (since I don&#8217;t want to artificially limit the number of these entries) but I just didn&#8217;t feel like writing all that code to implement a hash table in C (or use a heavy external library) and deal with memory reallocation and track all those pointers. Yes, I&#8217;m lazy. In a more abstract language I could just instantiate a dictionary and say <tt>d[i] = something</tt> and this would actually be very efficient and take care of memory allocation automagically. Since I limited myself to basic C, I chose simpler algorithms like linked lists and evil static arrays on stack. Ironically, these structures would be comparatively significantly more inefficient in Python.</p>
<p>Of course, at its roots this can be stripped down to be simply a choice between using pre-packaged routines instead of writing your own (aka the NIH problem), but in this case it would actually make my simple program faster and more efficient &#8211; despite the overhead of an interpreted, dynamic language.</p>
<p>There are many more similar cases &#8211; programmers write bubblesorts in C because they are easy to implement, while going to a higher level of abstraction they could just write <tt>mylist.sort()</tt> and would get QuickSort or some other efficient algorithm for free, etc. etc.</p>
<p>Does anyone know of a library / collection of algorithms for C similar to <tt>glib</tt> only BSD-licensed? (Yes, I know about C++ algorithms, I don&#8217;t want to use C++).</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/06/08/the-real-power-of-scripting-interpreted-languages/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>FreeBSD on Subversion!</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/06/01/freebsd-on-subversion/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/06/01/freebsd-on-subversion/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 11:12:44 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/06/01/freebsd-on-subversion/</guid>
		<description><![CDATA[The day has finally come &#8211; FreeBSD is using Subversion instead of CVS for the base source tree! Congratulations to everyone involved, especially Peter Wemm FreeBSD&#8217;s source CVS is one of the oldest and biggest in existence; it&#8217;s approximately 12 years old and has apparently had something like 180,000 commits over the years, or on [...]]]></description>
				<content:encoded><![CDATA[<p>The day has finally come &#8211; <a href="http://lists.freebsd.org/pipermail/cvs-src/2008-June/091764.html">FreeBSD is using Subversion instead of CVS</a> for the base source tree! Congratulations to everyone involved, especially Peter Wemm <img src='http://blogs.freebsdish.org/ivoras/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>FreeBSD&#8217;s source CVS is one of the oldest and biggest in existence; it&#8217;s approximately 12 years old and has apparently had something like 180,000 commits over the years, or on average slightly more than 41 commits daily. A checkout of RELENG_7 branch holds more than 42,000 files (in 482 MB as du sees it). </p>
<p>This move was discussed extensively during the DevSummit at BSDCan 2008; there have been many issues with CVS over the years, most of which are minor enough to be overlooked, but some of which are just nasty (the inability of CVS to move/rename files, bad handling of branching in the event of constant new development and additions to the directory tree, non-atomic commits) and have frequently required manual interventions in the CVS repository (&#8220;repocopy&#8221; is one of the relatively frequently requested operations to the CVS admins).</p>
<p>Old infrastructure, of which <tt>cvsup</tt> / <tt>csup</tt> is probably the most important part, will continue to work as code will continually be mirrored from SVN to CVS, until suitable replacements or upgrades to the above tools are created. This is also the reason the name &#8220;CVS&#8221; will be present for some time in the system infrastructure, until all of it is updated. Ports will continue to use CVS for the foreseeable future.</p>
<p>To make a source base this large work efficiently on SVN, version 1.5 had to be used, since it creates its database files in a hash-tree of directories on the file system instead of one huge directory with all the files in it.</p>
<p>Also see <a href="http://www.freebsd.org/news/newsflash.html#event20080603:01">the official announcement of Subversion</a> and <a href="http://people.freebsd.org/~peter/svn_notes.txt">Peter Wemm&#8217;s notes about Subversion</a> (very useful to developers).</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/06/01/freebsd-on-subversion/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>BSDCan: final day</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/05/18/bsdcan-final-day/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/05/18/bsdcan-final-day/#comments</comments>
		<pubDate>Sun, 18 May 2008 04:52:32 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[random.debian]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/05/18/bsdcan-final-day/</guid>
		<description><![CDATA[It was a really great conference! I have so many good impressions it&#8217;s just hard to sort them all out and write them down. Instead of that, here&#8217;s a treat for the geeky-minded In accordance with the specification expressed here: &#8230; I&#8217;ve created a device driver that implements the functionality in kernel. In honour of [...]]]></description>
				<content:encoded><![CDATA[<p>It was a really great conference! I have so many good impressions it&#8217;s just hard to sort them all out and write them down. Instead of that, here&#8217;s a treat for the geeky-minded <img src='http://blogs.freebsdish.org/ivoras/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In accordance with the specification expressed here:</p>
<p><img src="http://ivoras.sharanet.org/stuff/random-debian.jpg"></p>
<p>&#8230; I&#8217;ve created a device driver that implements the functionality in kernel. In honour of the operating system by which this work was inspired, I name the driver <tt>random.debian</tt>. The kernel module creates a device entry (<tt>/dev/random.debian</tt>) which is a infinite source of random data with entropy compatible with the above specification. The <a href="http://ivoras.sharanet.org/stuff/random-debian.tgz">source code tarball for the Debian-like random data source</a> is of course available under the BSD license. This will work on any recent version of FreeBSD.</p>
<p>As much as I would like to have though of this first, the idea was actually put out by PHK or Robert Watson while we were waiting for dinner, so that part of the credit goes to them. <img src='http://blogs.freebsdish.org/ivoras/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>This DevSummit+BSDCan was very fun and educational and will definitely try to be here in the next years also.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/05/18/bsdcan-final-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DevSummit: day 1</title>
		<link>http://blogs.freebsdish.org/ivoras/2008/05/14/devsummit-day-1/</link>
		<comments>http://blogs.freebsdish.org/ivoras/2008/05/14/devsummit-day-1/#comments</comments>
		<pubDate>Wed, 14 May 2008 21:31:04 +0000</pubDate>
		<dc:creator>ivoras</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://blogs.freebsdish.org/ivoras/2008/05/14/devsummit-day-1/</guid>
		<description><![CDATA[It was a nice day in Ottawa, Canada today, though judging by the clouds tomorrow might not be. Not that we noticed, spending all the time within the conference room. Various talks kept developers interested, and the lack of Internet connectivity (web is not the Internet&#8230;) kept them focused on the issues at hand. I [...]]]></description>
				<content:encoded><![CDATA[<p>It was a nice day in Ottawa, Canada today, though judging by the clouds tomorrow might not be. Not that we noticed, spending all the time within the conference room. Various talks kept developers interested, and the lack of Internet connectivity (web is not the Internet&#8230;) kept them focused on the issues at hand. I gave my talk about finstall among the first in the morning and gathered very positive feedback and many new ideas. It&#8217;s unfortunate that the project isn&#8217;t sponsored any more (Google SoC for it was not extended to this year) so this might encourage people or organizations to support the project financially. Among other interesting talks (my personal, unobjective choice) were presentations on VImage (network virtualization) by my colleague from University, Marko Zec, the DTrace talk by John Birrell, and various talks about the ongoing network stack optimizations (many people here). Unfortunately the Release packaging BoF didn&#8217;t happen due to lack of interest apparently, so there&#8217;s one missed chance to discuss finstall.</p>
<p>All together, it was a very nice spent day with many opportunities to learn new things and speak to like-minded people working on interesting things.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.freebsdish.org/ivoras/2008/05/14/devsummit-day-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
