<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2876710100609274663</id><updated>2012-01-04T02:15:35.094-08:00</updated><category term='bsd'/><category term='wctype'/><category term='internationalization'/><category term='wcwidth'/><category term='opengrok'/><category term='zfs opensolaris'/><category term='opensolaris'/><category term='summerofcode'/><category term='c++'/><category term='dtrace'/><category term='kde'/><title type='text'>Emancipation</title><subtitle type='html'>Software freedom, Solaris style.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-5573451207301870115</id><published>2010-09-24T08:26:00.000-07:00</published><updated>2010-09-24T08:28:16.338-07:00</updated><title type='text'>Leaving Sun^HOracle</title><content type='html'>I joined Sun out of the OpenSolaris community. In 2008 I was offered an internship and jumped at the chance. The internship became a full-time position, and here I am.&lt;br /&gt;&lt;br /&gt;Sun has been one of the best experiences of my employment life. I feel honoured to have worked among the ranks of some of the brightest engineers in the world. I've learned so much from each person I've had the pleasure of meeting here. The ranks are too innumerable to call out individually, so if you know who I am it's you. Thank you so much.&lt;br /&gt; &lt;br /&gt;But all good things must come to an end, and today is my last day as an Oracle employee. I'm excitedly moving on to Joyent starting next week for a new adventure with some new friends (and a couple old friends.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-5573451207301870115?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/5573451207301870115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=5573451207301870115' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/5573451207301870115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/5573451207301870115'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2010/09/leaving-sunhoracle.html' title='Leaving Sun^HOracle'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-6920907900932696817</id><published>2009-08-08T00:16:00.000-07:00</published><updated>2009-08-08T00:52:07.169-07:00</updated><title type='text'>KCA 2009</title><content type='html'>A little late, I know but a couple weeks ago I got back from &lt;a href="http://au.sun.com/sunnews/events/2009/kernel/index.jsp"&gt;Kernel Conf Australia&lt;/a&gt; in lovely Brisbane, Australia at the &lt;a href="http://www.qbi.uq.edu.au/"&gt;Queensland Brain Institute&lt;/a&gt;. Talks were great and ranged from the userland to the deep kernel, from introductions to hard technical details.&lt;br /&gt;&lt;br /&gt;The thing that stood out the most to me was the collaboration between the communities. I was pleased to see &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt;, &lt;a href="http://www.freebsd.org/"&gt;FreeBSD&lt;/a&gt;, (Open)Solaris and Linux people mingling and talking about the relative solutions to various problems without turning in to the one-upmanship often seen in online debates on the subject.&lt;br /&gt;&lt;br /&gt;It was also a much smaller conference from what I've attended before and that's a good thing, the attendees got a chance to meet and interact with each other much more than at for example &lt;a href="http://developers.sun.com/events/communityone/2009/west/index.jsp"&gt;CommunityONE&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;One of my favourite talks was Pawel's talk on &lt;a href="http://au.sun.com/sunnews/events/2009/kernel/d/KCA1_Dawidek_GEOM.pdf"&gt;GEOM&lt;/a&gt;, largely because I didn't know it exists and the talk was on how it works. Also David Gwynn's slides, for the sole reason of using Lego to represent data structures. They were good talks anyways, but the Lego pushed it over the top.&lt;br /&gt;&lt;br /&gt;I did a talk on the basics of writing drivers in (Open)Solaris which I thought was well received. I got several questions afterwards asking for suggestions on unsupported hardware to give a start.&lt;br /&gt;&lt;br /&gt;Obligatory pictures:&lt;br /&gt;&lt;br /&gt;Local fauna&lt;br /&gt;&lt;p&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nkpfGMQG5hA/Sn0nyvZp5xI/AAAAAAAAABk/hPi9MsqeqCk/s1600-h/DSCF1208_small.jpg"&gt;&lt;img style="width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_nkpfGMQG5hA/Sn0nyvZp5xI/AAAAAAAAABk/hPi9MsqeqCk/s320/DSCF1208_small.jpg" alt="" id="BLOGGER_PHOTO_ID_5367490083566511890" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;Local Flora:&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nkpfGMQG5hA/Sn0ot_V68TI/AAAAAAAAABs/kM3wlej7SGI/s1600-h/DSCF1222_small.jpg"&gt;&lt;img style="width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_nkpfGMQG5hA/Sn0ot_V68TI/AAAAAAAAABs/kM3wlej7SGI/s320/DSCF1222_small.jpg" alt="" id="BLOGGER_PHOTO_ID_5367491101458100530" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;Town square:&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nkpfGMQG5hA/Sn0q3RrKb4I/AAAAAAAAAB0/5PGUNyJSwMQ/s1600-h/DSCF1225_small.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_nkpfGMQG5hA/Sn0q3RrKb4I/AAAAAAAAAB0/5PGUNyJSwMQ/s320/DSCF1225_small.jpg" alt="" id="BLOGGER_PHOTO_ID_5367493460021112706" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;Pancake Church (serves liquor until midnight):&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nkpfGMQG5hA/Sn0rxWIvXsI/AAAAAAAAAB8/-4YsB7K1WPs/s1600-h/DSCF1226_small.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_nkpfGMQG5hA/Sn0rxWIvXsI/AAAAAAAAAB8/-4YsB7K1WPs/s320/DSCF1226_small.jpg" alt="" id="BLOGGER_PHOTO_ID_5367494457651322562" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;Lunch!&lt;br /&gt;&lt;p&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nkpfGMQG5hA/Sn0skoFrWdI/AAAAAAAAACE/VQXL6ZhGKHE/s1600-h/DSCF1190_small.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_nkpfGMQG5hA/Sn0skoFrWdI/AAAAAAAAACE/VQXL6ZhGKHE/s320/DSCF1190_small.jpg" alt="" id="BLOGGER_PHOTO_ID_5367495338643642834" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href="http://blogs.sun.com/brendan/"&gt;Brendan Gregg&lt;/a&gt;, &lt;a href="http://gdamore.blogspot.com/"&gt;Garrett D'Amore&lt;/a&gt; &amp;amp; &lt;a href="http://blogs.sun.com/tpenta"&gt;Alan Hargreaves&lt;/a&gt; debating something:&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nkpfGMQG5hA/Sn0th7AaX_I/AAAAAAAAACM/bzpyVTmtG0A/s1600-h/DSCF1205_small.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_nkpfGMQG5hA/Sn0th7AaX_I/AAAAAAAAACM/bzpyVTmtG0A/s320/DSCF1205_small.jpg" alt="" id="BLOGGER_PHOTO_ID_5367496391693852658" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-6920907900932696817?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/6920907900932696817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=6920907900932696817' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/6920907900932696817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/6920907900932696817'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2009/08/kca-2009.html' title='KCA 2009'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nkpfGMQG5hA/Sn0nyvZp5xI/AAAAAAAAABk/hPi9MsqeqCk/s72-c/DSCF1208_small.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-1919993761414834823</id><published>2009-01-12T14:26:00.001-08:00</published><updated>2009-01-20T01:11:17.369-08:00</updated><title type='text'>Submitting packages to pending/</title><content type='html'>The OpenSolaris &lt;a href="http://www.opensolaris.org/os/community/sw-porters/contributing/pendingrepo"&gt;pending/&lt;/a&gt; and &lt;a href="http://www.opensolaris.org/os/community/sw-porters/contributing/contribrepo/"&gt;contrib/&lt;/a&gt; repos are open.&lt;br /&gt;&lt;br /&gt;As a result, I was asked to document the procedure for turning a bunch of useless source in to a useful package. After wading through a bunch of occasionally outdated information, here's what I came up with.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1&lt;/span&gt;:&lt;br /&gt;Install the JDS cbe from http://dlc.sun.com/osol/jds/downloads/cbe/&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;update&lt;/span&gt;: and run cbe-install ( thanks &lt;a href="http://morettoni.blogspot.com/"&gt;Luca&lt;/a&gt; )&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ cd /opt&lt;br /&gt;$ wget http://dlc.sun.com/osol/jds/downloads/cbe/jds-cbe-1.6.2-i386.tar.bz2 -O /tmp/jdscbe.tar.bz2&lt;br /&gt;$ bzcat /tmp/jdscbe.tar.bz2 | tar -xf -&lt;br /&gt;$ cd jdscbe-1.6.2; ./cbe-install &lt;span style="font-family:Georgia,serif;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Step 2&lt;/span&gt;:&lt;br /&gt;Make your spec file.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://fedoraproject.org/"&gt;Fedora&lt;/a&gt; project publishes a collection of them, props to them for that. I didn't find much utility in them simply because OpenSolaris and Fedora are quite different, but I'd just as soon chalk that up to a personal failing. I found the &lt;a href="http://pkgbuild.sourceforge.net/spec-files-extra/"&gt;spec-files-extra&lt;/a&gt; repository to be a much more useful resource for templates.&lt;br /&gt;&lt;br /&gt;You will need to strip out plenty of &lt;span style="font-style: italic;"&gt;%include&lt;/span&gt; directives, since they're not really relevant to not-sfe files. The sections should be pretty self-explanatory, and the people on the mailing lists and irc channels are helpful if you don't understand something.&lt;br /&gt;&lt;br /&gt;Just for posterity, the spec file I submitted is &lt;a href="http://cr.opensolaris.org/%7Eerror404/drupal.spec"&gt;here&lt;/a&gt;. It just copies some files in to apache's wwwroot.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3&lt;/span&gt;:&lt;br /&gt;Set up your environment, and build with pkgtool ( Let's use Drupal as an example)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ . /opt/jdsbld/bin/env.sh&lt;br /&gt;$ pkgtool build --download drupal.spec&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;TEST&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then uninstall the SysVR4 package&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ pfexec pkgrm drupal&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;make a local package repo:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ pfexec svccfg -s pkg/server "setprop pkg/port=10000"&lt;br /&gt;$ pfexec svcadm refresh pkg/server&lt;br /&gt;$ pfexec svcadm enable pkg/server&lt;br /&gt;$ pfexec svcadm restart pkg/server&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and add your local repo as a pkg(5) authority&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ pfexec pkg set-authority -O http://localhost:10000 localhost&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 5&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;add your package to your local repo.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ eval `pkgsend open drupal@6.8`&lt;br /&gt;$ pkgsend import /export/home/johns/packages/PKGS/drupal/&lt;br /&gt;$ pkgsend close&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and install your package with pkg(1) and &lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;test again&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ pfexec pkg install drupal&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 6&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Everything work? License in the .spec file is kosher? Excellent.&lt;br /&gt;&lt;br /&gt;You're ready to submit your .spec file to &lt;a href="mailto:sw-porters-discuss@opensolaris.org"&gt;sw-porters-discuss@opensolaris.org&lt;/a&gt; (you'll need to subscribe first as it is set to auto-reject nonsubscribers). Send a friendly email including your .spec file and they'll take it from there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-1919993761414834823?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/1919993761414834823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=1919993761414834823' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/1919993761414834823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/1919993761414834823'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2009/01/submitting-packages-to-pending.html' title='Submitting packages to pending/'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-545244943789661055</id><published>2008-11-11T09:56:00.000-08:00</published><updated>2008-11-11T11:45:12.743-08:00</updated><title type='text'>OpenSolaris on a Macbook</title><content type='html'>I have a Macbook.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;*jeers from the audience&lt;/span&gt;*&lt;br /&gt;&lt;br /&gt;Just for the record it's the white model with 2Ghz CPU's and Wireless-N ( which makes it a Merom, I think )&lt;br /&gt;&lt;br /&gt;I decided to install OpenSolaris on it. It being Apple, it has to be more obtuse and difficult than any other PC on the market.&lt;br /&gt;&lt;br /&gt;Ultimately, a Mac is just like any other PC so there shouldn't be a whole lot of problem except for one thing: EFI.&lt;br /&gt;&lt;br /&gt;EFI is Intel's BIOS replacement, because even though OpenFirmware/OpenBoot have been around forever, work well, and are open, it wasn't invented there. Nothing really boots off EFI yet except Linux, OSX, and the various HP operating systems. GRUB doens't work with EFI, for example, which leads to a number of problems getting OpenSolaris installed.&lt;br /&gt;&lt;br /&gt;So, what the prospective OpenSolaris user will need to do is this:&lt;br /&gt;&lt;br /&gt;Step 1: install a first stage EFI bootloader. This almost certainly means downloading and installing &lt;a href="http://refit.sourceforge.net/"&gt;rEFIt&lt;/a&gt;. rEFIt is really easy to install, you just run the installer in the disk image.&lt;br /&gt;&lt;br /&gt;Step 2: Toggle rEFIt's on switch. Open a terminal ( /Applications/Utilities/Terminal.app ) and type this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/efi/refit/enable-always.sh&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Step 3: You need to use Disk Utility to give yourself a free partition. Set it up as an MS-DOS (FAT) volume.&lt;br /&gt;&lt;br /&gt;Step 4: Now, because the partition is marked as a DOS partition, OpenSolaris isn't going to want to install on it, so you'll need to mark it as a Solaris partition. This is done roughly the same way you'd do it anywhere else, that is to say, you'll be using fdisk. Open a terminal window and open fdisk on your drive, typically disk0. The -e flag makes it an interactive session.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ fdisk -e /dev/disk0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt; It being Apple, the syntax is different from any of the other fdisk's you're likely to have seen. Find your partition in the list ( it'll be the one not marked HFS+ ) and to change it use:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;setpid &amp;lt;partition number&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It'll prompt you for a type number in hex without the leading 0x. You'll be using type number 'BF' for Solaris2 ( because 0x82: Solaris was stolen for Linux swap... ). Then just 'write' to write the table, 'quit' to exit out of fdisk.&lt;br /&gt;&lt;br /&gt;Step 5: Insert your CD, and reboot. You'll not get the familiar grey apple logo, instead you'll be presented with a rEFIt menu. Since rEFIt doesn't really know about the partition table well enough to present the operating system with anything sane, use the Partition Tool to set things up. Just use the defaults that it asks you about. Once that's written to disk, back in the rEFIt menu there'll be an option to boot OSX, or the CD. Choose the CD.&lt;br /&gt;&lt;br /&gt;Step 6: Now you're running the OpenSolaris livecd, play around, do whatever you're going to do with it. Networking won't work because myk isn't installed. When you decide to install, there's some considerations. First off, you can't write to the partition table, rEFIt doesn't allow it (and it doesn't make much sense anyways). Since the installer really, really wants to write to the partition table ( bug &lt;span &gt;&lt;a href="http://bugs.opensolaris.org/view_bug.do?bug_id=6413235"&gt;6413235&lt;/a&gt; ) you'll need to trick it.&lt;br /&gt;First off, you need to create a new file in your home directory named 'fdisk'. It should contain this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;echo "$*" | grep -- "-F" &gt; /dev/null&lt;br /&gt;if [ $? = 1 ] ; then&lt;br /&gt;/sbin/fdisk $*&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;( Thanks to Jim Walker for the &lt;a href="http://www.genunix.org/wiki/index.php/OpenSolaris_Dual_Boot"&gt;script&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;make it executable&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ chmod 755 ./fdisk&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and rather than running the installer icon on the desktop, you'll need to trick it in to using this new fdisk script with $PATH.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ PATH=$PWD:$PATH pfexec &lt;installer&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;it'll do it's thing, fill out the information, click Next&gt; a half dozen times. When it prompts you where to install, don't muck about with the partitions, there should be one Solaris partition that it'll try to install on by default, just click Next&gt; through that screen. Now it's installing&lt;br /&gt;&lt;br /&gt;Step 7: Reboot. rEFIt will present you with the option to boot OSX or Linux. rEFIt is dumb and thinks anything that uses GRUB is Linux. Let's ignore this slight for now, but bide our time and destroy everyone and everything they love, leaving them a sad hollow shell wandering the wasteland wishing for death, later. Choose the not-Linux Linux option, and OpenSolaris will boot. ( check &lt;a href="http://refit.sourceforge.net/doc/c3s1_icons.html"&gt;here&lt;/a&gt; later for instructions on how to change the icon if it bothers you )&lt;br /&gt;&lt;br /&gt;Step 8: Networking doesn't work. Pick up &lt;a href="http://homepage2.nifty.com/mrym3/taiyodo/eng/"&gt;Murayama&lt;/a&gt;'s &lt;a href="http://homepage2.nifty.com/mrym3/taiyodo/myk-2.6.2.tar.gz"&gt;myk driver&lt;/a&gt;. Put it on a USB stick. It comes with a Readme.txt, but you can ignore most of it. All you really need to do is this part:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ pfexec make install&lt;br /&gt;$ pfexec ./adddrv.sh&lt;br /&gt;$ pfexec devfsadm -i myk&lt;br /&gt;$ pfexec ifconfig myk0 plumb&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;at this point NWAM should realize that a new NIC exists, and do it's thing accordingly.&lt;br /&gt;&lt;br /&gt;Now, wired networking works. Wireless does not because the new ath binary blob hasn't been integrated so the wireless-N chipsets are left in the cold. Sound is hdaudio, and the single button mouse is annoying, so I reccomend using an external one.&lt;br /&gt;&lt;br /&gt;Other than that though, you're all good, up and running. Enjoy.&lt;br /&gt;&lt;br /&gt;(and to all the other mac-heads that works on OpenSolaris or in marketing for it... now you have no more excuse ;) )&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-545244943789661055?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/545244943789661055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=545244943789661055' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/545244943789661055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/545244943789661055'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2008/11/opensolaris-on-macbook.html' title='OpenSolaris on a Macbook'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-3019957656835271176</id><published>2008-09-28T01:18:00.000-07:00</published><updated>2008-09-28T01:33:56.785-07:00</updated><title type='text'>Presenting: chsh</title><content type='html'>I logged in to the Solaris (9) machine at school the other day and was presented with this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;bash-2.05$ &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bash. Gross.&lt;br /&gt;Then it occurred to me that there's no real sane way for a user to change his or her shell on Solaris by default.&lt;br /&gt;Being the diligent late-night hacker with an itch that I am, I solved the problem.&lt;br /&gt;&lt;br /&gt;So, without further ado I present to you: &lt;a href="http://cr.opensolaris.org/%7Eerror404/chsh"&gt;chsh&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Usage:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;chsh SHELL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;or, to list valid shells&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;chsh -l &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;if you have the solaris.admin.usermgr role ( it is role aware, so root is unnecessary ) you can change any arbitrary user's shell&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;chsh -u USERNAME SHELL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It requires root to install, as it is a suid binary, so if you don't already have root-like privileges on the box it's not going to be a lot of help, but your users will thank you. Much like usermod(1M) it only modifies the local /etc/passwd file, so NIS+ and LDAP entries are unaffected.&lt;br /&gt;&lt;br /&gt;I'm not sure about the process for getting something integrated in Solaris from scratch, and I'm pretty sure I missed the 2008.11 deadline so it won't be shipping but hopefully you'll see it in a Nevada build and IPS sooner or later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-3019957656835271176?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/3019957656835271176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=3019957656835271176' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/3019957656835271176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/3019957656835271176'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2008/09/presenting-chsh.html' title='Presenting: chsh'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-4220853070562928046</id><published>2008-08-21T13:01:00.000-07:00</published><updated>2008-08-25T11:10:10.557-07:00</updated><title type='text'>Tips &amp; Tricks for a new sponsoree</title><content type='html'>I've recently been moved behind the firewall and am intern-ing at Sun.&lt;br /&gt;&lt;br /&gt;One of the tasks of this job that I've been charged with is to sponsor community code contributions going in to OpenSolaris and I noticed a bunch of things that'd just make it less work &amp;amp; by extension time to go from an email with a .diff in it to integration. Let's begin:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;So you want to go that extra mile for your sponsor:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;You've signed your SCA , &lt;a href="http://bugs.opensolaris.org/search.do?process=1&amp;amp;type=&amp;amp;sortBy=relevance&amp;amp;bugStatus=&amp;amp;perPage=10&amp;amp;bugId=&amp;amp;keyword=&amp;amp;textSearch=oss-bite-size&amp;amp;category=&amp;amp;subcategory=&amp;amp;since="&gt;found a bug&lt;/a&gt;, sent your email to &lt;a href="mailto:request-sponsor@opensolaris.org"&gt;the list&lt;/a&gt;, and are ready to roll.&lt;br /&gt;Awesome! OpenSolaris is huge and we appreciate the extra hands, plus you help make it more community driven.&lt;br /&gt;&lt;br /&gt;So the next step is to go back and forth with your sponsor trying to find the best possible solution to the bug. Once you've done that, you can get down to work, fix the bug, and then build &amp;amp; test it.&lt;br /&gt;&lt;br /&gt;Then you just send the code to your sponsor, and you're done right?&lt;br /&gt;Well, you could do that. It's technically correct and is the standard way of doing things but if you &lt;span style="font-style: italic;"&gt;really&lt;/span&gt; want to wow your sponsor and go above and beyond, there are a couple things that the gatekeepers require that you can do to make his or her job ( taking your code, committing it to the tree ) a breeze:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;unified diffs&lt;/span&gt; : from the top of the tree, running a &lt;a href="http://docs.sun.com/app/docs/doc/816-0210/6m6nb7m7f?a=view"&gt;diff -u&lt;/a&gt; gives you a single patch file that can be applied to the tree, rather than a diff of every affected file. Better still is an hg export file. The standard comment for HG exports is :&lt;blockquote&gt;Contributed by {your name} &lt;{your email}&gt;&lt;br /&gt;{bug id} {bug synopsis}&lt;/blockquote&gt;note the single space between bug id and bug synopsis&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;recent gate checkout&lt;/span&gt; : a bunch of stuff may have changed in the meantime, so it's best to apply your code to a copy of the ON gate as recent as possible, so that the diff doesn't break&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;cstyle clean it&lt;/span&gt; : onbld has a tool in /opt/onbld/bin called 'cstyle' which checks to make sure that the pendantic little nits like indentation standards are adhered to. You only need to make the stuff you changed cstyle clean, don't worry about all the old stuff&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;change the copyright&lt;/span&gt; : you'll notice every file owned by Sun in the ON consolidation that has a line with Sun's copyright in it like:&lt;br /&gt;&lt;blockquote&gt;/*&lt;br /&gt;* Copyright 2008 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;* Use is subject to license terms.&lt;br /&gt;*/&lt;br /&gt;&lt;/blockquote&gt;These all need to be updated to reflect the current year ( in this case it's 2008 ) whenever the file changes.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Update the CDDL block&lt;/span&gt;: Some older files have a CDDL block that's no longer acceptable, so if you run across it you may need to update it. You'll be able to tell, because it gives a version number ( 1.0 ) of the license. So, update this: &lt;blockquote&gt;The contents of this file are subject to the terms of the&lt;br /&gt;Common Development and Distribution License, Version 1.0 only&lt;br /&gt;(the "License").  You may not use this file except in compliance&lt;br /&gt;with the License.&lt;/blockquote&gt; To this: &lt;blockquote&gt;The contents of this file are subject to the terms of the&lt;br /&gt;Common Development and Distribution License (the "License").&lt;br /&gt;You may not use this file except in compliance with the License.&lt;/blockquote&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;SCCS keywords&lt;/span&gt; : the ON gate used to use a different source-code management system (teamware). The gate is now managed by Mercurial. As a result, there's still some vestigial teamware bits lying around. Before a change can be integrated someone ( typically the sponsor, but it could be you, which is why we're here ) needs to remove the old SCCS keywords. They look like this:&lt;blockquote&gt;#pragma ident   "%Z%%M% %I%     %E% SMI"&lt;/blockquote&gt; This whole line can just be removed from the file entirely. It's not needed anymore.&lt;/li&gt;&lt;/ul&gt;With these simple steps, you can cut (depending on the size of the patch) hours off your sponsor's task and surprise them with how thorough you are&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-4220853070562928046?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/4220853070562928046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=4220853070562928046' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/4220853070562928046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/4220853070562928046'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2008/08/tips-tricks-for-new-sponsoree.html' title='Tips &amp; Tricks for a new sponsoree'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8395317079410586297</id><published>2008-05-13T15:08:00.000-07:00</published><updated>2008-05-13T16:53:06.911-07:00</updated><title type='text'>Emancipation Community</title><content type='html'>I proposed the other day that the emancipation project be promoted to the Emancipation Community.&lt;br /&gt;&lt;br /&gt;The way I see it, Jason &amp;amp; Steven's work on the ce driver, Roland's work on the xpg/posix stuff&lt;br /&gt;and my libc_i18n work are all loosely related in that they are all reimplementations of closed source stuff, but aren't really as closely micro-coupled as much as one might think a project is ( we don't share an hg repo set, for example )&lt;br /&gt;&lt;br /&gt;Here's what Plocher and I came up with for a charter:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Emancipation Community Charter ( rev 1 )&lt;br /&gt;&lt;div class="Ih2E3d"&gt;CG Problem statement&lt;br /&gt;&lt;br /&gt;  The OpenSolaris operating system is not completely open&lt;br /&gt;  because several components that are required to build and&lt;br /&gt;  boot the OS are only available in the "closed bin" archives.&lt;br /&gt;&lt;br /&gt;Scope:&lt;br /&gt; Initially, the focus will be on selected high-value efforts,&lt;br /&gt; such as self-hosting an open ON, drivers, posix utils, but&lt;br /&gt; the long range intent is to eliminate the need for (and use&lt;br /&gt;&lt;/div&gt;  of) closed source software on the opensolaris OE.&lt;br /&gt;&lt;div class="Ih2E3d"&gt;&lt;br /&gt;Goals/milestones:&lt;br /&gt;&lt;br /&gt;  Quarterly progress reports will be produced and sent to the&lt;br /&gt;  OS-announce alias to keep the larger community informed of&lt;br /&gt;  our progress.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;   In order of priority:&lt;br /&gt;&lt;br /&gt;  Goal 0: Replace the components needed to build and boot&lt;br /&gt;&lt;div class="Ih2E3d"&gt;             the ON consolidation with whatever shims, hacks&lt;br /&gt;            and scaffolding is needed to produce a proof of&lt;br /&gt;&lt;/div&gt;             concept that self-hosts and boots, followed by a&lt;br /&gt;            reimplementation of the userland utilities as per same.&lt;br /&gt;&lt;br /&gt;  Goal 1:  Determine the best way to replace the above hacks&lt;br /&gt;&lt;div class="Ih2E3d"&gt;             with a permanent solution, including decision&lt;br /&gt;            making architectural and design guidelines that&lt;br /&gt;            can be used in similar situations elsewhere in&lt;br /&gt;            the emancipation effort (i.e., should we reuse&lt;br /&gt;            from some particular other open OS, roll our own,&lt;br /&gt;            do without; what makes a good -vs- poor choice,&lt;br /&gt;            how do we choose without causing unnecessary&lt;br /&gt;&lt;/div&gt;             strife, ...?  Collaboration with the ARC community&lt;br /&gt;            is implied during this stage.&lt;br /&gt;&lt;br /&gt;  Goal 2:   Develop and push the changes prototyped in phase&lt;br /&gt;&lt;div class="Ih2E3d"&gt;             0 and formalized in phase 1 into the ON (and other)&lt;br /&gt;            consolidation(s) and remove the associated closed&lt;br /&gt;            bin pieces.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;   Goal 3:   Seek replacement for high-use closed source software&lt;br /&gt;            such as media players, rich web players, etc.&lt;br /&gt;&lt;br /&gt;  Goal 4:   After completion of goals 0 - 3, disband the community&lt;br /&gt;&lt;br /&gt;To facilitate this community, the initial list of core contributors (&lt;br /&gt;should they accept ) shall be:&lt;br /&gt;&lt;br /&gt;Faciltator:&lt;br /&gt;   John Sonnenschein ( error404 )&lt;br /&gt;Core Contributors:&lt;br /&gt;&lt;div class="Ih2E3d"&gt;    Jason King ( jbk )&lt;br /&gt;   Steve Stallion ( stallion )&lt;br /&gt;   Roland Mainz ( gisburn )&lt;br /&gt;&lt;/div&gt;    Joerg Schilling ( joerg )&lt;br /&gt;   John Sonnenschein ( error404 ) ( note: i'm not sure if this is&lt;br /&gt;implied by "facilitator" )&lt;br /&gt;   Garret D'Amore ( gdamore )&lt;br /&gt;Contributors:&lt;br /&gt;   John Plocher ( plocher )&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8395317079410586297?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8395317079410586297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8395317079410586297' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8395317079410586297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8395317079410586297'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2008/05/emancipation-community.html' title='Emancipation Community'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-515988332050445470</id><published>2008-03-12T09:41:00.000-07:00</published><updated>2008-03-12T09:42:31.954-07:00</updated><title type='text'>Bio &amp; Affiliation</title><content type='html'>hey, so this is a little on the late side, but not too late I hope&lt;br /&gt;&lt;br /&gt;Disclosure: I currently work for an MS Windows based contracting firm that has no commercial interest in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;OpenSolaris&lt;/span&gt;. I therefore am under no obligations that would prevent me from fully representing the community if elected to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;OGB&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Bio: I'm an undergraduate computer science student at the University of Northern BC and a part-time software developer . I joined &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;OpenSolaris&lt;/span&gt; approximately 3 or 4 months after the inception of the project, being a former 7 year Linux user. I was drawn to  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;OSol&lt;/span&gt; because of the tradition of unrelenting engineering excellence that I knew Sun &amp;amp; her engineers for.&lt;br /&gt;I envision the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;OGB's&lt;/span&gt; primary charter for the time being as being the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;liaison&lt;/span&gt; with the benefactor of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;OpenSolaris&lt;/span&gt; ( that is, Sun ). The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;OGB&lt;/span&gt; ought to be the go-between of Sun's management and the rough-and-tumble of the community. Sun has immense influence on the community as it is a community built around their code, and it's important for the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;OGB&lt;/span&gt; to act on the community's behalf when faced with decisions regarding steering that community ( for example, the recent trademark debacle. I believe the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;OGB&lt;/span&gt; could have had a much more influential role negotiating with Sun during that incident).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-515988332050445470?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/515988332050445470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=515988332050445470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/515988332050445470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/515988332050445470'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2008/03/bio-affiliation.html' title='Bio &amp; Affiliation'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8698861949790935594</id><published>2008-01-02T20:02:00.000-08:00</published><updated>2008-01-02T21:08:23.839-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zfs opensolaris'/><title type='text'>How to turn a mirror in to a RAID</title><content type='html'>People occasionally ask on the mailing lists and in #opensolaris how to add a disk to a zfs mirror to make a raidz. Today, I received in the mail a new SATA controller and a new disk, so I was left in the same circumstance.&lt;br /&gt;&lt;br /&gt;There's a drought of information on the topic on the internet, probably due in large part to the typical deployment of ZFS ( i.e. large shops that have a ton of spare disks laying around, or have otherwise planned out a migration path beforehand ), rather than the small home user.&lt;br /&gt;&lt;br /&gt;So, here's what I did:&lt;br /&gt;&lt;br /&gt;On a high level, we have to remember what sort of replication we've got for any given RAID level. More accurately, we need to know how many disks can be broken before the whole thing falls apart.&lt;br /&gt;&lt;br /&gt;When we've got a single drive, that drive can't die, or we lose everything (obvious). With a mirror, we can't have 2 drives die. A 3-disk RAIDZ ( raid5 ) requires at least 2 operational disks out of 3. So, when moving from a 2 disk mirror to a 3 disk raidz, we obviously don't have enough disks to have both of them operational in full, even if we break the mirror in to a single disk.&lt;br /&gt;&lt;br /&gt;But, if we count the number of disks allowed to be dead ( 2 ) at any given time, and the number we have ( 3 ), we can spread them out such that two degraded pools exist. One single-disk ( broken mirror ) and one degraded zpool ( 2 disks + NULL  ).&lt;br /&gt;&lt;br /&gt;So the procedure we'd use to attain this state is break the mirror, create a zpool with the new disk and the old mirror drive, copy the data over, destroy the old mirror, attach the old second mirror disk to the new raidz.&lt;br /&gt;&lt;br /&gt;For the purpose of demonstration, I'll use the disks I've got attached to the system, c2d0, c3d0, and c4d1 .&lt;br /&gt;&lt;br /&gt;first, the starting condition:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$ zpool status&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  pool: xenophanes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; state: ONLINE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; scrub: none requested&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;config:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        NAME        STATE     READ WRITE CKSUM&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        xenophanes  ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          mirror&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            c3d0      ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            c2d0      ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;errors: No known data errors&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, to break the mirror:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# zpool detach c2d0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;so, what I've got now is a single-disk zpool comprised of c3d0, and two free disks, c2d0 and c4d1.&lt;br /&gt;&lt;br /&gt;To create a raidz, you need 3 devices. We only have two. We can solve this problem, however, with sparse files and loopback.&lt;br /&gt;&lt;br /&gt;Loopback allows you to use a file the same way you'd use any other block device in /dev. Linux has it ( mount -o loop ), Solaris has it ( lofiadm ). It's a pretty common thing.&lt;br /&gt;A sparse file is a type of file where the filesystem only stores it's beginning and end pointer information, and a size. The actual contents of the file aren't stored until you begin to write to them. This allows us to do things like create a 140GB file on a 140GB disk with plenty of room to spare.  And that's precisely what we'll do.&lt;br /&gt;&lt;br /&gt;You can create a sparse file easily with dd(1) like so:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ dd if=/dev/zero of=/xenophanes/disk.img bs=1024k seek=149k count=1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;bs is block size, 1kb. seek is the number of blocks to skip ( and is equal to the size of the drive in kb, because of the previous bs= line ), and count tells dd(1) to copy one block.&lt;br /&gt;&lt;br /&gt;and we can create a device like so:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# lofiadm -a /xenophanes/disk.img&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/lofi/1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, to recap, here's what we have. We have a zpool, two spare disks ( c2d0 and c4d1 ) and a sparse file the size of those disks hooked up with lofi. And if you'll notice, that's precisely what we need.&lt;br /&gt;&lt;br /&gt;From here out, we need to create the raidz, degrade it ( otherwise we'll fill up a sparse file that's the same size as the other disk, it'll run out of space, stuff will break... it won't be pretty )&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# zpool create heraclitus raidz c2d0 c4d1 /dev/lofi/1&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;ta da! a raidz. Now let's break it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# zpool offline heraclitus /dev/lofi/1 &amp;amp;&amp;amp; lofiadm -d /dev/lofi/1 &amp;amp;&amp;amp; rm /xenophanes/disk.img&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and here's what we get:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# zpool status&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  pool: heraclitus&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; state: DEGRADED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;status: One or more devices has been taken offline by the administrator.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        Sufficient replicas exist for the pool to continue functioning in a&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        degraded state.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;action: Online the device using 'zpool online' or replace the device with&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        'zpool replace'.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; scrub: none requested&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;config:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        NAME             STATE     READ WRITE CKSUM&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        heraclitus       DEGRADED     0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          raidz1         DEGRADED     0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            /dev/lofi/1  OFFLINE      0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            c4d1         ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            c2d0         ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;errors: No known data errors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  pool: xenophanes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; state: ONLINE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; scrub: none requested&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;config:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        NAME        STATE     READ WRITE CKSUM&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        xenophanes  ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          c3d0      ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;errors: No known data errors&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;as you can see, heraclitus is degraded, but operational.&lt;br /&gt;&lt;br /&gt;so, we can just create our filesystems and copy data over&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# zfs create heraclitus/home &amp;amp;&amp;amp; zfs create heraclitus/opt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# cd /xenophanes/home &amp;amp;&amp;amp; cp -@Rp * /heraclitus/home/ &amp;amp;&amp;amp; cd /xenophanes/opt &amp;amp;&amp;amp; cp -@Rp * /heraclitus/opt &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and go have a cup of coffee or 12. When that's complete, we destroy the old pool&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# zpool destroy xenophanes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and replace the lofi disk with the old zpool's disk&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# zpool replace heraclitus /dev/lofi/1 c3d0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and there you have it. a 3-disk raidz out of a 2-disk mirror. No data juggling, tape drives, or extra disks necessary&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8698861949790935594?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8698861949790935594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8698861949790935594' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8698861949790935594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8698861949790935594'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2008/01/how-to-turn-mirror-in-to-raid.html' title='How to turn a mirror in to a RAID'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-9095303104423333751</id><published>2007-12-11T13:09:00.000-08:00</published><updated>2007-12-11T13:25:37.034-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='dtrace'/><title type='text'>KDE &amp; DTrace</title><content type='html'>&lt;span style="font-family:georgia;"&gt;At the moment I'm looking at adding dtrace probes to  &lt;a href="http://incubator.apache.org/stdcxx"&gt;Apache/RogueWave's libstdcxx&lt;/a&gt; ( the C++ standard library) and I'm coming up against a couple hurdles, not least of which is the requirement for C++ name mangling.&lt;br /&gt;&lt;br /&gt;C++ implements templates, namespaces, function overloading, inheritance and a myriad of other things that make plaintext names for functions unfeasible.  So, in order to properly probe a function, we can't use the standard provider:module:function:probe naming scheme ( since the function will be something meaningless like&lt;/span&gt; &lt;span style=";font-family:courier new;font-size:85%;"  &gt;__1cEswap4Ci_6FrTA1_v_&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;for a function named 'swap'&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;My current thought is&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-family:georgia;"&gt;that, since the function name is meaningless, perhaps we ought to exploit the probe names.&lt;br /&gt;&lt;br /&gt;Talking with Damian on irc, we came up with a naming scheme for our probes that looks something like this:&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;namespace_[class, if any]_function_&lt;argtype,&gt;_probename&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:georgia;font-size:100%;"  &gt;So a function like &lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;template&gt; swap ( T&amp;amp; , T&amp;amp; )&lt;/template&gt;&lt;/span&gt; will have a probe named 'entry' that looks something like &lt;span style=";font-family:courier new;font-size:85%;"  &gt;global-swap-TT-TT-entry&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The other option is to pretend the problem doesn't exist, use the fbt provider as normal, and pipe dtrace -l through c++filt but I don't really like that.&lt;br /&gt;&lt;/span&gt;&lt;/argtype,&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-9095303104423333751?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/9095303104423333751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=9095303104423333751' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/9095303104423333751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/9095303104423333751'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/12/kde-dtrace.html' title='KDE &amp; DTrace'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-317188819242534534</id><published>2007-11-01T14:08:00.000-07:00</published><updated>2007-11-01T14:24:54.728-07:00</updated><title type='text'>Indiana</title><content type='html'>&lt;span style="font-size:100%;"&gt;The proverbial cat is out of the bag now, and the Indiana project has released something.&lt;br /&gt;&lt;br /&gt;I downloaded it last night and installed it in Fusion and Parallels. The installer is still pretty braindead, but I'm sure it'll improve to have options eventually. It is alpha after all.&lt;br /&gt;&lt;br /&gt;I ran in to a weird bug where I haven't managed to coerce it in to letting me log in, so aside from that I haven't had a chance to fiddle enough to pass judgement on it.&lt;br /&gt;&lt;br /&gt;It unfortunately had to come with what I perceive to be a slap in the face to the OpenSolaris community, when it was pronounced from on high that it shall be called OpenSolaris to the exclusion of all others.&lt;br /&gt;&lt;br /&gt;This really gets my goat, so to speak&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-size:78%;"&gt;(I'm rocking the animal metaphors today I guess)&lt;/span&gt; &lt;span style="font-size:100%;"&gt;I don't particularly agree with the name change to begin with. I think OpenSolaris can exist as a noun in and of itself much as Linux does today, or as Joerg put it, like a screwdriver that you build things with, and not a particular screwdriver.&lt;br /&gt;&lt;br /&gt;Ian's ranting about being confused how to download "OpenSolaris" notwithstanding (it being nothing but pure rhetoric to serve a purpose anyways), I think the target audience is intelligent and well-accustomed to the idea of distributions by now that calling OpenSolaris a codebase and nothing more isn't a real issue.&lt;br /&gt;&lt;br /&gt;The slap in the face part comes primarily from the way that the name was chosen. Had there been a vote which suggested that Indiana be called OpenSolaris, then fine, fair enough. In this case however, the name came from executive fiat from Murdock quite aside from how the community feels about the issue.&lt;br /&gt;&lt;br /&gt;Fortunately the OGB seems to have collectively grown a pair (individual members have been outspoken already. They're good.) and seem to be seriously discussing condemning this action by Murdock and the rest of the marketing crew and imploring Sun to hold a vote on the matter, which is something I support 100%.&lt;br /&gt;&lt;br /&gt;So, in conclusion&lt;br /&gt;Congrats to the indiana team for pushing something out the door. The marketing team's actions aren't your fault.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-317188819242534534?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/317188819242534534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=317188819242534534' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/317188819242534534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/317188819242534534'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/11/indiana.html' title='Indiana'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-1638826102862778771</id><published>2007-10-26T22:38:00.001-07:00</published><updated>2007-10-26T23:15:12.139-07:00</updated><title type='text'>Large cats, ZFS and you</title><content type='html'>Like many, I got my copy of OSX 10.5 "Leopard" today to install on my MacBook. The upgrade went relatively smoothly and I was presented with the new UI in all it's flashy glory.&lt;br /&gt;&lt;br /&gt;After doing the standard explorations: Coverflow in my images/ folder, new Mail.app. OSX supports ACL's now, that makes me pretty happy. Then, I decided to start playing with the OpenSolaris-derived features.&lt;br /&gt;&lt;br /&gt;Dtrace. works like a charm. Colloquy spends an inordinate amount of time in &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;syscall::read&lt;/span&gt;&lt;/span&gt;. A lot of Mac apps don't use &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;syscall:::&lt;/span&gt;&lt;/span&gt;, that's interesting to note but not terribly surprising considering the way XNU is designed.&lt;br /&gt;&lt;br /&gt;ZFS. Now, the version of ZFS that ships with OSX is read-only. My server, an Athlon64, and my workstation, a Blade1000 run SX:CE b74.&lt;br /&gt;&lt;br /&gt;So, I pull out my USB stick, put it in the SPARC, and turn it in to a zpool named 'test'. export.&lt;br /&gt;Put it in my MacBook. &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;  $ sudo zfs import -a&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The ZFS version is too new. OSX can't import it.&lt;br /&gt;&lt;br /&gt;So I decide "what the hell..." and I log in to my ADC account, download the read/write beta of ZFS from Apple. Install it. Reboot. Put the USB stick in.&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;  $ sudo zfs create newpool disk1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;'newpool' shows up on my desktop. So far, so good. &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;  $ sudo zfs create newpool/test&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;still good so far. I copy a small image over to the new pool, it does what you'd expect. So I unmount the volume. Won't unmount because it contains other volumes. that's silly, but okay... it's a beta and OSX doesn't really grok ZFS yet. Fire up Terminal.app again&lt;br /&gt;  $ sudo zpool export -f newpool&lt;br /&gt;no dice, dataset busy. unmount it's mountpoint then. Try again. No feedback, it must've worked.&lt;br /&gt;yank the USB key. The Mac gives me the multilingual kernel panic window ( it's not a blue screen, that means it's better than Windows, right? ). Whatever.&lt;br /&gt;I plug the key in to my Blade1k and run a&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# zpool import -a&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I/O error reading dataset 'test'. Kernel Panic. That's interesting... shouldn't the old dataset been destroyed when the new dataset took the device over?&lt;br /&gt;&lt;br /&gt;So, I bring it back over to the Mac and run disk util, maybe I can just destroy the EFI partition table and try again from scratch. Disk util somehow mounts 'test' to my desktop and sits there spinning forever. I can't unmount test at all because it's in use. Force Quit Disk Utility. Nothing. kill -9 it. Nothing.&lt;br /&gt;   &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$ sudo &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;umount -f /Volumes/test&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;could not unmount. yank the drive. kernel panic.&lt;br /&gt;&lt;br /&gt;At about this point I decide that my best course of action with respect to this USB key is to find a machine that doesn't support ZFS and format it there, and give up trying to coax OSX to behave like Solaris.&lt;br /&gt;&lt;br /&gt;Casualties: one USB key.&lt;br /&gt;Conclusion: When Apple says "beta", they mean it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-1638826102862778771?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/1638826102862778771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=1638826102862778771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/1638826102862778771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/1638826102862778771'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/10/large-cats-zfs-and-you.html' title='Large cats, ZFS and you'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-5934008562557205536</id><published>2007-10-18T11:40:00.001-07:00</published><updated>2007-10-18T11:41:06.890-07:00</updated><title type='text'>Aftermath</title><content type='html'>I appear to have caught some sort of nasty California virus on the airplane back that's left me quite incapacitated.&lt;br /&gt;&lt;br /&gt;I've managed to wake up this morning, but that's about the extent of my ability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-5934008562557205536?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/5934008562557205536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=5934008562557205536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/5934008562557205536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/5934008562557205536'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/10/aftermath.html' title='Aftermath'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8004304000383983363</id><published>2007-10-14T19:45:00.000-07:00</published><updated>2007-10-14T19:54:42.489-07:00</updated><title type='text'>Developer Summit: Day 2</title><content type='html'>Day 2 went well, with the exception of the naming&amp;branding discussion which ended up a little bit heated. Garrett did a GLDv3 conversion talk &amp; there was a talk on moving core Sun processes such as ARC out in the open, streamlining them, etc. &lt;br /&gt;&lt;br /&gt;It felt a bit short today. I'm not sure why, because we didn't get out that much earlier, but it did. Not to say today was entirely unproductive though, because it wasn't. &lt;br /&gt;&lt;br /&gt;I think overall, this weekend was a good thing. Whether or not decisions were made that wouldn't have otherwise been is irrelevant, I think it was a fantastic idea to get everyone in the same place at the same time so that the community could all meet each other face to face.&lt;br /&gt;&lt;br /&gt;I know I for one learned a lot, and I imagine others found some useful information to take out of the conference. It's also done a lot to dispell some of my fears with respect to Project Indiana.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8004304000383983363?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8004304000383983363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8004304000383983363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8004304000383983363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8004304000383983363'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/10/developer-summit-day-2.html' title='Developer Summit: Day 2'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8306162823238388297</id><published>2007-10-13T22:27:00.000-07:00</published><updated>2007-10-13T22:33:40.772-07:00</updated><title type='text'>Dev Summit. Day 1</title><content type='html'>Today was the first day of the developer summit &amp; I think it went over fantastic. Jesse, Sara, Glynn and the rest of them have done a fantastic job organizing the thing. &lt;br /&gt;Stephen Hahn's presentation on the packaging system was quite informative and did a lot to calm some of my fears of the chaos of network install. After that I left the main presentation room in favour of seeing Garrett's presentation on fixing a driver to include suspend/resume funcionality, which was great, and then proceeded to Sun Labs' room to plan out the next course of action for the PowerPC port.&lt;br /&gt;I'll organize some notes later &amp; publish them&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8306162823238388297?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8306162823238388297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8306162823238388297' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8306162823238388297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8306162823238388297'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/10/dev-summit-day-1.html' title='Dev Summit. Day 1'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-530968570717284389</id><published>2007-10-12T07:55:00.001-07:00</published><updated>2007-10-12T08:03:32.409-07:00</updated><title type='text'>Early morning Chaos time</title><content type='html'>I'm sitting on the incredibly overpriced wifi at YXS. I should be on an aircraft headed to YVR, but the airport shuttle heard "7am" instead of "6am".&lt;br /&gt;&lt;br /&gt;Sara was an awesome help, so my flight was changed around and instead of YXS-&gt;YVR-&gt;LAX-&gt;SJC I'll be flying straight from Vancouver to SFO and meet someone at the Sun Menlo Park offices.&lt;br /&gt;&lt;br /&gt;Dealing with problems at this hour is never fun. Thank you so much guys...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-530968570717284389?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/530968570717284389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=530968570717284389' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/530968570717284389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/530968570717284389'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/10/early-morning-chaos-time.html' title='Early morning Chaos time'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-7920450933205505805</id><published>2007-10-06T01:06:00.000-07:00</published><updated>2007-10-06T01:09:42.578-07:00</updated><title type='text'>Closer and closer</title><content type='html'>nightly(1) now successfully compiles through my code on x86.&lt;br /&gt;&lt;br /&gt;It dies with the linker now, which is a vast improvement over the previous situation.&lt;br /&gt;&lt;br /&gt;I want this done, debugged &amp; integrated or at least the ARC process started by Christmas, if only to be able to give it as an xmas present to OpenSolaris.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-7920450933205505805?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/7920450933205505805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=7920450933205505805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/7920450933205505805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/7920450933205505805'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/10/closer-and-closer.html' title='Closer and closer'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-3352820200511927789</id><published>2007-10-04T12:44:00.000-07:00</published><updated>2007-10-04T12:50:49.379-07:00</updated><title type='text'>Status, conferences and the likes</title><content type='html'>So, In case anyone was curious, nightly manages to build most of emancipation-gate's libc, but I've been monkeying around with it because evidently O/N demands warning free code, and that's causing my code to not build. Lots of it comes from FreeBSD where they use gcc, for one, and are less strict about the build throwing warnings (especially in the regex stuff)&lt;br /&gt;&lt;br /&gt;That out of the way, I'm excited to be going to the OSol Dev Summit next week, particularly in light of the recent thread on the mailing list which seems to imply a bunch of us want to break off from the packaging/install/community stuff in favour of more hard technical discussions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-3352820200511927789?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/3352820200511927789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=3352820200511927789' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/3352820200511927789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/3352820200511927789'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/10/status-conferences-and-likes.html' title='Status, conferences and the likes'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-7823892698610521174</id><published>2007-09-26T11:39:00.000-07:00</published><updated>2007-09-26T11:46:00.452-07:00</updated><title type='text'>It's been a while</title><content type='html'>I know it's been a while since I've updated (or really done anything for that matter), but the school year started so it's been a bit hectic.&lt;br /&gt;&lt;br /&gt;Good news though is that I'm no longer building code in a sandbox with ksh for loops, packing it up as libc_i18n, and putting it in place of the old code; Now I've got my code shoved inside an O/N fork, and ON attempts to build it. Emancipation has a new repo at &lt;i&gt;hg.opensolaris.org/hg/emancipation/emancipation-gate&lt;/i&gt; if anyone wants to check it out. One caveat though is that this is a full ON tree, so it'll be quite large. &lt;br /&gt;&lt;br /&gt;It's not building at the moment, and I'm not sure why, but since I just coaxed make(1) in to even trying last night at about 2am, I'll figgure it out and fix it. It's probably just something stupid anyways.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-7823892698610521174?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/7823892698610521174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=7823892698610521174' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/7823892698610521174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/7823892698610521174'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/09/its-been-while.html' title='It&apos;s been a while'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-5435647510498481780</id><published>2007-09-04T18:53:00.000-07:00</published><updated>2007-09-04T18:59:35.789-07:00</updated><title type='text'>And, after a week off</title><content type='html'>I took the last week off because I'm no longer time constrained &amp; it's nice to take a break every once in a while. &lt;br /&gt;&lt;br /&gt;last night, I removed a chunk of the GCC-isms that were preventing my code from compiling with studio and removed them ( __inline and __restrict were the main culprits ), so now it ought to work with both compilers, given gcc is passed the correct flags to comply with the standards in question. The code's in the Mercurial repo.&lt;br /&gt;&lt;br /&gt;I was going to try to get it to link in this week, but it occured to me that it'd probably be a much better plan to shove it in an ON branch, so I think I'm going to play with makefiles for a while &amp; remove the stupid compile step i've got going on right now. &lt;br /&gt;&lt;br /&gt;cheers&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-5435647510498481780?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/5435647510498481780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=5435647510498481780' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/5435647510498481780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/5435647510498481780'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/09/and-after-week-off.html' title='And, after a week off'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-2195999391005480655</id><published>2007-08-26T10:52:00.000-07:00</published><updated>2007-08-26T11:00:32.245-07:00</updated><title type='text'>Repo?</title><content type='html'>I've had a number of people ask me about where exactly to find the code so far.&lt;br /&gt;&lt;br /&gt;As of this morning some time, I migrated my code from cr.opensolaris.org over to the &lt;a href="http://www.opensolaris.org/os/project/emancipation/"&gt;Project Emancipation&lt;/a&gt; Mercurial repo. &lt;br /&gt;&lt;br /&gt;You can create a local clone with Mercurial. If you haven't ever done this before, do this:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;$ hg clone ssh://anon@opensolaris.org/hg/emancipation/libc_i18n &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;and you'll have a local copy of the code&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-2195999391005480655?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/2195999391005480655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=2195999391005480655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/2195999391005480655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/2195999391005480655'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/08/repo.html' title='Repo?'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8157777458464535634</id><published>2007-08-20T10:38:00.000-07:00</published><updated>2007-08-20T10:43:22.432-07:00</updated><title type='text'>End of GSoC, but not of emancipation</title><content type='html'>Well, so it's the 20th. Which means, as of noon today, PST none of the work I'm doing counts towards the Summer of Code.&lt;br /&gt;&lt;br /&gt;I've got my code building, although it still won't link completely with libc. The linker doesn't see fit to recognize that I do, in fact, have getwc() and friends in an object file. &lt;br /&gt;&lt;br /&gt;Regardless, I'm not going to be satisfied until this code integrates with OpenSolaris, so the end of Summer of Code really doesn't mean that much.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8157777458464535634?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8157777458464535634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8157777458464535634' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8157777458464535634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8157777458464535634'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/08/end-of-gsoc-but-not-of-emancipation.html' title='End of GSoC, but not of emancipation'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-3667772671927535536</id><published>2007-08-09T10:54:00.000-07:00</published><updated>2007-08-09T11:10:54.274-07:00</updated><title type='text'>new Toys &amp; Progress</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_nkpfGMQG5hA/RrtVYTchJNI/AAAAAAAAAAM/SbJK_p_ITuU/s1600-h/DSCF0357.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_nkpfGMQG5hA/RrtVYTchJNI/AAAAAAAAAAM/SbJK_p_ITuU/s320/DSCF0357.JPG" alt="" id="BLOGGER_PHOTO_ID_5096761279324955858" border="0" /&gt;&lt;/a&gt;I got this machine on account of I need to break libc in fabulous ways &amp; I need to make sure that it works on both Solaris platforms.&lt;br /&gt;&lt;br /&gt;Tons of thanks to everyone that helped me find some &lt;a href="http://www.opensparc.net/"&gt;SPARC&lt;/a&gt; kit to break!&lt;br /&gt;&lt;br /&gt;As for progress, I tried to build my code in to &lt;a href="http://www.opensolaris.org/os/community/on/"&gt;O/N&lt;/a&gt; last night &amp;amp; it failed on symbol duplication errors, which is about the best error I could've gotten from the build.&lt;br /&gt;&lt;br /&gt;I'm going to resolve that &amp;amp; see if I can't get a build of O/N that at least compiles with my code in it by Monday, and move on to testing from there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-3667772671927535536?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/3667772671927535536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=3667772671927535536' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/3667772671927535536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/3667772671927535536'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/08/new-toys-progress.html' title='new Toys &amp; Progress'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_nkpfGMQG5hA/RrtVYTchJNI/AAAAAAAAAAM/SbJK_p_ITuU/s72-c/DSCF0357.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-7515702456872908401</id><published>2007-08-06T09:26:00.000-07:00</published><updated>2007-08-06T09:29:51.835-07:00</updated><title type='text'>Almost...</title><content type='html'>I spent the last week visiting family in Vancouver, so I didn't do anything last week.&lt;br /&gt;&lt;br /&gt;Regardless, with the exception of some private functions that I don't see in use anywhere, I think I'm pretty much done the initial coding.&lt;br /&gt;&lt;br /&gt;Now I just need to force it in to libc and put together a workstation to break for testing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-7515702456872908401?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/7515702456872908401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=7515702456872908401' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/7515702456872908401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/7515702456872908401'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/08/almost.html' title='Almost...'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8637343333221525969</id><published>2007-07-26T02:11:00.001-07:00</published><updated>2007-07-26T02:20:45.706-07:00</updated><title type='text'>Mid-program Update</title><content type='html'>So, it seems my updates are getting less frequent as time goes on, but I'm sure that if you graphed it logarithmically, it'd still look somewhat linear at first glance ;)&lt;br /&gt;&lt;br /&gt;Anyhow, The middle of the program has come and gone this week, I've gotten the midterm payment from Google and here's where I stand at the moment:&lt;br /&gt;&lt;br /&gt;Most of the functions in my list are complete, with the exception of date/time stuff, which I'll work on next week. I finished off getwc/setwc and friends this week.&lt;br /&gt;&lt;br /&gt;The subsequent week ( or next week, we'll see how things go ) I'll be shoving my libc_i18n.a in place of the one shipped with closed_bins and seeing what happens. Hopefully it won't blow up in my face, but that's what testing hardware is for.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8637343333221525969?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8637343333221525969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8637343333221525969' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8637343333221525969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8637343333221525969'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/07/mid-program-update.html' title='Mid-program Update'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-5592878165607356944</id><published>2007-07-04T13:50:00.000-07:00</published><updated>2007-07-04T14:03:02.230-07:00</updated><title type='text'>Halfway there...</title><content type='html'>It's the 4th of July today, which means happy birthday America to everyone in the country to my immediate south.&lt;br /&gt;&lt;br /&gt;It also means that mid-term evaluations for the Summer of Code begin in two days.&lt;br /&gt;&lt;br /&gt;Here's my own personal evaluation of myself:&lt;br /&gt;&lt;br /&gt;I've got well over 3/4 of the major function groups done ( "function groups" meaning collate, regex, get/set characters/lines, binary is(alpha | number | English | punctuation ), etc ) and compiling cleanly, with some minor testing (albeit not on edge cases) completing successfully. I have a printout of libc_i18n.a's &lt;a href="http://bama.ua.edu/cgi-bin/man-cgi?elfdump+1"&gt;elfdump(1)&lt;/a&gt;  symbol table output that I've been crossing off with a &lt;a href="http://www.sharpie.com/enUS/Home/default.html"&gt;Sharpie&lt;/a&gt;, and it's getting more and more black by the day.&lt;br /&gt;&lt;br /&gt;I feel as though I can complete the coding in the next few weeks, spend the remainder of the program testing &amp;amp; doing the minor tweaking required, and then work on integrating the code to the main Solaris tree ( which, as I understand it, is not necessary for the Summer of Code, so I didn't budget time for it )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-5592878165607356944?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/5592878165607356944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=5592878165607356944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/5592878165607356944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/5592878165607356944'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/07/halfway-there.html' title='Halfway there...'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-6084662578659918295</id><published>2007-06-22T11:54:00.001-07:00</published><updated>2007-06-22T11:56:06.151-07:00</updated><title type='text'>hmm....</title><content type='html'>I think I got strcoll &amp;amp; friends working this week...&lt;br /&gt;&lt;br /&gt;It just loops through the string comparing each character and returning 1 or -1 if they're different as per the manpage, but I dunno, it seems like it should be more complex than that&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-6084662578659918295?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/6084662578659918295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=6084662578659918295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/6084662578659918295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/6084662578659918295'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/06/hmm.html' title='hmm....'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-3094628280826915232</id><published>2007-06-15T23:31:00.000-07:00</published><updated>2007-06-15T23:40:51.412-07:00</updated><title type='text'>weekly report</title><content type='html'>All the low-lying fruit is done, as it turns out I could steal most of the EUC stuff from FreeBSD too. Still no idea what the "dense" functions are for ( obviously something densely packed ) but I'll keep looking...&lt;br /&gt;&lt;br /&gt;What I have left are things like collate, which I plan to work on this weekend and a week or two afterwards, then regexes  (how would you properly pluralize that anyways? ) for a little bit, then getwc &amp; putwc and friends, and then I should be more or less done, save for shoehorning it in to the current Solaris framework and making sure it all works properly.&lt;br /&gt;&lt;br /&gt;Perhaps a bit optimistic with the "I've &lt;span style="font-style: italic;"&gt;only&lt;/span&gt; got to do..." type language, but I'm fairly confident that the project should be completed mostly on time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-3094628280826915232?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/3094628280826915232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=3094628280826915232' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/3094628280826915232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/3094628280826915232'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/06/weekly-report.html' title='weekly report'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-4040319801705669974</id><published>2007-06-02T21:06:00.000-07:00</published><updated>2007-06-02T21:08:27.988-07:00</updated><title type='text'>Beginning of program update</title><content type='html'>So, the Summer of Code program has now officially begun ( didn't stop me from writing stuff before then, but there have you ).&lt;br /&gt;&lt;br /&gt;I've written a couple more functions &amp;amp; I've been testing stuff as I go along, no real exciting breakthroughs or any such thing. Things seem to be working more or less as expected ( though changing locales just explodes in a fire of glory )&lt;br /&gt;&lt;br /&gt;Cheers&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-4040319801705669974?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/4040319801705669974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=4040319801705669974' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/4040319801705669974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/4040319801705669974'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/06/beginning-of-program-update.html' title='Beginning of program update'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8348317077133424915</id><published>2007-05-19T03:42:00.000-07:00</published><updated>2007-05-19T03:50:38.821-07:00</updated><title type='text'>growing...</title><content type='html'>I've successfully migrated FreeBSD's internationalization code outside of their tree, and I went to do a symbol count today ( from elfdump(1)'s symbol table ).&lt;br /&gt;&lt;br /&gt;I've got 269 defined symbols, libc_i18n.a has 287. Given, FreeBSD has a bunch of functions for fiddling with their "rune" data structure, so as a progress bar the number comparison is more or less useless, I just found it mildly interesting&lt;br /&gt;&lt;br /&gt;Unfortunately it all depends on gcc at the moment, and I'd like to get it cleaned up to compile with &lt;a href="http://developers.sun.com/sunstudio/"&gt;SUNWspro&lt;/a&gt;, but a Studio cleanup is at the bottom of the queue for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8348317077133424915?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8348317077133424915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8348317077133424915' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8348317077133424915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8348317077133424915'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/05/growing.html' title='growing...'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-9169333235105540020</id><published>2007-05-05T15:16:00.000-07:00</published><updated>2007-05-05T15:24:19.626-07:00</updated><title type='text'>Weekly Status</title><content type='html'>So, I figure it's Saturday, and I should probably make an update as to my progress thus far.&lt;br /&gt;&lt;br /&gt;I've got all of FreeBSD's libc/locale subsystem compiling outside of the fBSD tree with the exception of localeconv.c, nl_langinfo.c &amp;amp; setlocale.c which I will finish for tonight or tomorrow evening most likely.&lt;br /&gt;&lt;br /&gt;That was all mostly just a bunch of boring monkey work, but it'll make work later a lot easier. I've also been pondering about the best way to link together these objects as something I can encapsulate within a larger library that'll export the symbols I actually need (my linker-foo is weak).&lt;br /&gt;&lt;br /&gt;I also need to inform myself about a way to convert the locale on-disk format that Solaris uses in to something that these fBSD functions expect. Since I'm almost certainly not allowed to break things, I'm thinking it'll have to be a runtime conversion with some wrapper functions. Given, I haven't looked too far in to things, so I may be completely off-base with what I need to do here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-9169333235105540020?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/9169333235105540020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=9169333235105540020' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/9169333235105540020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/9169333235105540020'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/05/weekly-status.html' title='Weekly Status'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8889855629716392405</id><published>2007-04-26T17:41:00.000-07:00</published><updated>2007-04-26T18:42:26.716-07:00</updated><title type='text'>first compile</title><content type='html'>Like I mentioned in an &lt;a href="http://i18n-freedom.blogspot.com/2007/04/bsd-for-win.html"&gt;earlier post&lt;/a&gt;, I've found FreeBSD's source to contain piles of eminently useful code.&lt;br /&gt;&lt;br /&gt;I'm slowly starting to migrate &lt;a href="http://www.freebsd.org/"&gt;fBSD&lt;/a&gt;'s locale stuff to a standalone repo, and I've got a couple files to compile without error.&lt;br /&gt;&lt;br /&gt;Whether they work or not is a different story, and I would be surprised if they did to be honest, but it &lt;span style="font-style: italic;"&gt;is&lt;/span&gt; a start.&lt;br /&gt;&lt;br /&gt;At this point I'm thinking that the best course of action is getting the proverbial square peg of fBSD's locale subsystem working on it's own, and writing wrappers to fit it in to &lt;a href="http://www.opensolaris.org/"&gt;Solaris&lt;/a&gt;' similarly proverbial round hole with proper type mangling first, and when that's working, move on to the rest of the libc_i18n functions that FreeBSD doesn't implement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8889855629716392405?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8889855629716392405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8889855629716392405' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8889855629716392405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8889855629716392405'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/04/first-compile.html' title='first compile'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-9213439027737363733</id><published>2007-04-22T16:12:00.000-07:00</published><updated>2007-04-22T17:32:00.296-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opengrok'/><category scheme='http://www.blogger.com/atom/ns#' term='opensolaris'/><category scheme='http://www.blogger.com/atom/ns#' term='bsd'/><title type='text'>BSD for the win</title><content type='html'>Dear &lt;a href="http://www.opensolaris.org/os/project/opengrok/"&gt;OpenGrok&lt;/a&gt; group:&lt;br /&gt;&lt;br /&gt;Thank you.&lt;br /&gt;&lt;br /&gt;I set up an &lt;a href="http://www.opensolaris.org/os/project/opengrok/"&gt;OpenGrok&lt;/a&gt; instance on my home machine that indexes &lt;a href="http://www.netbsd.org"&gt;NetBSD&lt;/a&gt; &amp;amp; &lt;a href="http://www.freebsd.org"&gt;FreeBSD&lt;/a&gt;, and started searching.&lt;br /&gt;&lt;br /&gt;As it turns out, there's a lot in there that I can take, at least as a basic framework anyways, and modify to fit Solaris' locale formats&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-9213439027737363733?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/9213439027737363733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=9213439027737363733' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/9213439027737363733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/9213439027737363733'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/04/bsd-for-win.html' title='BSD for the win'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-2462774462981137577</id><published>2007-04-20T20:26:00.000-07:00</published><updated>2007-04-20T20:30:56.641-07:00</updated><title type='text'>minus one distraction</title><content type='html'>I had my last final exam today, and studying for exams was mostly what's been slowing me down.&lt;br /&gt;&lt;br /&gt;Now that that's over with, I should be able to work far more regularly. I still have work to contend with (since at the end of the summer I'll still need a job, so I can't just quit), but that shouldn't take up the bulk of my time, and I can be pretty good about asking for less hours if it does start to interfere.&lt;br /&gt;&lt;br /&gt;I took a look at NetBSD &amp;amp; FreeBSD's sources for implementation details, and they both look fairly promising. I should theoretically be able to pull a bunch of code out of there.&lt;br /&gt;&lt;br /&gt;stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-2462774462981137577?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/2462774462981137577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=2462774462981137577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/2462774462981137577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/2462774462981137577'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/04/minus-one-distraction.html' title='minus one distraction'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8692262147923827522</id><published>2007-04-16T23:19:00.000-07:00</published><updated>2007-04-16T23:23:45.247-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wcwidth'/><category scheme='http://www.blogger.com/atom/ns#' term='wctype'/><title type='text'>Progress</title><content type='html'>I started actual coding work today, I seem to work better when I sequester myself in to little cubicals in the library ( did I just actually say I like cubicals? ).&lt;br /&gt;&lt;br /&gt;wcwidth() is now complete (minus testing) and wtype() is nearly finished (whenever I discover /createthe correct enums), which isn't much but it's a start, and wtype() leads to a whole bunch of other functions ( isalpha(), for example )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8692262147923827522?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8692262147923827522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8692262147923827522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8692262147923827522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8692262147923827522'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/04/progress.html' title='Progress'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2876710100609274663.post-8180405008797945501</id><published>2007-04-15T16:11:00.000-07:00</published><updated>2007-04-15T16:20:22.951-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internationalization'/><category scheme='http://www.blogger.com/atom/ns#' term='opensolaris'/><category scheme='http://www.blogger.com/atom/ns#' term='summerofcode'/><title type='text'>Accepted!</title><content type='html'>So, I've created this blog because I was accepted to participate in Google's Summer of Code program, which is awesome!&lt;br /&gt;&lt;br /&gt;The project I'll be working on is to re-implement OpenSolaris' internationalization functions that are in closed_bins at the moment, meaning they're not open-source.&lt;br /&gt;&lt;br /&gt;The reason I chose this project is because one, I believe in (Open)Solaris, I think it's an unbeatable platform, and two, because I believe in open-source.&lt;br /&gt; I think OpenSolaris will really begin to take off when it no longer relies on Sun Micro. to build. As great a company as they are, I can see how people can get scared off by the fact that there are still closed binary components and you can't really build an OSol distribution without the bi-weekly closed binaries.&lt;br /&gt;&lt;br /&gt;I'm not hip to this whole blogging thing, but I'll try to remember to write an entry fairly regularly through the summer, to sort of document the whole experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2876710100609274663-8180405008797945501?l=i18n-freedom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i18n-freedom.blogspot.com/feeds/8180405008797945501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2876710100609274663&amp;postID=8180405008797945501' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8180405008797945501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2876710100609274663/posts/default/8180405008797945501'/><link rel='alternate' type='text/html' href='http://i18n-freedom.blogspot.com/2007/04/accepted.html' title='Accepted!'/><author><name>JohnS</name><uri>http://www.blogger.com/profile/14831368696078785597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
