<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>PingTrip</title>
    <link rel="alternate" type="text/html" href="http://www.pingtrip.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.pingtrip.com/atom.xml" />
    <id>tag:www.pingtrip.com,2008-08-20://1</id>
    <updated>2008-08-20T21:30:19Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.2-en</generator>

<entry>
    <title>Essential Software for OS X</title>
    <link rel="alternate" type="text/html" href="http://www.pingtrip.com/weblog/2008/08/essential-software-for-os-x" />
    <id>tag:www.pingtrip.com,2008://1.4</id>

    <published>2008-08-02T00:10:11Z</published>
    <updated>2008-08-20T21:30:19Z</updated>

    <summary>This is a continuation of my collection of articles pertaining to dual-booting Leopard and Kubuntu on a MacBook Pro. This article is just a quick rundown of the software packages that are always installed on my laptop....</summary>
    <author>
        <name>Dave</name>
        
    </author>
    
        <category term="MacBook Pro" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="macbookpro" label="MacBook Pro" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="osx" label="OS X" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.pingtrip.com/">
        <![CDATA[<p>This is a continuation of my collection of articles pertaining to <a href="http://www.pingtrip.com/weblog/2008/04/leopard-and-kubuntu-on-a-macbook-pro">dual-booting Leopard</a> and <a href="http://www.pingtrip.com/weblog/2008/04/kubuntu-on-a-macbook-pro">Kubuntu on a MacBook Pro</a>. This article is just a quick rundown of the software packages that are always installed on my laptop.</p>
]]>
        <![CDATA[<p>Some packages are dependent on others and the order of installation has been reflected in the following list.</p>

<ol>
<li><p><strong>Firefox:</strong>
Like many of you, this is my browser of choice and is the first application I install. Grab the latest version from the <a href="http://www.mozilla.com/en-US/firefox/">Firefox download site</a>.</p>

<p>I also install the following Add-ons for FireFox: </p>

<ul>
<li><p><a href="http://www.foxmarks.com">Foxmarks</a>: This is an add-on that syncs your bookmarks across multiple computers. I highly recommend it.</p></li>
<li><p><a href="https://addons.mozilla.org/en-US/firefox/addon/1843">FireBug</a>: An invaluable tool whether I'm working on my website layout or performing a vulnerability assessment on a web application.</p></li>
</ul></li>
<li><p><strong>Xcode:</strong> 
Next up is Xcode, Apple's development environment for Mac OS X. I always grab the latest version from <a href="http://developer.apple.com/tools/download/">Apple's Developer Connection website</a>. Installation is straightforward, just launch the installer contained in the .dmg and follow the prompts.</p></li>
<li><p><strong>Xquartz:</strong>
Due to bugs that were introduced during software updates of the pre-packaged X11 app I ultimately chose to use <a href="http://xquartz.macosforge.org/trac/wiki">Xquartz</a> instead. So far I've been happy with the stability and reliability.</p></li>
<li><p><strong>iTerm:</strong>
iTerm is an open source (GPL) terminal emulator that I choose to use in place of the OS X Terminal utility. You can download it from their <a href="http://iterm.sourceforge.net/download.shtml">sourceforge site</a>, I normally grab the "recent binary build from CVS". </p></li>
<li><p><strong>MacPorts:</strong>
MacPorts (which I highly recommend) makes installing and maintaining numerous software packages a breeze. The project has a well written <a href="http://www.macports.org/install.php">MacPorts install guide</a></p>

<p>One minor issue I had was that the installer didn't properly edit my .profile to add the necessary directories to the PATH environment variable:</p>

<pre><code>MBP:~ dave$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
</code></pre>

<p>The quick fix is to edit your ~/.profile (or create one if it doesn't exist) and add the following line:</p>

<pre><code>export PATH=/opt/local/bin:/opt/local/sbin:$PATH
</code></pre>

<p>Restart a new terminal session to have the change take effect:</p>

<pre><code>MBP:~ dave$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
</code></pre></li>
<li><p><strong>Subversion:</strong>
This is an open-source revision control client and is necessary when I want to build applications from source. It can easily be installed via MacPorts.</p>

<pre><code>sudo port install subversion
</code></pre>

<div class="Update"><b>Update:</b> 
 08/01/2008 - Subversion failed to install for me and threw the following error, <code>configure: error: No awk program found</code>. It's a <a href="http://trac.macports.org/ticket/13053">known issue</a> and the workaround is simply to rerun the install command. </div></li>
<li><p><strong>BBEdit:</strong>
To date this is my favorite text editor for the Mac, even with it's higher price. You can grab a demo from <a href="http://www.barebones.com/products/bbedit/">their website</a> to decide if its for you before plunking down the cabbage.</p></li>
<li><p><strong>Snapz Pro X:</strong> <br />
http://www.ambrosiasw.com/utilities/snapzprox/</p></li>
<li><p><strong>Pixelmator:</strong>
http://www.pixelmator.com</p></li>
<li><p><strong>Chicken of the VNC:</strong> As the <a href="http://sourceforge.net/projects/cotvnc/">project's website</a> describes; <em>"Chicken of the VNC is a VNC client for Mac OS X"</em>. It has been very reliable for me.</p></li>
<li><p><strong>Tunnelblick:</strong> A great little graphical OpenVPN client for OS X. You can grab it from <a href="http://code.google.com/p/tunnelblick/">Tunnelblick's Google Code project page</a>.</p></li>
<li><p><strong>Remote Desktop Connection Client:</strong> For those times that I need to administrate a Windows machine <a href="http://www.apple.com/downloads/macosx/networking_security/remotedesktopconnectionclient.html">RDC 2.0</a> does the job.</p></li>
</ol>
]]>
    </content>
</entry>

<entry>
    <title>Custom Tags with Markdown Plugin (Redux)</title>
    <link rel="alternate" type="text/html" href="http://www.pingtrip.com/weblog/2008/07/custom-tags-with-markdown-plug" />
    <id>tag:www.pingtrip.com,2008://1.6</id>

    <published>2008-07-29T23:27:29Z</published>
    <updated>2008-08-20T21:30:20Z</updated>

    <summary>Awhile back I wrote about adding custom tags to the Markdown Plugin in which I created two new custom tags, a &quot;Note&quot; and a &quot;Warning&quot; block. This time around I&apos;m adding an additional custom Markdown tag which is an &quot;Update&quot;...</summary>
    <author>
        <name>Dave</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="markdownplugin" label="Markdown Plugin" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.pingtrip.com/">
        <![CDATA[<p>Awhile back I wrote about <a href="http://www.pingtrip.com/weblog/2008/04/adding-custom-tags-to-markdown">adding custom tags to the Markdown Plugin</a> in which I created two new custom tags, a "Note" and a "Warning" block.  This time around I'm adding an additional custom Markdown tag which is an "Update" tag for when you want to signify that a portion of a previously published article has been altered.</p>
]]>
        <![CDATA[<p>The new "Update" tag, when used, creates a stylized box like so:</p>

<div class="Update"><b>Update:</b> 
 This is an example of an update box. </div>

<p>As outlined in my previous Customized Markdown Tags article the first step is to choose the Markdown syntax we want to represent the new style block. Once again I took the non-scientific approach and chose <code>~^</code> simply because the upward caret seemed like a fitting choice for "update".</p>

<p>For ease of implementation I'll be editing the code from my previous article so that it will support the "Update" tag in addition to the "Note" and "Warning" tags. In addition, I'll be renaming my custom subroutine to a more generic name, making any future additions a bit easier.</p>

<p>So my previous subroutine named <code>_DoNotesAndWarnings</code> will be renamed to <code>_DoCustomizedBlocks</code>.</p>

<pre><code>sub _DoCustomizedBlocks {
    my $text = shift;
    my $style = "";

    $text =~ s{
            [^`]~([\!\?\^])      # $1 = style class
            (.+?)           # $2 = Block text
            ~[\!\?\^]         # closing syntax
        }{
            if($1 eq '!') {
                $style = "Warning";
            } elsif ($1 eq '?') {
                $style = "Note";
            } elsif ($1 eq '^') {
                $style = "Update";
            }

            "&lt;div class=\"$style\"&gt;" .  _RunSpanGamut("&lt;b&gt;$style:&lt;/b&gt; \n" . $2)  .  "&lt;/div&gt;\n\n";
        }egsx;

    return $text;
}
</code></pre>

<p>Then the previous call to <code>_DoNotesAndWarnings()</code> in the <code>_RunBlockGamut()</code> subroutine will also need to be updated to reflect the name change. (The additional call to <code>HashHTMLBlocks()</code> that was added in the previous article will remain.)</p>

<pre><code>$text = _HashHTMLBlocks($text);

$text = _DoCustomizedBlocks($text);
$text = _HashHTMLBlocks($text);

$text = _FormParagraphs($text);

return $text;
}
</code></pre>

<p>The last step is to add the new tag's style to the Cascading Style Sheet:</p>

<pre><code>.Update {
    width: 90%;
    margin-left: 5%;
    padding: .2em .3em;
    background:#FFFFCC;
    color: #000000;
    border:solid 1px #DEDEDE;
    font-size: 100%;
}
</code></pre>

<p>Finally, to test the new tag use the newly defined syntax in an entry:</p>

<pre><code>~^ This is an Update Block ~^
</code></pre>

<p>Which produces:</p>

<div class="Update"><b>Update:</b> 
 This is an Update Block </div>

<p>Enjoy your new custom Markdown tags!</p>
]]>
    </content>
</entry>

<entry>
    <title>Adding Custom Tags to Markdown Plugin</title>
    <link rel="alternate" type="text/html" href="http://www.pingtrip.com/weblog/2008/04/adding-custom-tags-to-markdown" />
    <id>tag:www.pingtrip.com,2008://1.5</id>

    <published>2008-04-11T21:58:32Z</published>
    <updated>2008-08-21T18:41:53Z</updated>

    <summary>In this article I&apos;ll be tinkering with one of Movable Types default plugins, John Gruber&apos;s Markdown, which is one of the text formatting choices available when working in the Entry Editor. The brilliance of Markdown comes from it&apos;s powerful translations,...</summary>
    <author>
        <name>Dave</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="markdownplugin" label="Markdown Plugin" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.pingtrip.com/">
        <![CDATA[<p>In this article I'll be tinkering with one of Movable Types default plugins, <a href="http://daringfireball.net/projects/markdown/">John Gruber's Markdown</a>, which is one of the text formatting choices available when working in the Entry Editor.</p>

<p>The brilliance of Markdown comes from it's powerful translations, combined with it's utter ease of use. Granted, it's not your typical WYSIWYG and did pose a slight <em>comfort curve</em> (the time and effort it takes to adjust to a new way of editing; for me at least!), but after writing only three articles with it I'm hooked!</p>
]]>
        <![CDATA[<p>From it's website, <em>"Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML)"</em>. This is accomplished by a number of impressive regular expressions which substitute the Markdown syntax with tags. As an example, this text in the Entry Editor:</p>

<pre><code>#Heading One
</code></pre>

<p>Is reformatted when the entry is published, to:</p>

<pre><code>&lt;H1&gt;Heading One&lt;/H1&gt;
</code></pre>

<p>Brilliant! So it didn't take long before I had to see if Markdown could be leveraged to handle custom syntax for my own defined style blocks. A quick review of the Markdown plugin code confirmed my hopes and in less than an hour I had two working custom Markdown tags.</p>

<p>The tags I added were inspired by the "Note" and "Warning" text blocks which are popular on many Wiki sites. They're great for drawing the readers attention to necessary information amidst the rest of an article's text.</p>

<p>The first step was to choose the Markdown syntax I wanted to represent each style block. Obviously, I needed something that would work with the plugin's default syntax, but I also wanted something easy to remember.  I ultimately chose <code>~!</code> for the Warning style and <code>~?</code> for the Note style. I really didn't have a scientific process for determining my choices (and they may change if I find conflicts in the future) but in my mind an exclamation point certainly relates to a warning, as a question mark denotes a thought or note. </p>

<p>Implementing the two new custom tags only required the modification of two files; Markdown.pl and screen.css.</p>

<p>First, I created a new subroutine in Markdown.pl called <code>_DoNotesAndWarnings</code>, which will handle the conversion of my custom syntax:</p>

<pre><code>sub _DoNotesAndWarnings {
    my $text = shift;

    $text =~ s{
            \n~([\!\?])      # $1 = style class
            (.+?)           # $2 = Block text
            ~[\!\?]         # closing syntax
        }{
            my $style = ($1 eq '!') ? "Warning" : "Note";
            "&lt;div class=\"$style\"&gt;" .  _RunSpanGamut("&lt;b&gt;$style:&lt;/b&gt; \n" . $2)  .  "&lt;/div&gt;\n\n";
        }egsx;

    return $text;
}
</code></pre>

<p>Next, I modified the <code>_RunBlockGamut()</code> subroutine to add a call to my new subroutine and I also added a second call to <code>_HashHTMLBlocks()</code>. This is so <code>&lt;p&gt;</code> tags aren't wrapped around my <code>&lt;div&gt;</code> blocks.</p>

<pre><code>$text = _HashHTMLBlocks($text);

$text = _DoNotesAndWarnings($text);
$text = _HashHTMLBlocks($text);

$text = _FormParagraphs($text);

return $text;
}
</code></pre>

<div class="Note"><b>Note:</b> 
 If you're running Movable Type under FastCGI then you'll need to force a plugin reload for the changes to take effect. This is done simply by updating the timestamp of the main MT script.
<br/><br/>
<code>touch [your MT install directory]/mt.fcgi</code> </div>

<p>The last step is to add the style definitions to the Cascading Style Sheet:</p>

<div class="Update"><b>Update:</b> 
 7/29/2008 - I tweaked the styles after spotting a better color scheme in <a href="http://woork.blogspot.com/2008/03/css-message-box-collection.html">Antonio Lupetti's CSS Message Box Collection article</a>.</div>

<pre><code>.Warning {
    width: 90%;
    margin-left: 5%;
    padding: .2em .3em;
    background: #F7CBCA;
    color: #000000;
    border: solid 1px #CC0000;
    font-size: 100%;
}

.Note {
    width: 90%;
    margin-left: 5%;
    padding: .2em .3em;
    background: #C9FFCA;
    color: #000000;
    border: solid 1px #349534;
    font-size: 100%;
}
</code></pre>

<p>Now to test the new custom Markdown tags I use the defined syntax in an entry:</p>

<pre><code>~? This is a Note Block ~?

~! This is a Warning Block ~!
</code></pre>

<p>Which produces:</p>

<div class="Note"><b>Note:</b> 
 This is a Note Block </div>

<p>and...</p>

<div class="Warning"><b>Warning:</b> 
 This is a Warning Block </div>

<p>However, those are just simple single line examples but multi-line input is handled just as well so we can do things like this:</p>

<pre><code>~? This is a multi-line example.
&lt;br/&gt;&lt;br/&gt;
`with an embedded code block` ~?
</code></pre>

<p>Will produce:</p>

<div class="Note"><b>Note:</b> 
 This is a multi-line example.
<br/><br/>
<code>with an embedded code block</code> </div>

<p>So there you have it! My <em>Note</em> and <em>Warning</em> custom Markdown tags are just two simple examples that show the flexibility of the Markdown plugin. Kudos to John Gruber and his development team!</p>
]]>
    </content>
</entry>

<entry>
    <title>Kubuntu on a MacBook Pro</title>
    <link rel="alternate" type="text/html" href="http://www.pingtrip.com/weblog/2008/04/kubuntu-on-a-macbook-pro" />
    <id>tag:www.pingtrip.com,2008://1.3</id>

    <published>2008-04-05T12:07:47Z</published>
    <updated>2008-08-20T21:30:18Z</updated>

    <summary>Due to the recent growing popularity of dual-booting the MacBook Pro I decided to move the Kubuntu portion of my Leopard and Kubuntu on a MacBook Pro article into it&apos;s own entry. My hope is to find the time to...</summary>
    <author>
        <name>Dave</name>
        
    </author>
    
        <category term="MacBook Pro" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="kubuntu" label="Kubuntu" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="macbookpro" label="MacBook Pro" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.pingtrip.com/">
        <![CDATA[<p>Due to the recent growing popularity of dual-booting the MacBook Pro I decided to move the Kubuntu portion of my <a href="http://www.pingtrip.com/weblog/2008/04/leopard-and-kubuntu-on-a-macbook-pro">Leopard and Kubuntu on a MacBook Pro</a> article into it's own entry. My hope is to find the time to tweak this article enough so it provides a thorough, step-by-step walk-through that others can use.</p>
]]>
        <![CDATA[<div class="Update"><b>Update:</b> 
 08/02/2008 - Article has been updated for use with the Kubuntu 8.04-KDE4-i386 release. </div>

<ol>
<li><p><strong>Installing rEFIt</strong></p>

<p>The first step I do when building the Kubuntu portion of my dual-boot MacBook Pro is to install <a href="http://refit.sourceforge.net">rEFIt</a>, which provides a nice boot menu.</p>

<ol>
<li>Download and mount the current version of rEFIt Mac disk image.</li>
<li>Double-click the disk image you just downloaded and launch the installer by double-clicking on the "rEFIt.mpkg package.</li>
<li>Follow the instructions and select your Mac OS X installation volume as the destination volume for the install.</li>
</ol></li>
<li><p><strong>Installing Kubuntu</strong></p>

<p>Place a Kubuntu CD in the MacBook Pro and boot from it by either holding the 'C' key down on the keyboard until the Apple Logo appears, or choosing the "Boot Linux from CD" option from the rEFIt menu. Once the machine is booted choose your language and at the Main Menu choose "Install Kubuntu".</p>

<p>After following through the screens for choosing language, timezone and keyboard layout (be sure to choose Macintosh) you'll be at the "Prepare Disk Space" step of the install. Here, choose "Guided - use the largest continuous free space" from the menu and continue to the next screen. Follow the directions on the next screen to enter your user and computer information, and on the final "Ready to Install" screen click the "Install" button to complete the process.</p>

<p>The install process took approximately 18 minutes on my MacBook Pro but your install time may vary slightly depending on machine specs. Now would be a great time to go grab yourself a can of Red Bull while you're waiting!</p>

<p>Now that the installation is complete, reboot the laptop and when the rEFIt boot menu appears choose the "Start Partitioning Tool" option to synchronize the partition tables. When prompted, hit "Y" to perform the sync and return to the boot menu. I recommend choosing the "Shutdown the Computer" option and booting back up for the synchronization to succeed. I've seen odd behavior were the laptop will just hang at the penguin logo if a full power down isn't performed.</p>

<p>Once the laptop has rebooted and reaches the rEFIt boot menus, choose "Linux" to boot into your new Kubuntu partition. The wired network works out-of-the-box so be sure to have a cable connected so you have internet connectivity.</p>

<p>Log into the system by using the account you created during the install process.</p>

<p>The first order of business is to disable the default Kubuntu startup and shutdown splash screens. I find the over-sized progress bars rather annoying and enjoy being able to see the system messages during power cycles.</p>

<p>To accomplish this we simply have to edit the Menu file for the Grub Bootloader.</p>

<p>Open a console session (K-Menu -> Applications -> System -> Konsole) and open the menu file for editing:</p>

<pre><code>sudo vi /boot/grub/menu.lst
</code></pre>

<p>The line we need to edit is::</p>

<pre><code># defoptions= quite splash
</code></pre>

<p>simply delete the <em>quite</em> and <em>splash</em> options, leaving the line as:</p>

<pre><code># defoptions=
</code></pre>

<p>Finally, save the file and quit out of the editor.</p>

<p>Normally you would run <code>sudo update-grub</code> at this point to implement the changes, but it's going to be run for you in the next steps so you can skip it.</p>

<p>Next we need to get all the latest software updates:</p>

<pre><code>sudo apt-get update
sudo apt-get dist-upgrade
</code></pre>

<p>This only took about 3 minutes on my system. Again, the time will obviously vary depending on your internet connection speed and your MacBook Pro model.</p>

<p>Once the upgrade completes, reboot the laptop to pick-up the new Kernel and other updates.</p></li>
<li><p><strong>Configure Xorg</strong></p>

<p>I find the "out-of-the-box" Xorg settings to be nearly unusable due to the sensitivity of the touchpad. Left at the default settings you'll find that you inadvertently trigger 'click' actions while simply touching the touchpad.</p>

<p>To adjust the touchpad we need to edit the Xorg configuration file:</p>

<pre><code>sudo vi /etc/X11/xorg.conf
</code></pre>

<p>Look for the section that applies to the touchpad hardware:</p>

<p>(TO-DO)</p>

<p>And add these lines:</p>

<p>(TO-DO)</p>

<p>Save the file and to restart X Windows (by pressing Ctrl-Option-Delete) to pick-up the changes you just made.</p>

<p>This next step is just personal preference but I've included it here for the benefit of others. I'm not a big fan of all the sound effects that are configured by default; with the biggest offender for me being the "System Bell" that rings at every tab-completion attempt while in a Konsole session.</p>

<ol>
<li>Open the System Notification Configuration panel here: <code>K-Menu -&gt; Computer -&gt; System Settings -&gt; Notifications</code>. </li>
<li>Choose 'Konsole' from the Event Source pulldown menu.</li>
<li>Highlight the "Bell in visible session" event.</li>
<li>Uncheck the "Play a sound" option in the Actions section.</li>
</ol>

<p>For good measure lets disable the Startup/Shutdown sounds as well.</p>

<ol>
<li>Choose <em>KDE System Notifications</em> in the <em>Event Source</em> pulldown menu.</li>
<li>Highlight the <em>Logout</em> event and uncheck the <em>Play a sound</em> action.</li>
<li>Now do the same for the <em>Login</em> event.</li>
</ol>

<p>Finally click "Apply" and feel free to reboot your laptop to enjoy the silence.</p></li>
<li><p><strong>Development Tools</strong></p>

<p>Before we continue there are some packages that need to be installed in order to compile the drivers in the upcoming sections. All the necessary build tools can be easily installed in a single command:</p>

<pre><code>sudo apt-get install build-essential subversion automake autoconf
</code></pre></li>
<li><p><strong>Wireless (with WPA)</strong></p>

<p>The version of Kubuntu used when writing this article doesn't support the AirPort Extreme hardware that came with my MacBook Pro.</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="iwconfig_before.png" src="http://www.pingtrip.com/files/images/iwconfig_before.png" width="420" height="182" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></p>

<p>The MadWifi drivers version 0.94</p>

<p>However, lucky for us the latest version available from the MadWifi source repository does.</p>

<div class="Update"><b>Update:</b> 
 08/02/2008 - The DNS servers for madwifi.org weren't responding this morning for me. The workaround was to add an entry to <code>/etc/hosts</code> that read <code>"217.24.1.142    svn.madwifi.org"</code> </div>

<pre><code>sudo su
cd /usr/local/src
svn co https://svn.madwifi.org/madwifi/trunk ./madwifi
cd ./madwifi/scripts
./madwifi-unload
./find-madwifi-modules.sh $(uname -r)
</code></pre>

<p>(hit 'r' then return to remove the old modules)</p>

<pre><code>cd ..
</code></pre>

<p>Build and install the module:</p>

<pre><code>make 
make install
</code></pre>

<p>Now lets load our freshly built modules:</p>

<pre><code>modprobe ath_pci
</code></pre>

<p>Hey! Things are starting to look better:</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="iwconfig_after.png" src="http://www.pingtrip.com/files/images/iwconfig_after.png" width="420" height="204" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></p>

<p>At the time of this writing KNetworkManager had some issues recognizing the wireless device. I'm sure it'll be sorted out once the latest MadWifi drivers are merged into the Kubuntu build.</p>

<p>For the time being I've been connecting manually to WiFi networks.</p>

<pre><code>wpa_passphrase YOURSSID 'YourPassphrase' &gt; /etc/wpa_supplicant.conf
chmod 600 /etc/wpa_supplicant.conf
exit
</code></pre>

<p>Ok, we should be ready to test a connection to a WPA enabled access point.</p>

<pre><code>sudo iwconfig ath0 essid 'YOURSSID'
sudo wpa_supplicant -Bw -Dwext -iath0 -c /etc/wpa_supplicant.conf
</code></pre>

<p>Now if you run 'iwconfig' you should see that you're associated with your access point:</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="iwconfig-associated.png" src="http://www.pingtrip.com/files/images/iwconfig-associated.png" width="420" height="217" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></p>

<p>If the "Access Point" displays "Not-Associated" instead of the MAC address of your WAP you may have a typo in the wpasupplicant config file.</p>

<pre><code>sudo dhclient ath0
</code></pre>

<p>Now the wireless interface (ath0) should have an IP address.</p>

<pre><code>ifconfig
</code></pre>

<p><p>Happy surfing wirelessly on your MacBook Pro!</p></li>
</ol></p>
]]>
    </content>
</entry>

<entry>
    <title>Leopard and Kubuntu on a MacBook Pro</title>
    <link rel="alternate" type="text/html" href="http://www.pingtrip.com/weblog/2008/04/leopard-and-kubuntu-on-a-macbook-pro" />
    <id>tag:www.pingtrip.com,2008://1.2</id>

    <published>2008-04-05T00:31:36Z</published>
    <updated>2008-08-20T21:30:17Z</updated>

    <summary>Thanks to a fun personality quirk of mine I find myself re-imaging my MacBook Pro on a regular basis, so I figured documenting the process would be a brilliant idea. The goal is actually twofold: to streamline the process for...</summary>
    <author>
        <name>Dave</name>
        
    </author>
    
        <category term="MacBook Pro" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="kubuntu" label="Kubuntu" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="leopard" label="Leopard" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="macbookpro" label="MacBook Pro" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.pingtrip.com/">
        <![CDATA[<p>Thanks to a fun personality quirk of mine I find myself re-imaging my MacBook Pro on a regular basis, so I figured documenting the process would be a brilliant idea. The goal is actually twofold: to streamline the process for myself and to provide a baseline for folks attempting to re-create any of my experiments on their own MBPs.</p>

<p>The directions which follow apply to <strong>my</strong> dual boot MacBook Pro, your mileage may vary...</p>
]]>
        <![CDATA[<h1>Part One: The Leopard Half</h1>

<ol>
<li><p>Boot from the Leopard DVD and after choosing a language you'll be presented with the Mac OS X Installer welcome screen. We're going to ignore the installer for a
moment while we set up the correct disk partitions.</p>

<div class="Note"><b>Note:</b> 
Jump to step 2 if partitioning has already been done and you're simply reinstalling OS's</div>

<p>Run the Disk Utility found under the Utilities-&gt;Disk Utility toolbar menu. Highlight the main drive (149.1 GB Fujitsu) and click on the Partition tab. Use the Volume Scheme section to configure the partition layout you'd like to create. I prefer to make a 125GB Mac OS Extended (Journaled) and name it "Leopard", and leave the remaining as "Free Space".</p>

<p>After applying the changes you can exit the Disk Utility.</p></li>
<li><p>Click continue on the Mac OS X Installer welcome screen, then agree on the Software License pop-up, and when prompted for the install destination choose the MacBook's main drive (it most likely has a exclamation warning over it). Under options select the "Erase and Install" option with the default file system (Mac OS Extended (Journaled). Then click "Ok" followed by "Continue".</p></li>
<li><p>At the "Install Summary" screen click "Customize" and uncheck everything except for "Essential System Software" <strike>and "X11"</strike> and click the "Install" button.<div class="Update"><b>Update:</b> 
 I no longer use the included X11 package and instead install Xquartz. More info can be found in my <a href="http://www.pingtrip.com/weblog/2008/08/essential-software-for-os-x">Essential Software for OS X article</a>. </div></p></li>
<li><p>After the install process, the computer will reboot. Complete the install process by following the prompts for Region, Keyboard settings, .Mac and Apple account information, and finally, account creation.</p></li>
<li><p>Now run the Software Update utility and restart the laptop.</p></li>
<li><p>Repeat step 5 as needed.</p></li>
<li><p>Install iLife '08 from recovery DVDs that were included with the MBP via the "Install Bundled Software Only" component (iMovie, iDVD, iPhoto; uncheck everything else)</p></li>
<li><p>Now run the Software Update utility until the OS is fully updated.</p></li>
</ol>

<p>Congratulations! Your OS X base system is now installed and updated.</p>

<p>Now it's time to configure some System Preferences for, in my opinion, improving usability. Below are the most common ones I tweak but you may prefer the default settings; which I assume is why they call them <i>Preferences</i>...</p>

<ol>
<li><p><strong>Rename the laptop</strong>
By default the OS name the laptop "<em>Username's MacBook Pro</em>" which is a bit wordy when you're working in a terminal window with the standard shell prompt.</p>

<p>You can change this under the System Preferences-&gt;Sharing tab.</p></li>
<li><p><strong>Enable Secondary Clicks</strong>
I love the feature of placing two fingers on the trackpad and clicking the trackpad button to activate a Secondary Click (aka Right Click).</p>

<p>You enable this by putting a check in the "Enable Secondary Clicks" box on the System Preferences-&gt;Keyboard + Mouse-&gt;Trackpad tab.</p></li>
<li><p><strong>Shutoff Wireless Devices</strong>
For the power saving benefit, as well as the extra security, I leave the wireless devices disabled until actually needed.</p>

<p>The AirPort Extreme Wi-Fi and Bluetooth radio can both be disabled through their corresponding icons in the OS X toolbar.</p></li>
<li><p>Other minor tweaks I usually do are related to visuals, like changing the desktop image, resizing and removing unnecessary icons from the dock.</p></li>
</ol>

<p>Now its time to install the all important applications; check out my <a href="http://www.pingtrip.com/weblog/2008/08/essential-software-for-os-x">Essential Software for OS X</a> article for a list of my favorite apps.</p>

<h1>Part Two: The Kubuntu Half</h1>

<p>Due to the recent popularity of Linux MacBook Pro's, I've created a separate article dedicated to installing <a href="http://www.pingtrip.com/weblog/2008/04/kubuntu-on-a-macbook-pro">Kubuntu on a Macbook Pro</a>.</p>
]]>
    </content>
</entry>

</feed>
