<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
  <title>tech addict</title>
  <subtitle>mark guzman's random musings</subtitle>
  <link href="http://hasno.info//" rel="self" />
  <link href="http://hasno.info/" />
  <updated>2012-08-26T20:50:15-04:00</updated>
  <author>
    <name>Mark Guzman</name>
    <email>pub@hasno.info</email>
  </author>
  <id>http://hasno.info/</id>
  
  <entry>
    <title>ejabberd cluster odbc sql_pool error fix</title>
    <link href="/ejabberd_cluster_odbc_sql_pool" />
    <id>tag:hasno.info,2010-11-06:1289019410</id>
    <updated>2010-11-06T00:56:50-04:00</updated>
    <content type="html">&lt;p&gt;I&amp;rsquo;ve been experimenting with ejabberd as an xmpp server and so far it&amp;rsquo;s been great with one glaring caveat. When I attempted to
cluster multiple nodes using odbc authentication I encountered an error on the non-master nodes along these lines:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;E(&amp;lt;0.38.0&amp;gt;:ejabberd_rdbms:67) : Start of supervisor 'ejabberd_odbc_sup_jabber.taco' failed: 
{error,{{'EXIT',{badarg,[{ets,delete,[sql_pool,&quot;xmpp.taco.com&quot;]},
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A quick google returned no major help. It seems that the normal cluster setup procedure does not create/copy a required table, the sql_pool table.
To fix this you need to start the erlang repl and run: &lt;code&gt;mnesia:add_table_copy(sql_pool, node(), ram_copies).&lt;/code&gt;
After that&amp;rsquo;s complete, odbc should start and the node should be fully functional. Good luck, ymmv.&lt;/p&gt;

&lt;p&gt;Helpful clustering links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://rfid-ale.blogspot.com/2009/10/how-to-make-ejabberd-cluster-setup-bit.html&quot;&gt;how to make ejabberd cluster setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://tdewolf.blogspot.com/2009/07/clustering-ejabberd-nodes-using-mnesia.html&quot;&gt;clustering ejabberd nodes using mnesia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;It&amp;rsquo;s worth noting that nuking the database directory seems to be equivalent to &lt;code&gt;mnesia:delete_schema([node()]).&lt;/code&gt;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>why git talk</title>
    <link href="/why_git_talk" />
    <id>tag:hasno.info,2010-03-04:1267758170</id>
    <updated>2010-03-04T22:02:50-05:00</updated>
    <content type="html">&lt;p&gt;I recently spoke at the &lt;a href=&quot;http://fairfieldwestchester.net/&quot;&gt;Fairfield/Westchester Dot Net User Group&lt;/a&gt; about git. The slides from my talk entitled &amp;ldquo;Why Git?&amp;rdquo;
have been posted on slideshare.&lt;/p&gt;

&lt;div style=&quot;width:425px&quot; id=&quot;__ss_3352034&quot;&gt;&lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/segfault/why-git-3352034&quot; title=&quot;Why  Git&quot;&gt;Why  Git&lt;/a&gt;&lt;/strong&gt;&lt;object width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whygit-100306100201-phpapp01&amp;stripped_title=why-git-3352034&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whygit-100306100201-phpapp01&amp;stripped_title=why-git-3352034&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style=&quot;padding:5px 0 12px&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/segfault&quot;&gt;Mark Guzman&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;



</content>
  </entry>
  
  <entry>
    <title>problems hfs formatting a large 1tb+ drive</title>
    <link href="/problems-hfs-formatting-a-large-1tb-drive" />
    <id>tag:hasno.info,2009-03-01:1235896200</id>
    <updated>2009-03-01T03:30:00-05:00</updated>
    <content type="html">&lt;p&gt;I recently was lucky enough to receive a nice new 1tb external drive. I like to format my drives hfs plus when I know only macs will be using them. Unfortunately when using DiskUtility to format the drive I ran into an unspecified error. When I tried to format it using the command line tools I got the following:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;newfs_hfs: /dev/rdisk1s1: partition size not a multiple of 4K.&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Apparently you need to make sure that the partition map uses the newer guid formatting (it&amp;rsquo;s available as an option in DiskUtility). Once I re-partitioned the drive (I had to switch partition types 1 &amp;ndash;&gt; 2 &amp;ndash;&gt; 1) everything worked fine.&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>upgrading to postgresql 8.3 on gentoo</title>
    <link href="/upgrading-to-postgresql-8-3-on-gentoo" />
    <id>tag:hasno.info,2008-07-31:1217491860</id>
    <updated>2008-07-31T04:11:00-04:00</updated>
    <content type="html">&lt;p&gt;When I initially built my primary server, the latest stable postgresql package was 8.0.&amp;#215;. At this time that same tree is still marked as stable. I&amp;#8217;m sure that this is largely due to the overall postgresql upgrade philosophy, which involves dumping (backing up) all your dbs and the restoring them after the upgrade. Since that isn&amp;#8217;t a seamless process, I&amp;#8217;m sure they want an upgrade to be a conscious decision. That being said, the current upgrade path involves switching from the &lt;code&gt;dev-db/postgresql&lt;/code&gt; package to the &lt;code&gt;dev-db/postgresql-base&lt;/code&gt;/&lt;code&gt;dev-db/postgresql-server&lt;/code&gt; packages.&lt;/p&gt;&lt;p&gt;Many thanks to &lt;a href=&quot;http://twitter.com/dberkholz&quot;&gt;@dberkholz&lt;/a&gt; for pointing me at the package &lt;a href=&quot;http://dev-zero.ch/blog/archives/6-PostgreSQL-Status.html&quot;&gt;maintainer&amp;#8217;s blog&lt;/a&gt; (which doesn&amp;#8217;t come up when searching google due to the large number of portage search/info listings). Here&amp;#8217;s what I ended up doing:&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;&lt;code&gt;pg_dumpall &amp;amp;gt; /tmp/please_work.dump&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/init.d/postgresql stop &amp;amp;amp;&amp;amp;amp; emerge unmerge libpq postgres&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;pre&amp;gt;
echo &quot;dev-db/postgresql-base ~amd64&quot; &amp;gt;&amp;gt; /etc/portage/package.keywords
echo &quot;dev-db/postgresql-server ~amd64&quot; &amp;gt;&amp;gt; /etc/portage/package.keywords
echo &quot;virtual/postgresql-server ~amd64&quot; &amp;gt;&amp;gt; /etc/portage/package.keywords
echo &quot;virtual/postgresql-base ~amd64&quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&amp;lt;/pre&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;emerge -uD postgresql-base postgresql-server&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;emerge --config &amp;amp;quot;=dev-db/postgresql-server-8.3.3&amp;amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rc-update add postgresql-8.3 default&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now here&amp;#8217;s where you get to rebuild everything that links to libpq and update postgresql.conf as needed. Once that&amp;#8217;s done you use &lt;code&gt;pg_restore&lt;/code&gt; to reload all your data. I had some grants fail, so I needed to redo them manually. So far so good, the db seems to be a bit faster and less resource hungry. I may post the rrd graphs from cacti later, but there is a noticeable difference.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>osx software suggestions</title>
    <link href="/a-developer-apple-converts-suggestions" />
    <id>tag:hasno.info,2008-07-24:1216892820</id>
    <updated>2008-07-24T05:47:00-04:00</updated>
    <content type="html">&lt;p&gt;A while back (2003) I borrowed an iBook from a friend who was looking to sell it. Since then I&amp;#8217;ve used Mac laptops for my personal development (and commercial where possible). With every major rev of the OS the common tools I use changes slightly. A few friends of mine have recently bought Apple laptops and have asked about what they should try out. Those questions have inspired this list. So without any more preface here is my list of must have apps and tools for Leopard:&lt;/p&gt;&lt;p&gt;&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/blacktree-alchemy/downloads/list&quot;&gt;Quicksilver&lt;/a&gt; &amp;#8211; my favorite launcher (think &lt;a href=&quot;http://bayden.com/SlickRun/&quot;&gt;slickrun&lt;/a&gt; but better)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://lipidity.com/plugins/quicksilver/bezel-pro/&quot;&gt;Bezel Pro&lt;/a&gt; QuickSilver interface&lt;/a&gt; &amp;#8211; Makes Quicksilver match some Leopard UI elements&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.adiumx.com/&quot;&gt;Adium&lt;/a&gt; &amp;#8211; The best chat client for OSX. Supports multiple protocols and a host of great features. Including chat encryption and logging.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://perian.org/&quot;&gt;Perian&lt;/a&gt; &amp;#8211; Effectively &lt;a href=&quot;http://sourceforge.net/projects/ffdshow&quot;&gt;ffdshow&lt;/a&gt; for OSX. Providing a large number of codecs for the native quicktime media player.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.videolan.org/vlc/&quot;&gt;VLC&lt;/a&gt; &amp;#8211; Cross platform. Plays everything media player.&lt;/li&gt;
&lt;li&gt;Developer Tools &amp;#8211; I think this is self explanatory.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.macports.org/&quot;&gt;MacPorts&lt;/a&gt; &amp;#8211; Almost every piece of free software that I use is covered by MacPorts. &lt;code&gt;sudo port install ruby&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wakaba.c3.cx/s/apps/unarchiver.html&quot;&gt;The Unarchiver&lt;/a&gt; &amp;#8211; Think &lt;a href=&quot;http://www.7-zip.org/&quot;&gt;7zip&lt;/a&gt; for osx. It&amp;#8217;s free and has handled every archive I&amp;#8217;ve thrown at it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://handbrake.fr/&quot;&gt;Handbreak&lt;/a&gt; &amp;#8211; DVD Ripper&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://aquamacs.org/&quot;&gt;Aquamacs&lt;/a&gt; &amp;#8211; Emacs gone Mac (I generally use vim, but I like to have emacs around in case I need to play sokoban.)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/macvim/&quot;&gt;MacVim&lt;/a&gt; &amp;#8211; Vim with some Mac flair&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.vmware.com/products/fusion/&quot;&gt;VMWare Fusion&lt;/a&gt; &amp;#8211; I do .net dev and cross platform testing with this. It&amp;#8217;s key and at the price point a steal. I prefer it over Parallels because the vmware player is free and the vm&amp;#8217;s are cross platform so if anything goes wrong I can just fire up my image on another machine.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rsug.itd.umich.edu/software/fugu/&quot;&gt;Fugu&lt;/a&gt; &amp;#8211; Simple and Free sftp.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.omnigroup.com/applications/OmniGraffle/&quot;&gt;OmniGraffle&lt;/a&gt; &amp;#8211; Like Visio only pretty.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.obdev.at/products/littlesnitch/index.html&quot;&gt;Little Snitch&lt;/a&gt; &amp;#8211; I like to know when my machine decides to &amp;quot;talk&amp;quot; to another one.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wakaba.c3.cx/s/apps/xee.html&quot;&gt;Xee&lt;/a&gt; &amp;#8211; A lightweight image viewer. The closest thing I could find to the windows quickview stuff. Apple Preview doesn&amp;#8217;t iterate over folders.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lachoseinteractive.net/en/community/subversion/svnx/features/&quot;&gt;svnX&lt;/a&gt; &amp;#8211; For those times when I want to use a GUI subversion client. Incidentally those times are becoming rarer and rarer, mainly due to git.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.islayer.com/index.php?op=item&amp;id=7&quot;&gt;iStat Pro&lt;/a&gt; &amp;#8211; It&amp;#8217;s nice to see system stats at a glance in dashboard&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dashalytics.rovingrob.com/&quot;&gt;Dashalytics&lt;/a&gt; &amp;#8211; I&amp;#8217;m addicted to stats.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://macromates.com/&quot;&gt;TextMate&lt;/a&gt; &amp;#8211; A very nice text editor&lt;/li&gt;
&lt;p&gt;&lt;/ul&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Most of my development is done using Vim in a terminal. Although I&amp;#8217;ve recently been using TextMate a good bit. I tend to use macports for everything, ruby and python development included. Primarily because I&amp;#8217;ve found it easy to maintain and upgrade using the macports installed versions. It&amp;#8217;s worth noting that the macport for ruby is currently &lt;strong&gt;unstable&lt;/strong&gt; in my opinion, due to their upgrading to ruby &lt;a href=&quot;http://www.robbyonrails.com/articles/2008/06/20/ruby-1-8-7-on-macports-causing-some-problems&quot;&gt;1.8.7&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;There you have it, please add your own amendments in the comments.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>subversion 1.5 and unexpected format errors with blank info</title>
    <link href="/subversion-1-5-and-unexpected-format-errors-with-blank-info" />
    <id>tag:hasno.info,2008-07-22:1216767360</id>
    <updated>2008-07-22T18:56:00-04:00</updated>
    <content type="html">&lt;p&gt;We use subversion at work, subversion 1.5 specifically. I was working on a project with a lot of externals and ran into the following error:&lt;blockquote&gt;&lt;code&gt;Unrecognized format for the relative external URL &amp;amp;#39;&amp;amp;#39 .&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;Boy is that informative. After poking around and doing all sorts of re-organization of the externals I noticed that I had a dupe. Removing the duplicate external solved the problem. Hope that helps.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>mail issue with iphone software 2.0 and jailbroken phone</title>
    <link href="/mail-issue-with-iphone-software-2-0-and-jailbroken-phone" />
    <id>tag:hasno.info,2008-07-10:1215748140</id>
    <updated>2008-07-10T23:49:00-04:00</updated>
    <content type="html">&lt;p&gt;Until a recently my phone was jailbroken, in order to run apps like Twinkle and Go. Earlier today I upgraded to the leaked 2.0 firmware. The upgrade itself went without a hitch, and everything seemed to be working. That is until I tried to start the Mail app. It immediately closed. It seemed like Mail was crashing due to permissions or settings. Here are the steps I tried that failed:&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Disabling the account&lt;/li&gt;
&lt;li&gt;Deleting the account&lt;/li&gt;
&lt;li&gt;Re-upgrading the phone&lt;/li&gt;
&lt;li&gt;Running Setting Reset on the phone&lt;/li&gt;
&lt;li&gt;Running Full Reset on the phone&lt;/li&gt;
&lt;li&gt;Attempting to downgrade to 1.1.4 (the downgrade failed every time)&lt;/li&gt;
&lt;p&gt;&lt;/ul&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Here&amp;#8217;s what worked: &lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Re-upgrade the phone. don&amp;#8217;t restore from a back up or select setup new, yet&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;open Terminal.app&lt;blockquote&gt;&lt;code&gt;&amp;lt;pre&amp;gt;
cd ~/Application Support/MobileSync/Backup
cd &amp;amp;lt;&amp;lt;strong&amp;gt;newest folder here&amp;lt;/strong&amp;gt;&amp;amp;gt;
grep Accounts *|cut -d' ' -f |xargs rm
&amp;lt;/pre&amp;gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Reconnect the phone and restore the backup you just messed with&lt;/li&gt;&lt;/p&gt;
&lt;/ul&gt;
&lt;p&gt;I am currently enjoying a fully working firmware 2.0 phone restored from that backup. I did loose my alarm clock and weather settings, but those aren&amp;#8217;t very hard to fix at all. Hope that helps.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;br/&gt;&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>git lost-found and no branch</title>
    <link href="/git-lost-found-and-no-branch" />
    <id>tag:hasno.info,2008-06-30:1214821200</id>
    <updated>2008-06-30T06:20:00-04:00</updated>
    <content type="html">&lt;p&gt;After a little hacking session and some unpleasant ruby 1.8.6 vs 1.8.7 fun, I ran into another interesting tidbit about git.
As with most powerful tools it will gladly allow you to blast your foot off. Wouldn&amp;rsquo;t ya know, my aim was well aligned with my feet a few moments ago.
&lt;code&gt;git checkout some/remote_branch&lt;/code&gt;. I thought I was switching over to a remote branch I&amp;rsquo;d created on another machine,
so that I could test and work on this other machine. Little did I know that I had entered the &lt;em&gt;&amp;quot;(no branch)&amp;quot;&lt;/em&gt; state.
At this point I was pretty much gunning to create orphaned blobs, commits and other such items. After creating a few,
I wanted to push those changes to the upstream server (github in this case) after merging them into the &lt;strong&gt;HEAD&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;After checking out the master branch, I quickly found out that my little &lt;em&gt;&amp;quot;(no branch)&amp;quot;&lt;/em&gt; wasn&amp;rsquo;t reachable. A little poking around git rendered,
&lt;code&gt;git fsck --lost-found&lt;/code&gt;, which will identify orphaned commits and entities. Once you find the commit id you can checkout the master branch again and
&lt;code&gt;git merge my-lost-commit-id-here&lt;/code&gt;.&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>FastXML 0.1.93</title>
    <link href="/fastxml-0-1-93" />
    <id>tag:hasno.info,2008-05-06:1210123440</id>
    <updated>2008-05-06T21:24:00-04:00</updated>
    <content type="html">&lt;p&gt;A long while ago I started work on a simple hpricot-like interface to &lt;a href=&quot;http://hasno.info/2007/7/26/easy-fast-ruby-libxml-interface&quot;&gt;libxml for ruby&lt;/a&gt;. I&amp;#8217;ve finally push out an initial version, and it&amp;#8217;s available on the gem servers now just &lt;code&gt;gem install fastxml&lt;/code&gt;. You can find the code on &lt;a href=&quot;http://github.com/segfault/fastxml/tree/master&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a sample of it&amp;#8217;s usage:&lt;br /&gt;
&lt;macro:code lang=&quot;ruby&quot;&gt;&lt;br /&gt;
require &amp;#8216;fastxml&amp;#8217;&lt;br /&gt;
doc = FastXml( open( &amp;#8216;test.xml&amp;#8217; ) )&lt;br /&gt;
(doc/&amp;#8220;//a&amp;#8221;).each { |a| puts a.attr[&amp;#8216;href&amp;#8217;] }&lt;/macro:code&gt;
&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a simple synthetic benchmark. We just load a simple xml file attempt to do an xpath search. It&amp;#8217;s worth noting that the regular libxml binding is very speedy, because it doesn&amp;#8217;t actually match anything. Libxml annoyingly want&amp;#8217;s all xpath queries namespace qualified, that doesn&amp;#8217;t work out well if you have no root namespace.&lt;br /&gt;
&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;
(in /Users/segfault/Devel/fastxml)&lt;br /&gt;
ruby ./benchmarks/speedtest.rb&lt;br /&gt;
                     user     system      total        real&lt;br /&gt;
fastxml.new      0.000000   0.000000   0.000000 (  0.001211)&lt;br /&gt;
fastxml.to_s     0.000000   0.000000   0.000000 (  0.000537)&lt;br /&gt;
fastxml.search   0.000000   0.000000   0.000000 (  0.000315)&lt;br /&gt;
&lt;br /&gt;
hpricot.new      0.020000   0.000000   0.020000 (  0.021583)&lt;br /&gt;
hpricot.to_s     0.000000   0.000000   0.000000 (  0.002366)&lt;br /&gt;
hpricot.search   0.000000   0.000000   0.000000 (  0.000462)&lt;br /&gt;
&lt;br /&gt;
libxml.new       0.000000   0.000000   0.000000 (  0.001274)&lt;br /&gt;
libxml.to_s      0.000000   0.000000   0.000000 (  0.000421)&lt;br /&gt;
libxml.search    0.000000   0.000000   0.000000 (  0.000175)&lt;br /&gt;
&lt;br /&gt;
REXML.new        0.020000   0.000000   0.020000 (  0.018574)&lt;br /&gt;
REXML.to_s       0.010000   0.000000   0.010000 (  0.003909)&lt;br /&gt;
REXML.xpath      0.000000   0.000000   0.000000 (  0.001838)&lt;br /&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>hardware issue weekend</title>
    <link href="/hardware-issue-weekend" />
    <id>tag:hasno.info,2008-04-15:1208242920</id>
    <updated>2008-04-15T03:02:00-04:00</updated>
    <content type="html">&lt;p&gt;This weekend I relocated myself and my servers to our temporary stomping grounds. Everything went without a hitch. Except of course for my main server, the trusty dual p3 800 machine that has hosted hasno for a long time. Luckily the drive array was not troubled by the loss of it&amp;#8217;s brainier compatriot. I picked up a nice new core2duo e6550 and mobo at a local store and had it up and running later in the day. Things are a lot speedier with current hardware. Rest in peace my 800mhz friend.&lt;/p&gt;&lt;p&gt;In addition to the server hardware troubles, my macbook&amp;#8217;s hard drive has &lt;a href=&quot;http://hasno.info/2007/9/26/lemontastic-macbook-woes&quot;&gt;yet again&lt;/a&gt;. This is my third hard drive failure. Hitatchi&amp;#8217;s 160gb sata drives are krud. The laptop itself is great, I just wish I didn&amp;#8217;t have the hard drive dying every 3-6mo. At least the server migration went through without data loss, I guess I&amp;#8217;ll just focus on the bright side of the weekend.&lt;/p&gt;&lt;p&gt;As a side note, cablevision can&amp;#8217;t and won&amp;#8217;t maintain static ip addresses through a move. So if your a business user hosting content at your office, expect longer downtime due to dns propagation and ip address setup snafus when moving. Make sure you have them unblock ports 80 and 25, since by default on all new ip setup they block them even if they were unblocked for your account previously.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>me and my git-svn</title>
    <link href="/me-and-my-git-svn" />
    <id>tag:hasno.info,2008-04-03:1207212120</id>
    <updated>2008-04-03T04:42:00-04:00</updated>
    <content type="html">&lt;p&gt;I recently switched a bunch of my projects over to git. Why? All the cool kids are doing it, I figured I&amp;#8217;d give it a shot. Either way I ran into a few bumps with the git-svn stuff. Everything went really well until I tried to push back my changes from git. I&amp;#8217;d been committing changes to my repo and pushing them to github/hasno without issue. I ran into errors when I tried to &lt;code&gt;git-svn dcommit&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s what I&amp;#8217;m currently calling the &lt;em&gt;right way&lt;/em&gt;, as usual ymmv:&lt;br /&gt;
&lt;ol&gt;&lt;br /&gt;
  &lt;li&gt;&lt;br /&gt;
   init if you haven&amp;#8217;t done i already, check .git/config for an svn-remote entry&amp;#8230;&lt;br/&gt;
   &lt;code&gt;git-svn init &amp;amp;lt;repo url&amp;amp;gt;&lt;/code&gt;  &lt;/li&gt;
&lt;li&gt;
pull the svn revision information. a bunch of info should scroll by matching svn revisions to git sha1 revisions.&lt;br/&gt;
&lt;code&gt;git-svn fetch&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
this will yeild a list of local &amp;amp; remote branches, you should see trunk in the list&lt;/br&gt;
&lt;code&gt;git branch -a&lt;/code&gt;
   &lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;
* master&lt;br /&gt;
  origin/HEAD&lt;br /&gt;
  origin/local-svn&lt;br /&gt;
  origin/master&lt;br /&gt;
  tags/release-0.1.23&lt;br /&gt;
  tags/release-0.2.42&lt;br /&gt;
  tags/release-0.2.44&lt;br /&gt;
  tags/release-0.2.50&lt;br /&gt;
  trunk&lt;br /&gt;
   &lt;/pre&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
switch to a local branch based on the trunk remote branch&lt;br/&gt;
&lt;strong&gt;afaik you really don&amp;#8217;t want to be doing any of this type of stuff in a remote branch&lt;/strong&gt;&lt;/br&gt;
&lt;code&gt;git checkout -b local-svn trunk&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
now we need to pull your local changes from your master branch to your local-svn branch&lt;/br&gt;
&lt;code&gt;git merge master&lt;/code&gt;&lt;br/&gt;
it&amp;#8217;s worth noting that you could do a &lt;code&gt;git rebase&lt;/code&gt;, but when I tried that I couldn&amp;#8217;t use git-svn dcommit
&lt;/li&gt;
&lt;li&gt;
go through and merge any conflicts. then &lt;code&gt;git commit&lt;/code&gt;. at this point you can &lt;code&gt;git dcommit&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/p&gt;
&lt;p&gt;So if all that was how I got it working, what did I run into along the way&amp;#8230; Well I&amp;#8217;m glad you ask. Here&amp;#8217;s a list of errors and the reason for them afaik:&lt;br /&gt;
&lt;dl&gt;&lt;br /&gt;
&lt;dt&gt;Unable to determine upstream SVN information from HEAD history&lt;/dt&gt;&lt;dd&gt;You have a recent commit that doesn&amp;#8217;t have any history in .git/ref/remote/svn or .git/svn. It also doesn&amp;#8217;t have the &lt;strong&gt;git-svn-id:&lt;/strong&gt; key in the commit message.&lt;/dd&gt;
&lt;dt&gt;[svn-remote &amp;quot;svn&amp;quot;] unknown&lt;/dt&gt;&lt;dd&gt;Did you manually create the svn-remote entry, or specify a different name? If so you need to pass that on to the commands, they seem to assume it&amp;#8217;s named svn.&lt;/dd&gt;
&lt;dt&gt;fatal: bad default revision &amp;#8216;refs/remotes/git-svn&amp;#8217;&lt;/dt&gt;&lt;dd&gt;Somethings amiss with your svn-remote entry in &lt;code&gt;.git/config&lt;/code&gt;&lt;/dd&gt;
&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s about it for me, if you&amp;#8217;ve seen those errors and can add some detail or shed some light on a better way please do share. As of this moment ruby-hl7 is synched up.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>uninformative messages (MSB3247,MSB4051)</title>
    <link href="/uninformative-messages-msb3247" />
    <id>tag:hasno.info,2008-02-29:1204321500</id>
    <updated>2008-02-29T16:45:00-05:00</updated>
    <content type="html">&lt;blockquote&gt;warning MSB3247: Found conflicts between different versions of the same dependent assembly.&lt;/blockquote&gt;
&lt;p&gt;Seriously how is that helpful? Guess what the solution is according to VS2k8: &lt;blockquote&gt;&lt;br /&gt;
Double-click the warning and then select &amp;quot;Yes&amp;quot; when you get the prompt, &amp;quot;Do you want to fix these conflicts by adding binding redirect records in the app.config file?&amp;quot;&lt;/blockquote&gt;&lt;p&gt;&lt;img src=&quot;http://hasno.info/assets/2008/2/29/goggles.jpg&quot; width=&quot;90px&quot; style=&quot;width: 90px; float: right; clear: both; padding: 5px;&quot; alt=&quot;The goggles do nothing!&quot;/&gt; That has to be the most pointless suggestion ever. This warning doesn&amp;#8217;t go away, nor is there any indication in the message as to the culprit. The XML it generates points at some candidates tho.&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Now on to see why the same solution builds in VS2k8, but fails when using msbuild on the command line. &lt;br /&gt;
&lt;blockquote style=&quot;clear:both;&quot;&gt;&lt;br /&gt;
 Solution file warning MSB4051: Project {ED0038FA-D90E-4C84-AE64-&lt;br /&gt;
245BC76D2406} is referencing a project with GUID {BF209BE8-334A-45E8-940E-CFEF0&lt;br /&gt;
DEE21EE}, but a project with this GUID was not found in the .SLN file.&lt;/blockquote&gt;
&lt;p&gt;Apparently that means I&amp;#8217;m missing an &lt;strong&gt;EndProject&lt;/strong&gt; line. Wonder why that couldn&amp;#8217;t have been fixed or brought to my attention by studio&amp;#8230;? It can also mean that there is indeed an invalid project guid reference in one of the subproject&amp;#8217;s csproj files. Double check the project list in the solution versus the &lt;Project&gt;{guid}&lt;/Project&gt; references. One of my issues was due to that. I&amp;#8217;m guessing studio looks up the project by name if it fails to find it by guid.&lt;/p&gt;
&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>Subversion on Windows with TortoiseSVN</title>
    <link href="/subversion-on-windows-with-tortoisesvn" />
    <id>tag:hasno.info,2008-02-19:1203466800</id>
    <updated>2008-02-19T19:20:00-05:00</updated>
    <content type="html">&lt;p&gt;It&amp;#8217;s my first foray into screen casting, hopefully people find it useful. I cover setting up a subversion repository, accessing the repository, putting things into the repository and some other items. I tried pushing this to Google video, but it consistently mangled the text. I&amp;#8217;ll give it a shot again once I have some time. Any feedback or requests are welcome.&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;object width=&quot;400&quot; height=&quot;300&quot;&gt;	&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; /&gt;	&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;	&lt;param name=&quot;movie&quot; value=&quot;http://www.vimeo.com/moogaloop.swf?clip_id=1155196&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00adef&amp;amp;fullscreen=1&quot; /&gt;	&lt;embed src=&quot;http://www.vimeo.com/moogaloop.swf?clip_id=1155196&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00adef&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br/&gt;
For those of you with ipods, &lt;a href=&quot;http://segfault.hasno.info/screencasts/Subversion%20on%20Windows%20with%20TortoiseSVN.m4v&quot;&gt;here&amp;#8217;s an ipod friendly version&lt;/a&gt;.&lt;/p&gt;
&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>windows vim 7.1.212</title>
    <link href="/windows-vim-7-1-212" />
    <id>tag:hasno.info,2008-01-28:1201566000</id>
    <updated>2008-01-28T19:20:00-05:00</updated>
    <content type="html">&lt;p&gt;&lt;img src=&quot;http://hasno.info/assets/Vimlogo.png&quot; alt=&quot;&quot; style=&quot;float: right;&quot;/&gt;I&amp;#8217;ve finally gotten around to rebuilding my windows vim install with the latest patches. I tested it on my work machine and laptop&amp;#8217;s vmware image. It&amp;#8217;s built with huge, ruby, python, perl, and IME (multibyte). The binaries are optimized for pentium4+ machines with SSE2. You can get the installer &lt;a href=&quot;http://segfault.hasno.info/vim/gvim71.zip&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>building .net projects with rake</title>
    <link href="/building-net-projects-with-rake" />
    <id>tag:hasno.info,2008-01-06:1199668860</id>
    <updated>2008-01-06T20:21:00-05:00</updated>
    <content type="html">&lt;p&gt;&lt;img src=&quot;/assets/rubylogo.gif&quot; alt=&quot;ruby logo&quot; style=&quot;float: left; margin: 10px;&quot; /&gt;&lt;p&gt;I&amp;#8217;ve been wearing my ruby slippers to work and I need to share the joy that is rake for .net projects. I&amp;#8217;ve created/modified some rake tasks to ease automation and development of .net projects. Basically I wrap nunit and msbuild in rake and then use the wonder that is rake to create a clean and simple build script. Combine this with &lt;a href=&quot;http://cruisecontrolrb.thoughtworks.com/&quot;&gt;cruisecontrol.rb&lt;/a&gt; and you have a very nice automated build/testing system in place. Add watir/watin support to taste for that added punch. &lt;/p&gt;&lt;p&gt;You may be wondering &lt;em&gt;&lt;strong&gt;why&lt;/strong&gt;&lt;/em&gt; anyone would want to use rake when there are already multiple native build systems (&lt;a href=&quot;http://nant.sourceforge.net/&quot;&gt;nant&lt;/a&gt; and &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/0k6kkbsd.aspx&quot;&gt;msbuild&lt;/a&gt; off the top of my head). &lt;macro:code lang=&quot;xml&quot;&gt;&lt;br /&gt;
&lt;property name=&quot;myprj.basedir&quot; value=&quot;c:\&quot; /&gt;&lt;br /&gt;
&lt;property name=&quot;filename&quot; value=&quot;${path::combine(myprj.basedir,'version.txt')}&quot; /&gt;&lt;/p&gt;
&lt;if test=&quot;${not file::exists(filename) or file::get-length(filename) = 0}&quot;&gt;
&lt;echo message=&quot;The version file ${filename} doesn't exist or is empty!&quot; /&gt;
&lt;/if&gt;
&lt;/macro:code&gt;
&lt;p&gt;&lt;br/&gt;
&lt;img src=&quot;/assets/alcatraz-prison-picture-3.jpg&quot; alt=&quot;prison picture&quot; style=&quot;float: right; margin: 10px; clear: right; width: 200px; height: 132px; &quot;/&gt;&lt;br /&gt;
Why would I want to use xml to write logical expressions? Seriously who wakes up in the morning and looks forward to that? I sure don&amp;#8217;t. I&amp;#8217;d rather use a full fledged programming language, if not for power than for clarity. Anything other than a real language, be it ruby, python or powershell is a pointless waste of time in my opinion. Why spend hours of your life fighting to express yourself within an xml-based cage. Check out this msbuild snippet:&lt;macro:code lang=&quot;xml&quot;&gt;&lt;br /&gt;
&lt;ItemGroup&gt;&lt;br /&gt;
    &lt;MDForm Include=&quot;TestForm1.cs&quot;&gt;&lt;br /&gt;
        &lt;Author&gt;&lt;br /&gt;
            &lt;Name&gt;Ryan Flynn&lt;/Name&gt;&lt;br /&gt;
            &lt;Email&gt;rflynn@godelwasasmartnut.com&lt;/Email&gt;&lt;/p&gt;
&lt;/Author&gt;
&lt;/MDForm&gt;
&lt;MDFormOther Include=&quot;..\..\**\MySubProject\*.cs&quot;&gt;
&lt;Author&gt;
            &lt;Name&gt;Mark A. Guzman&lt;/Name&gt;
            &lt;Email&gt;mag@godelwasasmartnut.com&lt;/Email&gt;
&lt;/Author&gt;
&lt;/MDFormOther&gt;
&lt;/ItemGroup&gt;
&lt;p&gt;&lt;/macro:code&gt;That looks like a lot of junk to me.&lt;/p&gt;&lt;p&gt;How about this as a reasonable alternative:&lt;macro:code lang=&quot;ruby&quot;&gt;&lt;br /&gt;
desc &amp;#8220;compile cs files&amp;#8221;&lt;br /&gt;
Rake::CscTask.new do |csc|&lt;br /&gt;
  csc.files = FileList[ &amp;#8220;&lt;strong&gt;/MySubProject/&lt;/strong&gt;.cs&amp;#8221; ]&lt;br /&gt;
end&lt;/p&gt;
&lt;/macro:code&gt;
&lt;p&gt;Simple, concise and dare I say fun.&lt;br /&gt;
&lt;br style=&quot;clear: both;&quot;/&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Now let&amp;#8217;s take that last snippet a bit further, as msbuild will do all we want based on the solution (sln) file most of the time. &lt;macro:code lang=&quot;ruby&quot;&gt;&lt;br /&gt;
desc &amp;#8220;Run NUnit&amp;#8221;&lt;br /&gt;
Rake::NUnitTask.new do |nunit|&lt;br /&gt;
  nunit.files = FileList[&amp;#8216;&lt;strong&gt;/&lt;/strong&gt;Tests.dll&amp;#8217;].exclude(/obj\//)&lt;br /&gt;
end&lt;/p&gt;
&lt;p&gt;namespace :build do&lt;br /&gt;
  desc &amp;#8220;Compile Debug&amp;#8221;&lt;br /&gt;
  Rake::MsbuildTask.new(:debug) do |msbld|&lt;br /&gt;
    msbld.solutions = FileList[&amp;#8216;&lt;strong&gt;/&lt;/strong&gt;.sln&amp;#8217;].exclude(/obj\//)&lt;br /&gt;
    msbld.config = &amp;#8220;Debug&amp;#8221;&lt;br /&gt;
  end&lt;/p&gt;
desc &amp;#8220;Compile Release&amp;#8221;
Rake::MsbuildTask.new(:release) do |msbld|
msbld.solutions = FileList[&amp;#8216;&lt;strong&gt;/&lt;/strong&gt;.sln&amp;#8217;].exclude(/obj\//)
msbld.config = &amp;#8220;Release&amp;#8221;
end
&lt;p&gt;end&lt;/p&gt;
&lt;p&gt;&lt;/macro:code&gt; I think you can guess what&amp;#8217;s going on here. Now I can do &lt;code&gt;rake build:release&lt;/code&gt; and have it run msbuild against the sln file. While that&amp;#8217;s spiffy, it gets much nicer when you add in automated testing using nunit and watir combined with rspec. Plug this all into cc.rb or even cc.net and you get a very nice simple build system with automated testing. All of that with clean and concise syntax.&lt;/p&gt;&lt;p&gt;I&amp;#8217;ve zipped up the current versions of the rake tasks, you can get them &lt;a href=&quot;http://segfault.hasno.info/blog_files/buildstuff.zip&quot;&gt;here&lt;/a&gt;. Hopefully we can build a nice kit for people wanting to find ruby a niche in their environment.&lt;/p&gt;&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>osx spaces with disappearing windows</title>
    <link href="/osx-spaces-with-disappearing-windows" />
    <id>tag:hasno.info,2008-01-04:1199437560</id>
    <updated>2008-01-04T04:06:00-05:00</updated>
    <content type="html">&lt;p&gt;This could alternatively be titled &lt;em&gt;missing spaces&lt;/em&gt;. Anyway like &lt;a href=&quot;http://discussions.apple.com/thread.jspa?messageID=5950080&quot;&gt;many&lt;/a&gt; &lt;a href=&quot;http://www.mikequinn.org/blog/2007/12/04/disappearing-windows-while-using-osx-spaces/&quot;&gt;other&lt;/a&gt; leopard users, I&amp;#8217;ve run into a little snag with spaces. &lt;img src=&quot;/assets/apple_spaces.png&quot; style=&quot;float: right; clear: both; padding: 3px;&quot; /&gt; It seems that it likes to loose random windows, anything from Terminal or Vim to VMware. &lt;strong&gt;Not cool&lt;/strong&gt;. It&amp;#8217;s not killer, just annoying. I say that because I can still interact with the windows to an extent. I can usually save and close what I&amp;#8217;m working on. Restarting the application &amp;quot;fixes&amp;quot; the problem. Hiding and Unhiding the window does not, nor do the missing windows appear in Expose. In the case of VMware I&amp;#8217;ve found that switching the vm to fullscreen allows me to pause it properly and not loose any data. Good luck to anyone else who run&amp;#8217;s into this. Hopefully enough people have filed bugs, and we&amp;#8217;ll see a fix in the next maintenance release.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>ms word is bad for documentation</title>
    <link href="/ms-word-is-bad-for-documentation" />
    <id>tag:hasno.info,2007-12-31:1199153880</id>
    <updated>2007-12-31T21:18:00-05:00</updated>
    <content type="html">&lt;p&gt;Every time I have to document code or architecture in Word, I get upity. It&amp;#8217;s not that Word isn&amp;#8217;t good for creating documents, it is in fact great at creating nice looking documents. The problem is that code is a living creature, and word documents generally aren&amp;#8217;t. They are written and forgotten, filed away and lost. I generally envision the giant storage warehouse from Raiders of the Lost Ark. &lt;img src=&quot;/assets/government_warehouse.jpg&quot; style=&quot;float: right; clear: both; height: 137px; width: 207px;&quot; alt=&quot;Warehouse&quot;/&gt;&lt;/p&gt;&lt;p&gt;So like many other developers I push for documentation via wiki. Depending on your environment this may hard to accomplish. If your lucky enough to be using &lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;subversion&lt;/a&gt; for version control, then you can just setup &lt;a href=&quot;http://trac.edgewall.org/&quot;&gt;trac&lt;/a&gt;. Trac just happens to provide everything one would need for a lively quick moving project, a wiki, subversion browser, ticket management, and wiki syntax linking them all. The wiki-ticket integration   is great for impromptu code reviews. Not to mention the RSS feeds with links to changesets.&lt;/p&gt;&lt;p&gt;So far trac has been a hit at every place I&amp;#8217;ve worked. It takes a culture change, but it&amp;#8217;s worth it. Give it a try if you haven&amp;#8217;t already. If your coming from in-house sharepoint and sourcesafe pairings, it&amp;#8217;ll be a refreshing change.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>fix a missing user account in leopard</title>
    <link href="/fix-a-missing-user-account-in-leopard" />
    <id>tag:hasno.info,2007-11-05:1194249900</id>
    <updated>2007-11-05T03:05:00-05:00</updated>
    <content type="html">&lt;p&gt;My friend was over yesterday and decided that he would upgrade his macbook to osx leopard (10.5). I&amp;#8217;m not sure how it happened but it seems that something got on the dvd and caused a read error and a failed upgrade. After cleaning off the disk, the upgrade completed successfully. The only problem was that his user seemed to be gone. All of his attempts with his various passwords failed. He looked fairly dejected at being locked out of his now leopardized laptop.&lt;/p&gt;&lt;p&gt;The first thing we did to troubleshoot was boot the macbook into target disk mode (hold down &lt;strong&gt;T&lt;/strong&gt; when powering it on). Looking around the filesystem revealed that his user folder still existed in /Users, with the username we expected.&lt;/p&gt;&lt;p&gt;Our next attempt was single user mode (hold down &lt;strong&gt;apple-S&lt;/strong&gt; when powering on). Single user mode drops you into a root shell with readonly access to the filesystem. So we did the following: &lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;
fsck -yf &lt;br /&gt;
mount -uw /&lt;br /&gt;
launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist &lt;br /&gt;
launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist &lt;br /&gt;
passwd #this will change root&amp;#8217;s password, you will be prompted to enter it twice&lt;br /&gt;
dscl&lt;br /&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;That last command will load the directory services command line app (they removed netinfo manager in leopard, otherwise you could easily reboot and fix the problem using a gui from the root account). At the dscl prompt we entered the following:&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;
list Local/Default/Users&lt;br /&gt;
create Local/Default/Users/&amp;lt;your_old_username&amp;gt;&lt;br /&gt;
create Local/Default/Users/&amp;lt;your_old_username&amp;gt; UniqueID 501&lt;br /&gt;
create Local/Default/Users/&amp;lt;your_old_username&amp;gt; PrimaryGroupID 501&lt;br /&gt;
create Local/Default/Users/&amp;lt;your_old_username&amp;gt; NFSHomeDirectory /Users/&amp;lt;your_old_username&amp;gt;&lt;br /&gt;
create Local/Default/Users/&amp;lt;your_old_username&amp;gt; UserShell /bin/bash&lt;br /&gt;
create Local/Default/Users/&amp;lt;your_old_username&amp;gt; RealName &amp;lt;Your_Real_Name&amp;gt;&lt;br /&gt;
passwd Local/Default/Users/&amp;lt;your_old_username&amp;gt; &amp;lt;a_temporary_password&amp;gt;&lt;br /&gt;
append Local/Default/Groups/admin users &amp;lt;your_old_username&amp;gt;&lt;br /&gt;
read Local/Default/Users/&amp;lt;your_old_username&amp;gt;&lt;br /&gt;
read Local/Default/Users/root&lt;br /&gt;
exit&lt;br /&gt;
&lt;/pre&gt;&lt;/blockquote&gt;After that was complete we rebooted the machine by typing &lt;code&gt;shutdown -r now&lt;/code&gt;. When the machine booted up again, my friend was able to log into his account. All of his settings had been preserved since they all live in your home directory. The only exceptions were his user account picture, full name and password.&lt;/p&gt;&lt;p&gt;I hope someone else finds this useful, it took a good bit a of playing around to figure this out.&lt;/p&gt;&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>svn windows crashing (rapidsvn and ankhsvn)</title>
    <link href="/svn-windows-crashing-rapidsvn-and-ankhsvn" />
    <id>tag:hasno.info,2007-11-02:1194030480</id>
    <updated>2007-11-02T15:08:00-04:00</updated>
    <content type="html">&lt;p&gt;At work I end up using a Windows 2k3 machine for development. I have a personal svn repository setup for my projects, which I end up merging into vss (which is &lt;strong&gt;the suck&lt;/strong&gt;). I tried installing Ankhsvn, an addin for visual studio enabling svn integration, and I tried rapidsvn. Both programs crashed due to some interaction with my system. Some googling brought back some stuff about the version of svn being a problem. That was wrong. &lt;/p&gt;&lt;p&gt;It turns out that the iconv libs provided with the svn install I used were not compatible with the other apps. Not sure why. I noticed this when I checked out the app with Process Explorer and saw &lt;code&gt;APR_ICONV_PATH=c:\program files\subversion\iconv&lt;/code&gt;. Once I saw that I tried the debug build of svn from tigris and everything started working except the old subversion bins. Anyway, if you run into a null pointer error (exception) stemming from libapriconv.dll or libapriconv-1.dll, try replacing the subversion bins and libs.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>macports ruby or apple ruby</title>
    <link href="/macports-ruby-or-apple-ruby" />
    <id>tag:hasno.info,2007-10-29:1193639880</id>
    <updated>2007-10-29T02:38:00-04:00</updated>
    <content type="html">&lt;p&gt;I&amp;#8217;ve made the jump to Leopard as &lt;a href=&quot;http://www.chadfowler.com/2007/10/28/ruby-on-leopard&quot;&gt;many&lt;/a&gt; &lt;a href=&quot;http://gilesbowkett.blogspot.com/2007/10/apples-ruby-communities-not-features.html&quot;&gt;other&lt;/a&gt; mac users have. With that comes a question, keep using the macports ruby install or use the apple install. At this point I think I&amp;#8217;ll stick with macports, like &lt;a href=&quot;http://www.robbyonrails.com/articles/2007/10/27/using-macports-ruby-and-rails-after-upgrading-to-os-x-leopard&quot;&gt;Robby Russell&lt;/a&gt; I have a good bit of time invested in getting things setup the way I like it. Beyond the existing investment, macports tends to be kept up to date a bit more readily than I think apple can manage. I would like to see the &lt;a href=&quot;http://joyeur.com/2007/10/26/joyent-dtrace-probes-in-apples-leopard&quot;&gt;dtrace&lt;/a&gt; stuff included in the macports build, hopefully someone will beat me to that one (waaay to many items on my to-do list as is).&lt;/p&gt;</content>
  </entry>
  
</feed>

