<?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>James' World &#187; BSD</title>
	<atom:link href="http://www.jebriggs.com/blog/category/bsd/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jebriggs.com/blog</link>
	<description>Observations by a Programmer of Silicon Valley and Beyond</description>
	<lastBuildDate>Thu, 09 Sep 2010 07:30:16 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Some ZFS News</title>
		<link>http://www.jebriggs.com/blog/2010/08/some-zfs-news/</link>
		<comments>http://www.jebriggs.com/blog/2010/08/some-zfs-news/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 03:11:19 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OSCON]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=2306</guid>
		<description><![CDATA[Phoronix has a really well-written article on ZFS, including news on a company planning to release a CDDL-licensed linux kernel module.
ZFS is the holy grail of filesystems. Many Database Administrators have switched from Linux to Solaris because ZFS has much better snapshot support than LLVM, as well as good SSD support.
phoronix.com: Native ZFS Is Coming [...]]]></description>
			<content:encoded><![CDATA[<p>Phoronix has <a href="http://www.phoronix.com/scan.php?page=article&#038;item=zfs_linux_coming&#038;num=1">a really well-written article on ZFS</a>, including news on a company planning to release a CDDL-licensed linux kernel module.</p>
<p>ZFS is the holy grail of filesystems. Many Database Administrators have switched from Linux to Solaris because ZFS has much better snapshot support than LLVM, as well as good SSD support.</p>
<p><a href="http://www.phoronix.com/scan.php?page=article&#038;item=zfs_linux_coming&#038;num=1">phoronix.com: Native ZFS Is Coming To Linux Next Month (Aug. 27, 2010)</a><br />
<a href="http://www.phoronix.com/scan.php?page=article&#038;item=btrfs_zfs_ssd&#038;num=1">phoronix.com: Btrfs, EXT4 &#038; ZFS On A Solid-State Drive (Aug. 9, 2010)</a><br />
<a href="http://www.phoronix.com/scan.php?page=article&#038;item=zfs_ext4_btrfs&#038;num=1">phoronix.com: Benchmarking ZFS On FreeBSD vs. EXT4 &#038; Btrfs On Linux (July 27, 2010)</a><br />
<a href="http://www.phoronix.com/scan.php?page=article&#038;item=freebsd_zfs_cam&#038;num=1">phoronix.com: Running ZFS With CAM-based ATA On FreeBSD 8.1 (July 26, 2010)</a><br />
<a href="http://github.com/behlendorf/zfs/wiki">github: Native ZFS for Linux</a><br />
<a href="http://wiki.freebsd.org/ZFS">FreeBSD Wiki: ZFS</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/08/some-zfs-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O&#8217;Reilly Open Source Conference 2010, Portland</title>
		<link>http://www.jebriggs.com/blog/2010/07/oscon-conference-2010-portland/</link>
		<comments>http://www.jebriggs.com/blog/2010/07/oscon-conference-2010-portland/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 23:22:51 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OSCON]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[User Groups]]></category>
		<category><![CDATA[i18n]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=2140</guid>
		<description><![CDATA[Once again, the O&#8217;Reilly Open Source Conference (OSCON) was held in Portland, Oregon.
It was a good conference, and we had beautiful weather all week long.
Executive Summary
The themes promoted by the conference organizers were Cloud Computing, NoSQL, Emerging Languages (Scala, Erlang, Parrot, Go) and Android phone development.
The @oscon twitter channel was heavily used to coordinate amongst [...]]]></description>
			<content:encoded><![CDATA[<p>Once again, <a href="http://www.oscon.com/oscon2010">the O&#8217;Reilly Open Source Conference (OSCON)</a> was held in Portland, Oregon.</p>
<p>It was a good conference, and we had beautiful weather all week long.</p>
<p><strong>Executive Summary</strong></p>
<p>The themes promoted by the conference organizers were Cloud Computing, NoSQL, Emerging Languages (Scala, Erlang, Parrot, Go) and Android phone development.</p>
<p>The <a href="http://twitter.com/oscon">@oscon</a> twitter channel was heavily used to coordinate amongst organizers and attendees. I used the <a href="http://www.twixtreme.com/">TwiXtreme</a> twitter client program on my BlackBerry.</p>
<p>Plug Computers were very popular in the Expo area. They are 5 watt ARM-based computers running Debian Linux that fit into a power brick-sized case and cost $99 to $129 depending on features. The Marvell booth had a few models on display, from GlobalScale <a href="http://www.globalscaletechnologies.com/c-2-globalscale-technologies-products.aspx">(GuruPlug)</a> and <a href="http://www.ionics-ems.com/plugcomputer.html">Ionics.</a> High-end models have dual gigabit NICs, multiple USB ports, a WiFi access point and other expansion ports.</p>
<p>There was also continuing buzz regarding Facebook&#8217;s <a href="http://www.facebook.com/note.php?note_id=388112370932">Flashcache SSD module (GPL v2)</a> for linux, and also ZFS snapshots.</p>
<p><strong>Tutorials</strong></p>
<p>I went to the <a href="http://gearman.org/">Gearman</a> Cookbook tutorial, the first half of the <a href="http://opscode.com/chef/">Chef</a> tutorial and some of the Cloud Summit talks.</p>
<p>The <a href="http://gearman.org/">Gearman</a> Cookbook tutorial was excellent. After a detailed overview of the Gearman architecture and implementations in Perl and C, a number of use cases were explored in detail, including before and after code samples. The talk was both easy to listen to as an overall survey, as well as providing immediately useful info for those wanting to deploy it.</p>
<p>The <a href="http://opscode.com/chef/">Chef</a> tutorial was very detailed &#8211; too much so perhaps. I went to the first half only, since I am not planning to implement Chef soon (I use PXE and anaconda/kickstart with CentOS), and did not need that level of detail at this time. cfengine, puppet and chef are ops tools for configuring servers. Chef uses Ruby data structures for its configuration files, and has include files and other useful syntax. Basically, users can &#8220;code&#8221; server configuration, as if they were traditional apps.</p>
<p>I went to some of the <a href="http://www.oscon.com/oscon2010/public/schedule/detail/15295">Cloud Summit talks</a> and BOFs, but found that anybody who has done a simple project using EC2 knew as much or more than the speakers, some I would call blowhards.</p>
<p>Marten Mickos, president of Eucalyptus, is refreshing in that he is always clear about being in it for the money, while also promoting Open Source.</p>
<p><strong>Sessions</strong></p>
<p>Some of the most memorable sessions to me were:</p>
<p><strong>Introduction to MongoDB, Kristina Chodorow (MongoDB)</strong></p>
<p><a href="http://www.snailinaturtleneck.com/blog/">Kristina</a> is the maintainer of the Perl and PHP drivers for MongoDB. She gave an overview of MongoDB, a NoSQL document store, and its command-line interface, which uses JavaScript. </p>
<p>Some day she will release <a href="http://www.snailinaturtleneck.com/blog/2010/06/30/managing-your-mongo-horde-with-genghis-khan/">a sharding tool</a> for MongoDB.</p>
<p><strong>Scaling SourceForge with MongoDB, Nosh Petigara (10gen), Rick Copeland (SourceForge.net / GeekNet) </strong></p>
<p>Nosh and Rick gave an excellent review of incorporating MongoDB into the SourceForge site.</p>
<p>- SF query load is mostly read-only<br />
- ops team benchmarked a few NoSQL candidates, and MongoDB won on performance<br />
- original MySQL servers had 64 GB RAM. After migration to MongoDB, same server machines but only 8 GB RAM<br />
- backup dumps are verified to be bitwise the same as masters<br />
- have to be careful not to dump all documents in your database to the network or it will max out switches<br />
- SF relies on first-class data centers and replication slaves, less worried about MongoDB mmap (not crash-safe)<br />
- I personally looked at their performance numbers and site graphs (on an iPad), and the end result was impressive.</p>
<p><strong>Perl Lightning Talks</strong></p>
<p>As always, the Perl Lightning Talks are a highpoint of the conference.</p>
<p>The &#8220;cartoon&#8221; of <a href="http://www.math.u-bordeaux1.fr/~pit/">Vincent Pit&#8217;s</a> remarkable CPAN module<a href="http://search.cpan.org/~vpit/">(VPIT)</a> contributions was both informative and hilarious. Vincent is a French Ph.D. candidate in advanced geometry.</p>
<p><strong>Cloud BOF (3 Hours)</strong></p>
<p>The Cloud BOF was disorganized, starting 30 minutes late and for some reason was subdivided into 4 audience groups. Startups and vendors trying to make a cloud sales push led the BOF, including cloud and DNS service providers.</p>
<p>The Health Regulations subgroup came up with a couple ways to make the Cloud palatable to regulators by using encryption on all data due to the multi-tenancy issues with sharing public VMs.</p>
<p>I was in the NoSQL group, which discussed general issues and particular successes. <a href="http://www.memcached.org/">Memcached</a> was the clearest winner, while some people also had success with MongoDB and Redis.</p>
<p>My neighbor was an engineer at <a href="http://www.postrank.com/">Postrank.com</a>. He said that they were happy with HAProxy, but much less happy with the unpredictable IO available when running MySQL on EC2. He also said to carefully look at storage volumes available to your instance, as one is a useful tmpfs. They use <a href="http://www.authsmtp.com/">AuthSMTP</a> to get around EC2 being generally blacklisted for outbound email.</p>
<p><strong>Database BOFs</strong></p>
<p><strong>MySQL BOF</strong></p>
<p>The MySQL AB engineering staff has left Oracle. <a href="http://askmonty.org">Monty Program AB</a> (21 staff) has the core developers, and Percona Inc. (32 staff) has the consultants. Oracle still has some of the InnoDB programmers.</p>
<p>The business plan for Monty Program AB is 60% commercially-sponsored MySQL development, and 40% community-request development. Monty would like commercial users of MySQL to sponsor patches that would benefit them.</p>
<p>Mark mentioned that using Nehalem instructions for CRC were much faster, and that Facebook was using partitions for truncating tables instead of doing multi-record deletes. (See his blog for more details.)</p>
<p>One person mentioned using a commercial backup tool, <a href="http://www.r1soft.com/">R1Soft</a>, that inserts a linux kernel module to allow filesystem snapshots. He said to carefully test backup and restore in your environment, especially for filesystems greater than 1 TB which may exceed certain block counter limits. Peter said that some of his clients had used it with varying success.</p>
<p>It worked for him in his environment, and the file browser allows selective file restore (he uses it to restore by priority where a system runs multiple applications.) It starts at $299 for the Standard Edition, and also has MySQL Add-on and Enterprise Editions. </p>
<p><strong>PostgreSQL BOF</strong></p>
<p>The PostgreSQL BOF talked about 30 or so changes that went into version 9.</p>
<p>One of the most exciting new features is a native replication feature, called streaming replication (block-based.) The advantage over <a href="http://www.slony.info/">Slony-I</a> replication is that Slony-I is trigger-based, so has a variety of issues included inability to replicate DDL commands.</p>
<p>Some of the developers mimed replication events, which was rather amusing to watch. Yes, it was taped.</p>
<p>PostgreSQL is released under the <a href="http://www.opensource.org/licenses/postgresql">PostgreSQL Licence</a>, which is BSDish.</p>
<p>Peter Zaitsev, co-founder of <a href="http://www.percona.com/">Percona</a>, organized 3 BOFs, including XtraDB, XtraBackup, Maatkit, Percona Server, <a href="http://www.sphinxsearch.com/">Sphinx Search</a> and Running Databases on Flash Storage.</p>
<p><strong>Sphinx Search BOF</strong></p>
<p>Andrew Aksyonoff, the original programmer of Sphinx Search (GPL v2), couldn&#8217;t make it to OSCON (the good excuse was that he was busy coding), so Richard Kelm (Sphinx sales/customer support honcho) and Peter filled in (Percona is a business partner with Sphinx, and many of Percona&#8217;s clients use it.)</p>
<p>Some of the attendees were existing users, like myself, and some from HP and other companies were looking for a large-scale search solution or alternative to Lucene.</p>
<p>Monty mentioned that the latest MySQL 5.1 should be used, as there have been a number of performance and reliability improvements. Full-text search is supposed to be 10x faster than 5.0, and replication is nearly bug-free by now.</p>
<p>Sphinx Search now has <a href="http://www.sphinxsearch.com/docs/current.html#rt-indexes">real-time index updates</a> in version 1.1.0 beta. Another very nice feature is SQL+FS indexing.</p>
<p>Here is the full Sphinx 1.1.0 <a href="http://www.sphinxsearch.com/docs/current.html#rel110">changelog.</a></p>
<p><strong>Running Databases on Flash Storage BOF</strong></p>
<p>The Running Databases on Flash Storage BOF had a combination of MySQL and Postgres users who have tested or used most of the SSD products: FusionIO, violin, Intel, OCZ, etc. Everybody was happy with SSD IOPS performance, but less so with cost and metadata RAM requirements with the add-in boards (FusionIO may require 4 GB RAM for metadata.)</p>
<p>Peter said that 20% to 30% of his clients are already using SSD &#8211; across the spectrum of vendors and models. Some are also trying &#8220;massive RAM&#8221; solutions, like Cisco servers with 384 GB RAM.</p>
<p>Some users had 1+ TB Postgres databases with very thorny backup and mgmt. issues. One solution was to start a snapshot, but not do the copy operation.</p>
<p><strong>Expo Notes</strong></p>
<p>I had an enjoyable talk with Austin Hook, who has operated the OpenBSD Store for many years. He lives near Calgary, the center of OpenBSD/OpenSSH/PF development. He mentioned that some perennial financial contributors had stopped because of the recession, so here&#8217;s <a href="http://www.openbsd.org/donations.html">the donations link.</a></p>
<p>I also talked to some reps from a Brazilian outsourcing firm, <a href="http://www.actminds.com/">ActMinds.</a> They currently have 400 employees across Brazil and a sales office in Philadelphia. Brazil is only 2 hours ahead of EST. They said the minimum project size is 2 developers and developer turnover a low 5%/annum. Their pricing is $35 to $45/hour.</p>
<p>And I had fun handling the plug computers on display at the Marvell booth. The Ionics boards are amazingly densely populated.</p>
<p><strong>Discussions</strong></p>
<p>I had the opportunity to talk to a long-time Portland resident who works as a computer consultant. He said that the Portland economy is not doing great, and really hasn&#8217;t done well since old-growth logging was stopped after 90% of the forests were cleared. And although hundreds of miles of fiber optic has been laid downtown, it&#8217;s not available for residential use. However, the Beaverton area does have ubiquitous FTTH.</p>
<p>I also talked to somebody who attended the Emerging Languages talks. He&#8217;s working on his M.Sc. in Computer Science, so found those talks fascinating.</p>
<p><strong>Twitter Humor</strong></p>
<p>There were some humorous tweets:</p>
<p>- &#8220;my MongoDB and CouchDB mugs are fighting each other.&#8221;<br />
- &#8220;I got one MongoDB mug, but need two to safely store coffee.&#8221;</p>
<p><strong>Notes</strong></p>
<p>Note to self: skip the nightly parties unless you have a date. The bars are too loud to talk to anybody.</p>
<p>Note to the O&#8217;Reilly conference organizers: use meetup.com for the BOFs like ApacheCon does. The average audience was about 10 people, and with meetup it would  be 4x that.</p>
<p><a href="http://www.oscon.com/oscon2010/public/schedule/proceedings">OSCON 2010 Slides</a><br />
<a href="http://www.tbray.org/ongoing/When/201x/2010/07/21/DPH">Tim Bray: Desperate Perl Hacker</a><br />
<a href="http://www.youtube.com/results?search_query=oscon+2010&#038;aq=f">Youtube: OSCON 2010 videos</a><br />
<a href="http://blip.tv/?search=oscon2010;s=search">blip.tv: OSCON2010 videos</a><br />
<a href="http://en.wikipedia.org/wiki/Plug_computer">wikipedia: Plug Computer</a><br />
<a href="http://blog.zawodny.com/2010/05/22/mongodb-early-impressions/#comments">Jeremy Zawodny: MongoDB Early Impressions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/07/oscon-conference-2010-portland/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SVLUG Meeting: Not Your Father&#8217;s Assembly Language with Randall Hyde</title>
		<link>http://www.jebriggs.com/blog/2010/07/randall-hyde-hal-assembly-language/</link>
		<comments>http://www.jebriggs.com/blog/2010/07/randall-hyde-hal-assembly-language/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 17:39:12 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>
		<category><![CDATA[User Groups]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=2111</guid>
		<description><![CDATA[At Silicon Valley Linux Users Group tonite, Randall Hyde talked a bout a more modern implementation of assembly language, HLA &#8211; the High Level Assembler.
He talked about his career as a programmer, college lecturer at UC Riverside, computer book author and developer of nuclear reactor control software.
It was interesting to hear first-hand that CS students [...]]]></description>
			<content:encoded><![CDATA[<p>At Silicon Valley Linux Users Group tonite, <a href="http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/">Randall Hyde</a> talked a bout a more modern implementation of assembly language, HLA &#8211; the High Level Assembler.</p>
<p>He talked about his career as a programmer, college lecturer at UC Riverside, computer book author and developer of nuclear reactor control software.</p>
<p>It was interesting to hear first-hand that CS students during the dot com boom actually did enroll &#8220;just for the money&#8221;, regardless of interest in science or ability.</p>
<p>Originally his book on HAL was a download-only book, but No Starch Press was looking for content and actually contacted him for permission to publish it. It proved to be a popular book and another version is planned.</p>
<p>He said it takes about 2 years to learn the domain-specific knowledge about nuclear reactors, plus whatever time it takes to learn the programming languages or tools used for the project.</p>
<p>Using a debugger on nuclear reactor control software results in a scram, so planning ahead is a good idea.</p>
<p>Thanks again to Symantec for hosting the meeting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/07/randall-hyde-hal-assembly-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ClusterIt dtop Command Ported to Linux</title>
		<link>http://www.jebriggs.com/blog/2010/05/clusterit-dtop-command-ported-to-linux/</link>
		<comments>http://www.jebriggs.com/blog/2010/05/clusterit-dtop-command-ported-to-linux/#comments</comments>
		<pubDate>Tue, 25 May 2010 09:46:56 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1943</guid>
		<description><![CDATA[The light-weight ClusterIt toolkit mostly worked on linux, but dtop (distributed top) still expected BSD-style top syntax.
Here&#8217;s a diff I wrote to make dtop work on recent versions of Linux (tested on CentOS 5.5 x86_64):

$ diff dtop.org.c dtop.c

311a312,322
> 	char buf2[30];
>
> 	if (strstr(c, "Swap:") != NULL) {
> 		sscanf(c, "Swap: %30s total, %*s used, %30s free", buf, [...]]]></description>
			<content:encoded><![CDATA[<p>The light-weight <a href="http://www.garbled.net/clusterit.html">ClusterIt</a> toolkit mostly worked on linux, but dtop (distributed top) still expected BSD-style top syntax.</p>
<p>Here&#8217;s a diff I wrote to make dtop work on recent versions of Linux (tested on CentOS 5.5 x86_64):</p>
<pre>
$ diff dtop.org.c dtop.c

311a312,322
> 	char buf2[30];
>
> 	if (strstr(c, "Swap:") != NULL) {
> 		sscanf(c, "Swap: %30s total, %*s used, %30s free", buf, buf2);
> 		nd->swap = dehumanize_number(buf);
> 		nd->swapfree = dehumanize_number(buf2);
> 		nd->inactmem = nd->wiredmem = nd->execmem = 0;
> 		return;
> 	}
>
>
344a356
> #if ! defined(__linux__)
364a377
> #endif
470a484,486
> #if defined(__linux__)
> 		case 11:
> #else
471a488
> #endif
517a535,539
> #if defined(__linux__)
> 		} else if (strstr(c, "Tasks:") != NULL) {
>                         sscanf(c, "Tasks: %d ",&#038;nodedata[nn].procs);
> #else
519a542
> #endif
</pre>
<p>The output of dtop on linux looks like this:</p>
<pre>
HOSTNAME  PROCS  LOAD1  LOAD5 LOAD15 ACTIVE  INACT   FILE   FREE SWPFRE SWUSED
  g00-int     64   0.11   0.04   0.01	   0	  0	 0  7345M  2047M  0.00%
  g01-int     64   0.00   0.01   0.00	   0	  0	 0  7033M  2047M  0.00%
  g02-int     61   0.08   0.02   0.01	   0	  0	 0  6980M  2047M  0.00%
  g03-int     64   0.16   0.06   0.01	   0	  0	 0  7011M  2047M  0.00%
  g04-int     64   0.04   0.04   0.01	   0	  0	 0  6996M  2047M  0.00%
  g05-int     61   0.02   0.01   0.00	   0	  0	 0  7424M  2047M  0.00%
</pre>
<p>Here is <a href="http://jebriggs.com/php/dtop.c.txt">the final, hardened version of dtop.c</a> that uses secure C programming techniques (strn API and double-free safe.)</p>
<p>My long-term preference would be to rewrite dtop in Perl since parsing text input in old-school C is brittle.</p>
<p>Also, dtop should be able to handle top results from heterogeneous systems, and the linux ifdefs contribute to preventing that.</p>
<p>And here are some of the debugging commands I used:</p>
<pre>
ulimit -S -c unlimited > /dev/null 2>&#038;1
valgrind -v --leak-check=full --show-reachable=yes --track-origins=yes ./dtop
gdb ./dtop core
</pre>
<p><a href="http://www.embedded.com/columns/programmingpointers/200900195?pgno=1">Dan Saks: Why size_t matters</a><br />
<a href="http://www.viva64.com/content/articles/64-bit-development/?f=size_t_and_ptrdiff_t.html&#038;lang=en&#038;content=64-bit-development">Karpov: About size_t and ptrdiff_t</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/05/clusterit-dtop-command-ported-to-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fsync Links</title>
		<link>http://www.jebriggs.com/blog/2010/05/fsync-links/</link>
		<comments>http://www.jebriggs.com/blog/2010/05/fsync-links/#comments</comments>
		<pubDate>Sun, 09 May 2010 06:58:40 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1860</guid>
		<description><![CDATA[This is a placeholder post for links about fsync on linux and Perl.
tchrist: some good news &#038;&#038; bad news on fsync
Don’t fear the fsync!
Delayed allocation and the zero-length file problem
libeatmydata
Firefox 3 &#038; &#8216;fsync&#8217; issue
Brad&#8217;s diskchecker.pl
pl.atyp.us: How To Lose Data
]]></description>
			<content:encoded><![CDATA[<p>This is a placeholder post for links about fsync on linux and Perl.</p>
<p><a href="http://www.gossamer-threads.com/lists/perl/porters/236839">tchrist: some good news &#038;&#038; bad news on fsync</a><br />
<a href="http://thunk.org/tytso/blog/2009/03/15/dont-fear-the-fsync/">Don’t fear the fsync!</a><br />
<a href="http://thunk.org/tytso/blog/2009/03/12/delayed-allocation-and-the-zero-length-file-problem/">Delayed allocation and the zero-length file problem</a><br />
<a href="http://www.flamingspork.com/projects/libeatmydata/">libeatmydata</a><br />
<a href="http://www.dslreports.com/forum/r20716906-Firefox-3-fsync-issue">Firefox 3 &#038; &#8216;fsync&#8217; issue</a><br />
<a href="http://brad.livejournal.com/2116715.html">Brad&#8217;s diskchecker.pl</a><br />
<a href="http://pl.atyp.us/wordpress/?p=3005">pl.atyp.us: How To Lose Data</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/05/fsync-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Xsan Links</title>
		<link>http://www.jebriggs.com/blog/2010/04/apple-xsan-links/</link>
		<comments>http://www.jebriggs.com/blog/2010/04/apple-xsan-links/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 06:06:30 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1830</guid>
		<description><![CDATA[Apple Xsan is a 64-bit cluster file system used with Fiber Channel Xserve RAID (discontinued) or Promise VTrak E-Class disk enclosures.
(When Apple discontinued the Xserve RAID they were cool enough to &#8220;unlock&#8221; the firmware to use any OEM disk drive instead of only Apple-branded drives, making upgrading and supporting Xserve RAIDs easier and less expensive.)
Xsan [...]]]></description>
			<content:encoded><![CDATA[<p>Apple <a href="http://www.apple.com/xsan/">Xsan</a> is a 64-bit cluster file system used with Fiber Channel <a href="http://www.apple.com/support/xserveraid/">Xserve RAID</a> (discontinued) or <a href="http://store.apple.com/us_smb_78313/browse/home/shop_mac/mac_accessories/promise">Promise VTrak E-Class</a> disk enclosures.</p>
<p>(When Apple discontinued the Xserve RAID they were cool enough to &#8220;unlock&#8221; the firmware to use any OEM disk drive instead of only Apple-branded drives, making upgrading and supporting Xserve RAIDs easier and less expensive.)</p>
<p>Xsan has been available since 2005, and is now at version 2.2.</p>
<p>The software costs $999/node (workstations plus 1 metadata (MD) node) plus optional AppleCare or AMP support. In addition, each node needs a Fiber Channel card, available in the Apple Store for $600 or $1000. </p>
<p>Additionally, you would need hardware consisting of 2 or more computer workstations with FC adapters, one FC switch for SAN traffic, one dedicated gigabit switch for metadata traffic, MD node, and reliable DNS or AD.</p>
<p>Video-editing companies have had a lot of success using Xsan to get the file-streaming bandwidth needed, typically approaching 1 Gbps for 3 editing workstations, to work smoothly with centralized video data.</p>
<p>Xsan is the cheapest non-DIY SAN solution that I can think of. (A DIY solution with Datacore <a href="http://www.datacore.com/products/prod_SANmelody.asp">SANMelody</a> for Windows or <a href="http://sourceforge.net/projects/opensan/">OpenSAN</a> for Linux software are DIY alternatives.)</p>
<p>List pricing for the Promise RAID enclosures are comparable to a Dell MD1000 or MD3000 DAS &#8211; the least expensive brand-name external mass storage that you can buy.</p>
<p>Xsan does not support the Mac Mini because it has no fiber channel ports, no space to add a card, and Mac Minis are supported as 32-bit servers at this time.</p>
<p><a href="http://www.afp548.com/article.php?story=20050419104942568">AFP548 XSAN Deployment Advice</a><br />
<a href="http://store.apple.com/us_smb_78313/product/MC186Z/A?mco=Nzg3MzAxMA">Apple Store: XSAN</a><br />
<a href="http://store.apple.com/us/product/H1142VC/A">Promise 32TB VTrak E-Class 16x SATA RAID Subsystem</a></p>
<p><a href="http://www.xsanity.com/">Xsanity</a><br />
&#8220;The only 2TB 7200rpm 32MB cache enterprise drive out at the moment is the Hitachi Ultrastar HUA722020ALA330.&#8221;</p>
<p><a href="http://support.apple.com/kb/HT1219">Xserve, Xserve RAID: Apple Drive Module (ADM) compatibility</a><br />
<a href="http://support.apple.com/kb/HT1200">support.apple.com: Promise VTrak: Configuring for optimal performance</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/04/apple-xsan-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH Configuration Tips</title>
		<link>http://www.jebriggs.com/blog/2010/03/ssh-configuration-tips/</link>
		<comments>http://www.jebriggs.com/blog/2010/03/ssh-configuration-tips/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 12:58:15 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1769</guid>
		<description><![CDATA[I came across a useful blog post with 20 SSH configuration tips.
I&#8217;ll have more to say later about why the tips are useful, but the title of &#8220;Top 20 OpenSSH Server Best Security Practices&#8221; is not really accurate.
Top 20 OpenSSH Server Best Security Practices
]]></description>
			<content:encoded><![CDATA[<p>I came across a useful blog post with <a href="http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html">20 SSH configuration tips.</a></p>
<p>I&#8217;ll have more to say later about why the tips are useful, but the title of &#8220;Top 20 OpenSSH Server Best Security Practices&#8221; is not really accurate.</p>
<p><a href="http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html">Top 20 OpenSSH Server Best Security Practices</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/03/ssh-configuration-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HAProxy Comments</title>
		<link>http://www.jebriggs.com/blog/2010/02/haproxy-comments/</link>
		<comments>http://www.jebriggs.com/blog/2010/02/haproxy-comments/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 08:39:09 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1700</guid>
		<description><![CDATA[Just trying out HAProxy in a new data center for http load balancing.
I&#8217;m not expecting a lot of site traffic initially, but using a load balancer from Day One lets you get all the data center servers assigned, and allows sysadmins to do maintenance whenever convenient.
I was looking around at similar Open Source software, and [...]]]></description>
			<content:encoded><![CDATA[<p>Just trying out <a href="http://www.webhostingtalk.com/showthread.php?t=627783">HAProxy</a> in a new data center for http load balancing.</p>
<p>I&#8217;m not expecting a lot of site traffic initially, but using a load balancer from Day One lets you get all the data center servers assigned, and allows sysadmins to do maintenance whenever convenient.</p>
<p>I was looking around at similar Open Source software, and what caught my attention about HAProxy is that Willy &#8220;obsessed with reliability&#8221; Tarreau is the author.</p>
<p>HAProxy has several nice features, including speed (fast enough for 10 GB connections at up to 132,000 connections per second), and epoll, cookie, multicore, chroot support and much more.</p>
<p>There are ports available for most Unix systems, including linux, FreeBSD and Solaris.</p>
<p>Here is the build script I wrote for a Dell 1950 (after installing <a href="http://www.pcre.org/">libpcre</a>):</p>
<pre>
#!/bin/bash

make clean
make TARGET=linux26 USE_PCRE=1 ARCH=x86_64
# no make test
make install
</pre>
<p>You can do a graceful restart of HAProxy running on multiple cores by adding this to your startup script (the tr is needed to handle when nbproc > 1):</p>
<pre>
graceful() {
  /usr/local/sbin/haproxy -c -q -f /etc/haproxy.cfg
  if [ $? -ne 0 ]; then
    echo "Errors found in configuration file, check it with 'haproxy check'."
    return 1
  fi
  /usr/local/sbin/haproxy -V -f /etc/haproxy.cfg -p /var/run/haproxy.pid -sf
`tr '\n' ' ' < /var/run/haproxy.pid`
}
</pre>
<p>I talked to somebody using it on EC2, so HAProxy is 'cloud-ready.'</p>
<p><a href="http://haproxy.1wt.eu/#docs">HAProxy Documentation</a><br />
<a href="http://www.webhostingtalk.com/showthread.php?t=627783">wht: HAproxy - Quick and Dirty HTTP Load balancing Tutorial on Redhat/Centos</a><br />
<a href="http://leavingcorporate.com/2008/03/03/session-based-load-balancing-with-haproxy/">Session Based Load Balancing with HAproxy</a><br />
<a href="http://titopanicker.net/blog/?p=59">tito: Zero-Downtime Restarts with HAProxy</a><br />
<a href="http://blog.christory.net/2009/09/15/building-an-easy-and-scalable-load-balanced-high-availability-web-hosting-solution-part-one-the-front/">Building an easy and scalable load-balanced high-availability web-hosting solution. Part One : The front.</a><br />
<a href="http://www.howtoforge.com/setenvif_apache2">How To Tell Apache To Not Log Certain Requests In Its Access Log</a><br />
<a href="http://www.zeus.com/downloads/developers/ec2/zeus_ec2_pricing.html">Pricing for Zeus software on Amazon EC2</a><br />
microsoft.com: Network Load Balancing Technical Overview<br />
<a href="http://www.loadbalancer.org/faq.php">loadbalancer.org: FAQ</a><br />
<a href="http://www.tenereillo.com/GSLBPageOfShame.htm">Tenereillo.com: Why DNS Based Global Server Load Balancing (GSLB) Doesn't Work (2005)</a><br />
<a href="http://blogs.sun.com/davew/entry/thoughts_on_global_server_load">davew: Thoughts on Global Server Load Balancing</a><br />
<a href="http://devcentral.f5.com/weblogs/ksalchow/archive/2009/06/03/shame-on-gslb-shame-on-me.aspx">ksalchow: Shame on GSLB? Shame on Me?</a><br />
<a href="http://vegan.net/lb/">Vegan Load Balancing Mailing List</a><br />
<a href="http://feurix.org/projects/hatop/">HATop: Interactive ncurses client for HAProxy</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/02/haproxy-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Genius Bar Advice on Notebook Battery Life</title>
		<link>http://www.jebriggs.com/blog/2009/12/apple-genius-bar-advice-on-notebook-battery-life/</link>
		<comments>http://www.jebriggs.com/blog/2009/12/apple-genius-bar-advice-on-notebook-battery-life/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 04:44:31 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1554</guid>
		<description><![CDATA[I talked to an Apple Genius recently about improving notebook battery life.
His recommendations to improve notebook battery life were:

kill any runaway programs
reduce screen brightness to 50% or less
move any Desktop files you don&#8217;t need on the Desktop to another folder. This reduces the amount of screen redraw work.
update to the latest SMC firmware
once a month, [...]]]></description>
			<content:encoded><![CDATA[<p>I talked to an Apple Genius recently about improving notebook battery life.</p>
<p>His recommendations to improve notebook battery life were:</p>
<ul>
<li>kill any runaway programs
<li>reduce screen brightness to 50% or less
<li>move any Desktop files you don&#8217;t need on the Desktop to another folder. This reduces the amount of screen redraw work.
<li>update to the latest SMC firmware
<li>once a month, unplug the power adapter and run your notebook until it sleeps automatically. Then plug in the adapter and allow it to charge for 8 hours.
<li>if there&#8217;s still a problem, drop by an Apple store and he&#8217;ll run the battery diagnostics program from their bootable service iPod nano. Bring along your receipt in case there&#8217;s a problem still covered under warranty.
</ul>
<p>Reducing the screen brightness from max to 50% immediately improved battery life on my old notebook by 50%, from about 2:15 to 3:30.</p>
<p>Also, remove the plastic packaging from new batteries to prevent them from permananently sticking to the plastic battery casing. The plastic is sticky on one side and can be cut into several cell phone display protectors. <img src='http://www.jebriggs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.apple.com/batteries/notebooks.html">apple.com: Apple Notebook Battery Care</a><br />
<a href="http://www.apple.com/batteries/">apple.com: Lithium-Ion Battery Care</a><br />
<a href="http://support.apple.com/kb/HT1446">support.apple.com: Apple Portables: Tips for maximizing your battery charge</a><br />
<a href="http://gizmodo.com/5025150/how-to-maximize-your-iphone-3gs-questionably-adequate-battery-life">gizmodo.com: How To Maximize Your iPhone 3G&#8217;s Questionably Adequate Battery Life</a><br />
<a href="http://theappleblog.com/2008/10/29/whats-the-ideal-strategy-to-maximize-notebook-battery-lifespan/">theappleblog.com: What’s the Ideal Strategy to Maximize Notebook Battery Lifespan?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2009/12/apple-genius-bar-advice-on-notebook-battery-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Load Balancing and Routing with Two ISP Connections Overview</title>
		<link>http://www.jebriggs.com/blog/2009/11/load-balancing-and-routing-with-two-isp-connections/</link>
		<comments>http://www.jebriggs.com/blog/2009/11/load-balancing-and-routing-with-two-isp-connections/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 14:10:04 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1344</guid>
		<description><![CDATA[Connecting 2 different Internet providers to your home or office can provide a number of benefits:

connection fail-over, increasing availability (best compatibility, since only 1 network route provided from your office to a remote site, and thus most likely to work reliably)
load balancing, increasing total bandwidth (2 routes available, which can confuse secure sites, and SOHO [...]]]></description>
			<content:encoded><![CDATA[<p>Connecting 2 different Internet providers to your home or office can provide a number of benefits:</p>
<ol>
<li>connection fail-over, increasing availability (best compatibility, since only 1 network route provided from your office to a remote site, and thus most likely to work reliably)
<li>load balancing, increasing total bandwidth (2 routes available, which can confuse secure sites, and SOHO devices usually have practical issues)
<li>reducing Internet access cost by replacing 1 expensive provider with 2 cheaper, perhaps less-reliable or slower providers.
</ol>
<p>How you connect with 2 different ISPs depends on whether you want to buy or build &#8230;</p>
<p>Here&#8217;s 3 options to consider:</p>
<p><strong>1. DIY with Linux iptables</strong></p>
<ol>
<li>assemble a linux machine with 3 network interfaces (WAN1, WAN2, LAN)
<li>read the iptables page on <a href="http://lartc.org/howto/lartc.rpdb.multiple-links.html">split access and multipath routes</a>, understanding that you are getting routing-based stickiness
<li>do some testing and tweaking of weights and other configuration items.
</ol>
<p>You don&#8217;t have to be a network engineer to get this working, but you should know things like static routing with the linux route command, to have a reasonable chance of success.</p>
<p>I&#8217;d suggest investing at most 4 hours in a project like that, then move on to one of the next options.</p>
<p><strong>2. Use an Existing Open Source Project</strong></p>
<ol>
<li><a href="http://www.pfsense.org/">pfSense</a> &#8211; based on FreeBSD. <a href="http://doc.pfsense.org/index.php/Dual_WAN_Load_Balancer">Dual-WAN Load Balancer FAQ,</a> <a href="http://www.netlife.co.za/content/view/34/34/">Dual-WAN Router Tutorial.</a>
<li>Untangle is a subscription-pay but 95% <a href="http://sourceforge.net/projects/untangle/">Open Sourced</a> software firewall with <a href="http://www.untangle.com/wan-failover">WAN failover ($5+/month)</a> or <a href="http://www.untangle.com/WAN-Balancer">WAN load balancing ($10+/month)</a> modules
<li><a href="http://m0n0.ch/wall/">m0n0wall</a>,  based on FreeBSD, <a href="http://m0n0.ch/wall/todo.php">is working on multi-WAN support</a>
<li><a href="http://sourceforge.net/projects/lokiwall/files/">LokiWall1 for Linux (2006)</a>
<li>LokiWall2 for Linux (coming soon)
</ol>
<p><strong>3. Buy a Dual-Wan Router Appliance</strong></p>
<p>There are several SOHO appliances available for under $350.00:</p>
<ul>
<li>Cisco (LinkSys) <a href="http://www.cisco.com/en/US/products/ps9925/index.html">RV042</a> and <a href="http://www.cisco.com/en/US/products/ps9926/index.html">RV082</a> (fanless, size of a hardcover book, is export-restricted, requires a free online support account and approval of 3 EULAs to download drivers.) I have used the RV082 for a month, and noticed: the built-in switch ports cannot drive cables longer than about 15 meters, the default failover probe settings are 5x for 30 seconds, which is too long, so I use 3x for 15 seconds. Otherwise it seems to work ok with two WAN connections, one fiber and the other DSL, though failback is not supported and failover is not logged. The average IT employee or power user can configure the web-based admin screens with no training.
<li>Netgear <a href="http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVX538.aspx">FVX538</a> and <a href="http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS336G.aspx">FVS336</a>
<li>Netgear <a href="http://kb.netgear.com/app/products/model/a_id/2403">FVS124G </a> (Discontinued)
<li><a href="http://www.hotbrick.com/produto.asp?tipo=3&#038;catpro=2">HotBrick LB-2</a> (<a href="http://www.xincom.com/products/502/overview.php">XinCom XC-DPG502</a>?)
<li><a href="www.peplink.com">Peplink</a>
</ul>
<p>Most, if not all appliances, are just linux or BSD embedded systems. But appliances are pre-tested, nicely packaged, and have a friendly web-based UI and technical support.</p>
<p>Also, an appliance will use less power and emit less noise than the typical desktop PC running linux.</p>
<p>Unfortunately, it&#8217;s hit-or-miss whether your appliance (or it&#8217;s firmware version) will work reliably. Most blogs report less than glowing results, especially with load balancing.</p>
<p><a href="http://www.tomshardware.com/forum/23829-42-dual-router-suggestions-needed">tomshardware.com: Dual WAN router suggestions needed (2008)</a><br />
<a href="http://www.dslreports.com/forum/r19267080-Best-Dual-Wan-Router">dslreports.com: Best Dual Wan Router? (2007)</a><br />
<a href="http://www.netlife.co.za/index.php?option=content&#038;task=view&#038;id=47">Advantages/Disadvantages of Dual Wan Routing</a><br />
<a href="http://www.linuxquestions.org/questions/slackware-14/script-to-load-balance-two-isps-with-ip-route-and-ip-rules-672602/">linuxquestions.com: Script to Load Balance two ISPs with ip route &#038; ip rules</a><br />
<a href="http://www.mikrotik.com/">mikrotik.com</a><br />
<a href="http://www.soekris.com/">Soekris</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2009/11/load-balancing-and-routing-with-two-isp-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
