<?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-3389714266072819115</id><updated>2011-07-28T09:11:24.003-04:00</updated><category term='linux'/><category term='linux box'/><category term='java'/><category term='dd-wrt'/><category term='programming'/><category term='m4a to mp3'/><category term='nodoka'/><category term='buffalo'/><category term='fedora'/><category term='iced tea'/><category term='lisp'/><category term='routers'/><category term='lvm'/><category term='bash'/><category term='beowulf cluster'/><category term='sparc'/><category term='multimedia'/><category term='linksys'/><category term='mass storage'/><category term='c'/><category term='xorg'/><category term='ultimate linux box'/><category term='dual screens'/><category term='wireless'/><category term='sun'/><category term='debian'/><category term='code style'/><category term='nfs'/><category term='ubuntu'/><category term='raid'/><title type='text'>(cons 'geek 'culture)</title><subtitle type='html'>Cutting edge culture for geeks...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-2332718652981506419</id><published>2008-04-10T19:39:00.013-04:00</published><updated>2008-04-11T10:12:43.400-04:00</updated><title type='text'>Skyy Black Light Lamp</title><content type='html'>This is basically a quick guide for how to build a lamp out of a bottle. You can fine tune it as you see fit, the basic process is the same. I made a black light lamp out of a Skyy bottle. I've also made a Grey Goose lamp in the past.&lt;br /&gt;&lt;br /&gt;Stuff you need before you start:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Bottle for base&lt;/li&gt;&lt;li&gt;Lamp shade&lt;/li&gt;&lt;li&gt;Old/cheap lamp to smash (for parts, its cheaper usually then buying all the components at a hardware store)&lt;/li&gt;&lt;li&gt;Wirecutters&lt;/li&gt;&lt;li&gt;Wire strippers&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Dremel (with diamond bits)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Drill with tungsten drill bit (or something that is rated to drill glass)&lt;/li&gt;&lt;li&gt;Electrical tape&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Light bulb&lt;/li&gt;&lt;li&gt;Masking tape&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Wire nuts&lt;/li&gt;&lt;/ul&gt;The components of the lamp you need (if you choose to buy them from a hardware store) are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Light socket with switch&lt;/li&gt;&lt;li&gt;Cord&lt;/li&gt;&lt;/ul&gt;Once you get the technique down, this takes around a half hour, if this is your first time plan on spending a bit more time on it.&lt;br /&gt;&lt;br /&gt;First off, if you just have an old or cheap lamp to smash do that, then cut the cord about an inch below the socket, then strip both ends of the cord like so:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_rxSZeLsCKXw/R_6n7iHnHcI/AAAAAAAAAAM/7tANbnYqBM4/s1600-h/lamp1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_rxSZeLsCKXw/R_6n7iHnHcI/AAAAAAAAAAM/7tANbnYqBM4/s320/lamp1.jpg" alt="" id="BLOGGER_PHOTO_ID_5187768461990239682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Next prep the bottle for drilling. This means wash it out with warm water and apply masking tape where you plan on drilling the hole (the back of the bottle at the bottom is where I usually drill).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rxSZeLsCKXw/R_6o3SHnHeI/AAAAAAAAAAc/hU5iFLL3wic/s1600-h/lamp3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rxSZeLsCKXw/R_6o3SHnHeI/AAAAAAAAAAc/hU5iFLL3wic/s320/lamp3.jpg" alt="" id="BLOGGER_PHOTO_ID_5187769488487423458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After drilling the hole, you may need to widen it with the dremel. Next, take apart the socket and dremel the bottom with a sandpaper bit so that you can fit it somewhat loosely into the top of the bottle.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_rxSZeLsCKXw/R_6styHnHjI/AAAAAAAAABE/EzgsYzzNWN4/s1600-h/lamp7.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_rxSZeLsCKXw/R_6styHnHjI/AAAAAAAAABE/EzgsYzzNWN4/s320/lamp7.jpg" alt="" id="BLOGGER_PHOTO_ID_5187773723325177394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Make sure its not too loose, but you can take it out easily. Now, use a pencil to push a strip of electrical tape on the inside of the bottle like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rxSZeLsCKXw/R_6ppSHnHfI/AAAAAAAAAAk/ohJf_2z5Ba8/s1600-h/lamp9.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rxSZeLsCKXw/R_6ppSHnHfI/AAAAAAAAAAk/ohJf_2z5Ba8/s320/lamp9.jpg" alt="" id="BLOGGER_PHOTO_ID_5187770347480882674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;When you have this done, wrap a strip of electrical tape around the bottom the socket where you dremeled. This ensures that the socket is lodged firmly in the bottle.&lt;br /&gt;&lt;br /&gt;Now push the cord through the bottle and socket so it sticks out the top. Attach it with wire nuts to the light switch component.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_rxSZeLsCKXw/R_6qtyHnHgI/AAAAAAAAAAs/KGEWbgc7OxU/s1600-h/lamp11.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_rxSZeLsCKXw/R_6qtyHnHgI/AAAAAAAAAAs/KGEWbgc7OxU/s320/lamp11.jpg" alt="" id="BLOGGER_PHOTO_ID_5187771524301921794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If the nuts are small enough, you should be able to cram it all into the bottom of the socket underneath the switch, if not you'll have to leave them in the bottle under the socket. Screw the top of the socket on, attach a lamp shade, screw in a light bulb, and viola! Your new lamp is completed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_rxSZeLsCKXw/R_6sYCHnHiI/AAAAAAAAAA8/rcyTpFeWDxo/s1600-h/img_4476.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_rxSZeLsCKXw/R_6sYCHnHiI/AAAAAAAAAA8/rcyTpFeWDxo/s320/img_4476.jpg" alt="" id="BLOGGER_PHOTO_ID_5187773349663022626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_rxSZeLsCKXw/R_6zFiHnHkI/AAAAAAAAABU/zPSpLWH8dJo/s1600-h/lamp13.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_rxSZeLsCKXw/R_6zFiHnHkI/AAAAAAAAABU/zPSpLWH8dJo/s320/lamp13.jpg" alt="" id="BLOGGER_PHOTO_ID_5187780728416837186" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-2332718652981506419?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/2332718652981506419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=2332718652981506419' title='40 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/2332718652981506419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/2332718652981506419'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2008/04/skyy-black-light-lamp.html' title='Skyy Black Light Lamp'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_rxSZeLsCKXw/R_6n7iHnHcI/AAAAAAAAAAM/7tANbnYqBM4/s72-c/lamp1.jpg' height='72' width='72'/><thr:total>40</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-6410718746502805652</id><published>2007-10-07T20:35:00.000-04:00</published><updated>2007-10-07T21:00:53.441-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nodoka'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='dual screens'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='iced tea'/><title type='text'>Fedora 8 Test 3 Thoughts</title><content type='html'>Being the avid Fedora user I am, I couldn't wait to try out the final test release of Fedora 8. I am excited for a few key features of Fedora 8, mainly Iced Tea (a OpenJDK implementation) and CodecBuddy. The full list of features can be found &lt;a href="http://fedoraproject.org/wiki/Releases/8/FeatureList"&gt;here&lt;/a&gt;. The Fedora 8 Test 3 LiveCD can be downloaded &lt;a href="http://fedoraproject.org/get-fedora.html"&gt;here&lt;/a&gt;. Without further ado, I'll break down what I saw as the good and the bad of Fedora 8 Test 3.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Good&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I really liked the Nodoka theme, I think it will succeed in making the Fedora desktop stick out in the crowd, as well as give it a look Fedora users can associate with it. The default wallpaper is also a devatation from the norm, not even including the Fedora logo in any way. In keeping with the trend of using all OSS, the Fedora team has included Abiword instead of OO.org Writer as the default word processor. Iced Tea preforms as expected, with one minor glitch (to be covered in the next section). With the addition of CodecBuddy and a cleaned up GUI for package management, Fedora is becoming easier to use, while still maintaining its high OSS standards. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Bad&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There is no Firefox Iced Tea plugin. I am hoping that the Iced Tea team will make this a priority and we will have one in the near future. Also, my dual screen configuration was not automatically detected (while not really a 'bad' thing, it is something that Windows and Mac OS are very good at, and Linux in general needs to get better at detecting and managing). The old bluecurve icon set is still being used, and although it doesn't look horrible with the Nodoka theme, I am ready to move on to a new default icon set (my personal favorite is Echo). &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusions&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;With the release of Test 3, the Fedora team has once again shown their dedication to providing people with the easiest to use fully Open OS. Keep it up guys!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-6410718746502805652?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/6410718746502805652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=6410718746502805652' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/6410718746502805652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/6410718746502805652'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/10/fedora-8-test-3-thoughts.html' title='Fedora 8 Test 3 Thoughts'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-2246644417280676359</id><published>2007-10-01T21:48:00.000-04:00</published><updated>2007-10-03T12:25:35.208-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='dual screens'/><category scheme='http://www.blogger.com/atom/ns#' term='xorg'/><title type='text'>Dual Screens in Linux</title><content type='html'>&lt;p&gt;&lt;br /&gt;While it is true that installing a second screen and getting it to span the desktop isn't as easy in Linux as it is in Windows or Mac Os, it isn't terrible to set up if you are willing to break out &lt;code&gt;vim&lt;/code&gt; and edit &lt;code&gt;/etc/X11/xorg.conf&lt;/code&gt;. A major note is that using the system tools in GNOME (sytem-config-display) to set up the dual screens fails as it does not edit the &lt;code&gt;xorg.conf&lt;/code&gt; correctly. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I used &lt;a href="http://gentoo-wiki.com/HOWTO_Dual_Monitors"&gt;this&lt;/a&gt; guide to assist in setting my dual screens up. I have two AOC LM742 17" flat panel moniters (ranging in price anywhere from $130-$189). I have a EVGA 7600GS and XOrg 7.1. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;Here is my &lt;code&gt;xorg.conf&lt;/code&gt; for dual screens in FC6 using the Nvidia drivers&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;&amp;nbsp&amp;nbsp Identifier     "single head configuration"&lt;br /&gt;&amp;nbsp&amp;nbsp Screen      0  "Screen0" 0 0&lt;br /&gt;&amp;nbsp&amp;nbsp        InputDevice    "Keyboard0" "CoreKeyboard"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Files"&lt;br /&gt;&amp;nbsp&amp;nbsp        ModulePath   "/usr/lib64/xorg/modules/extensions/nvidia"&lt;br /&gt;&amp;nbsp&amp;nbsp        ModulePath   "/usr/lib64/xorg/modules"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;&amp;nbsp&amp;nbsp        Identifier  "Keyboard0"&lt;br /&gt;&amp;nbsp&amp;nbsp        Driver      "kbd"&lt;br /&gt;&amp;nbsp&amp;nbsp        Option      "XkbModel" "pc105"&lt;br /&gt;&amp;nbsp&amp;nbsp        Option      "XkbLayout" "us"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;&lt;br /&gt; ### Comment all HorizSync and VertSync values to use DDC:&lt;br /&gt;&amp;nbsp&amp;nbsp        Identifier   "Monitor0"&lt;br /&gt;&amp;nbsp&amp;nbsp        VendorName   "Monitor Vendor"&lt;br /&gt;&amp;nbsp&amp;nbsp        ModelName    "LCD Panel 1280x1024"&lt;br /&gt; ### Comment all HorizSync and VertSync values to use DDC:&lt;br /&gt;&amp;nbsp&amp;nbsp        HorizSync    31.5 - 67.0&lt;br /&gt;&amp;nbsp&amp;nbsp        VertRefresh  50.0 - 75.0&lt;br /&gt;&amp;nbsp&amp;nbsp        Option      "dpms"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;&amp;nbsp&amp;nbsp        Identifier  "Videocard0"&lt;br /&gt;&amp;nbsp&amp;nbsp        Driver      "nvidia"&lt;br /&gt;&amp;nbsp&amp;nbsp        BoardName       "geForce 7600 GS"&lt;br /&gt;&amp;nbsp&amp;nbsp        BusID           "PCI:2:0:0"&lt;br /&gt;&amp;nbsp&amp;nbsp        Option      "AddARGBGLXVisuals" "True"&lt;br /&gt;&amp;nbsp&amp;nbsp        Option          "TwinView"&lt;br /&gt;&amp;nbsp&amp;nbsp        Option     "MetaModes"  "1280x1024,1280x1024; 1280x1024; 1024x768,1024x768; 1024x768; 800x600,800x600; 800x600"&lt;br /&gt;&amp;nbsp&amp;nbsp        Option     "TwinViewOrientation"      "RightOf"&lt;br /&gt;&amp;nbsp&amp;nbsp        Option     "SecondMonitorHorizSync"   "UseEdidFreqs"&lt;br /&gt;&amp;nbsp&amp;nbsp        Option     "SecondMonitorVertRefresh" "UseEdidFreqs"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;&amp;nbsp&amp;nbsp        Identifier "Screen0"&lt;br /&gt;&amp;nbsp&amp;nbsp        Device     "Videocard0"&lt;br /&gt;&amp;nbsp&amp;nbsp        Monitor    "Monitor0"&lt;br /&gt;&amp;nbsp&amp;nbsp        DefaultDepth     24&lt;br /&gt;&amp;nbsp&amp;nbsp        SubSection "Display"&lt;br /&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp                Viewport   0 0&lt;br /&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp                Depth     24&lt;br /&gt;&amp;nbsp&amp;nbsp        EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Enjoy and good luck!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-2246644417280676359?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/2246644417280676359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=2246644417280676359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/2246644417280676359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/2246644417280676359'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/10/dual-screens-in-linux.html' title='Dual Screens in Linux'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-1611203891475094123</id><published>2007-08-23T22:10:00.000-04:00</published><updated>2007-08-23T22:25:54.780-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='m4a to mp3'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><title type='text'>A Quick Hack to Convert m4a to mp3 in Linux</title><content type='html'>As I was getting ready for my eight hour car trip back to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;MTU&lt;/span&gt;, I wanted some music to ease the pain of the long trip. I do not own a portable MP3 player, so everything I wanted was going to have to be burned to an audio CD (I use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;GnomeBaker&lt;/span&gt; to do this). The only issue was, most of my Pink Floyd music was in M4A format, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;GnomeBaker&lt;/span&gt; only handles &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;OGG&lt;/span&gt;/MP3 for inclusion in an audio CD. So without further ado, here is the code for the bash script I wrote to convert M4A's to MP3:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;for i in *.m4a; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;faad -o - "$i" lame - "${i%.m4a}.mp3"&lt;br /&gt;done&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;After this ran, I also executed a &lt;code&gt;rm *m4a&lt;/code&gt;. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-1611203891475094123?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/1611203891475094123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=1611203891475094123' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/1611203891475094123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/1611203891475094123'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/08/quick-hack-to-convert-m4a-to-mp3-in.html' title='A Quick Hack to Convert m4a to mp3 in Linux'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-5887568992750569156</id><published>2007-08-18T21:54:00.000-04:00</published><updated>2007-08-18T22:40:09.694-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>The Practical Linux Desktop Part 2: Software</title><content type='html'>So now that you have your new desktop built, the next major question is what Linux distro should you choose to install? I will cover this, as well as some of my favorite desktop software below.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Choosing a Distro &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The two major distros vying for desktop domianience these days are Ubuntu and Fedora. Both have their strengths and weaknesses. Ubuntu seems to be the choice for users that are completly new to Linux (usually coming from a Windows background). It is easy to install, and Ubuntu 7.01 has a nifty script that autodetects most hardware and installs the approprate drivers (even nonfree drivers, so beware!). The other nice thing about Ubuntu is the community is aware of its stance as a "Distro for newbies", and takes pride in their motto: "Linux for Human Beings".&lt;br /&gt;&lt;br /&gt;On the other hand, you have my personal favorite, Fedora. Fedora is sponsered by Red Hat, which gives it a unique advantage over several other Linux projects: it has strong and steady cash flow. Fedora is all about showcasing cutting edge open source software. This means that open applications will be installed by default, and as such it can pose a few issues for complete Linux newbies, even so, it is still considered by many to be "newbie friendly". I have chose Fedora to install on my desktop systems because of ease of installation and the cutting edge open source software that is always included.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Next Step&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;After you've chosen a distro and installed, you will usually have some work left to do. If you have an Nvidia card, make sure you install the proper drivers (in Fedora):&lt;br /&gt;&lt;code&gt;&lt;br /&gt;yum --enable-repo=livna install kmod-nvida &lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;After this, you can enable such things as Beryl or Compiz. I personally use VLC to view videos, Rhythembox for music playback, Firefox for web browsing, Miro for Internet TV, and Evolution for email (many people prefer Thunderbird). Many of these programs are already in the distro repositories, therefore you can just use the package manager to install them if they are not already installed.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Programming&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you are a programmer, Linux is definitely the best OS for you in terms of practicality. Many languages are included with the install (Perl, Python, bash, C, C++), and most others are trival to install. The main issue of note here is that installing Java has been an ordeal, however, the Java VM included with Fedora 8 called Iced Tea will be an OpenJDK implementation included in the main repository (hopefully). This will be a huge relief to many Java on Linux programmers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;More Multimedia&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Multimedia is huge these days, and of course you should expect it to be a huge part of your desktop environmet. Many detrators of Linux try to bash its seemingly low quality support for multimedia. As a long term Linux user, I can tell you that multimedia support under Linux has improved dramitically and with increasing rapidity over the last few years. I use Fspot for my digital camera and photo management, GnomeBaker for audio CD burning, mencoder for DVD ripping (XDVDShrink works just as well, and has a GUI), dvdauthor to create DVDs, Audicity to create audio, and Cinelerra to create and edit movies. Installing all of these programs is fairly trivial in both Ubuntu and Fedora.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Final Thoughts&lt;/b&gt;&lt;br /&gt;So that's it! The next step? Enjoy your powerful new Linux desktop!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-5887568992750569156?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/5887568992750569156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=5887568992750569156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/5887568992750569156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/5887568992750569156'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/08/practical-linux-desktop-part-2-software.html' title='The Practical Linux Desktop Part 2: Software'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-3434175000146573290</id><published>2007-08-15T22:39:00.000-04:00</published><updated>2007-08-16T00:05:33.671-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='linux box'/><category scheme='http://www.blogger.com/atom/ns#' term='ultimate linux box'/><title type='text'>A Practical Linux Desktop Part 1: Hardware</title><content type='html'>Every year, the &lt;a href="http://www.linuxmagazine.com/"&gt;Linux Magazine&lt;/a&gt; does an article on the "Ultimate Linux Box", and they include all of the latest and greatest hardware, as well as rate how well it works with Linux. The price tags on these boxes are generally out of my price range, and I can only assume out of the price range of many a poor college student like myself.&lt;br /&gt;&lt;br /&gt;So in my next two posts, I will show you how to build a great Linux machine for under $1000 (this includes the price for a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;monitor&lt;/span&gt;), and what &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;distros&lt;/span&gt; you will want to consider along with instructions for setting up some useful applications.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Getting Started&lt;/b&gt;&lt;br /&gt;To start out, I will list my system's specs. I purchased this box back in &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;January&lt;/span&gt; 2007.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Processor: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;AMD&lt;/span&gt; X2 4200+ (2x2.2GHZ)&lt;/li&gt;&lt;li&gt;Motherboard: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Asus&lt;/span&gt; M2N (Socket AM2)&lt;/li&gt;&lt;li&gt;Video Card: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;EVGA&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Nvidia&lt;/span&gt; 7600GS&lt;/li&gt;&lt;li&gt;RAM: 1GB &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;PQi&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;DDR&lt;/span&gt;2 800&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;HDD&lt;/span&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;WD&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;SATA&lt;/span&gt;2 80GB&lt;/li&gt;&lt;li&gt;Optical Drive: LG 18x CD+-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;RW&lt;/span&gt;/DVD+-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;RW&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;PSU&lt;/span&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Logisys&lt;/span&gt; 575W&lt;/li&gt;&lt;li&gt;Case: Cooler Master Centurion 5&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;This cost me ~$650 at the time. Currently, you could buy a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;comparable&lt;/span&gt; system for ~$450-$500. &lt;/p&gt;&lt;p&gt;Let's take a deeper look at what kinds of hardware makes the most practical Linux desktop by starting with considering some tasks you will most likely want your desktop to preform. Chances are, you will want to do video editing, word processing and other office tasks, play games, store your data, as well as play and possibly edit your music.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Processor&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The first thing you will want to budget for is a processor. I chose the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;AMD&lt;/span&gt; X2 4200+ because I believe it offers me the best price/performance ratio. At under $100, this processor offers plenty of power as a mid-level dual core, not to mention that the stock &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;heatsink&lt;/span&gt; and fan is great. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;AMD&lt;/span&gt; processors usually get a bad rap for being power hungry and running hot, however, I believe they still have the best mid-entry dual cores for the price (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;newegg&lt;/span&gt;.com shows the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;AMD&lt;/span&gt; X2 3800+ 2.0GHZ at $65 and the Intel Core 2 Duo E4400 2.0GHZ at $125.99). This leads me to conclude that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;AMD&lt;/span&gt; is in fact the better processor &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;manufacturer&lt;/span&gt; for our practical Linux box. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Video&lt;/b&gt;&lt;/p&gt;&lt;p&gt;For several years now Linux users have been waiting with bated breath to see which of the two major video card &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;manufacturers&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;ATi&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;Nvidia&lt;/span&gt;) will have better support for Linux users. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_27"&gt;Unfortunately&lt;/span&gt;, neither company offers an open source driver solution, although at the time of writing, Intel integrated graphics do use open drivers. For the last few years, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Nvidia&lt;/span&gt; has won out in terms of better support for Linux users, their drivers work and are included in all major &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;distro&lt;/span&gt; repositories. While &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;ATi&lt;/span&gt; does have drivers that are also included in most repositories for major &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;distros&lt;/span&gt; (the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;fglrx&lt;/span&gt; driver), this is always far behind the times and never seems to work on recent hardware &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_33"&gt;reliably&lt;/span&gt;. For example, I have had my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;ATi&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;Radeon&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;Xpress&lt;/span&gt; 200M for over two years and just got direct rendering working a few months ago (it is broken again with a new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;Xorg&lt;/span&gt; update). &lt;/p&gt;&lt;p&gt;For these reasons, I chose to purchase &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;Nvidia&lt;/span&gt;. For a practical desktop, we don't need the latest, most powerful &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;GPU&lt;/span&gt;, so once again I opted for the mid-level 7600GS that would accomplish all the tasks I need it to. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;Nvidia&lt;/span&gt; driver for the 7600GS is fully supported with Linux, and it is a breeze to set up (as you will see in the next part). &lt;/p&gt;&lt;p&gt;&lt;b&gt;Storage&lt;/b&gt;&lt;/p&gt;&lt;p&gt;I chose an 80GB &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;SATA&lt;/span&gt; drive for storage, however I had tight price restrictions. I would suggest at least a 250GB drive, or perhaps a 2 disk RAID1. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Conclusions&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Hopefully these tips have helped you realize that a practical Linux box can be powerful as well as... practical! Not to mention easily fitting in your budget. In the next part we well look at how to set up Linux and install all the useful applications and games for you to get the most out of your new hardware.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-3434175000146573290?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/3434175000146573290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=3434175000146573290' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/3434175000146573290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/3434175000146573290'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/08/practical-linux-desktop-part-1-hardware.html' title='A Practical Linux Desktop Part 1: Hardware'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-2303997444903303064</id><published>2007-08-11T23:08:00.000-04:00</published><updated>2007-08-12T00:45:21.180-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='raid'/><category scheme='http://www.blogger.com/atom/ns#' term='lvm'/><category scheme='http://www.blogger.com/atom/ns#' term='mass storage'/><title type='text'>LVM vs. Mass Storage Device</title><content type='html'>My desktop has a 80GB hard drive. In this day and age, for most people that just doesn't cut it. I had been planning on upgrading my storage space as soon as possible, and with the advent of a new school semester I have enough extra loan money to consider this. &lt;br /&gt;&lt;br /&gt;My first thought when I built my desktop back in January was that I would RAID four SATA 80GB disks. At the time, I only had enough money to purchase one drive. After researching RAID a little more, I came to the conclusion that it would be a little too complicated for me. I'm not worried about data redundancy and disk parity for my desktop, and a simpler RAID (such as RAID0 or RAID1) just didn't seem worth the headache of setting it up. Not to mention the cost of buying another three 80GB drives. &lt;br /&gt;&lt;br /&gt;A more recent thought was to purchase a large drive (such as a 250GB drive) and use LVM2 to span both devices, allowing me to essentially use the larger drive as an extension to my &lt;code&gt;/home&lt;/code&gt;. This idea seemed very appealing to me until I realized that in order to use LVM2 on the large drive I had to install an OS on it. I had decided that the primary purpose of this drive would be to store movies, music, and a backup of my &lt;code&gt;/home&lt;/code&gt;, so doing more than formatting it with a filesystem seemed a little excessive.&lt;br /&gt;&lt;br /&gt;I have arrived to a solution that I think works out for the best. I will purchase an &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16822145090"&gt;this&lt;/a&gt; internal 250GB hard drive and &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16817193020"&gt;this&lt;/a&gt; external drive enclosure. This is cheaper than purchasing an external 250GB drive, and will give me the same amount of total storage as 4x80GB disks. It also has the added plus of easy portability. &lt;br /&gt;&lt;br /&gt;In the end, while a spanning LVM would be nice, it proved to be too much of a hassle and slightly overkill for my purposes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-2303997444903303064?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/2303997444903303064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=2303997444903303064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/2303997444903303064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/2303997444903303064'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/08/lvm-vs-mass-storage-device.html' title='LVM vs. Mass Storage Device'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-999541716935724539</id><published>2007-08-10T13:49:00.000-04:00</published><updated>2007-08-11T23:05:32.596-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='code style'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>Code style</title><content type='html'>A friend and I were discussing curly bracket placement for code blocks (in curly bracket languages of course), and we think it might possibly be the most flamewarred programming topic of all time. &lt;br /&gt;&lt;br /&gt;Personally, I have always coded with the initial curly bracket on the same line as the function/method header, like so:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;System.out.prinln("Hello");&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;In Java, this seems to be a fairly common practice, although in code style guidelines for my Java classes at MTU it was not stressed. However, it is a different story when you get to C++ or C. I find that most C coders I know place each curly bracket on its own newline, like so:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;int main(int argc, char **argv)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;printf("Hello\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Because I was always taught that staying consistent in my code style, I do not use that style even when coding C. I thought it was interesting; however, when I perused MTU's C++ code style guidelines (found &lt;a href="http://www.csl.mtu.edu/cs2141/www/style/"&gt;here&lt;/a&gt;), they clearly state: "Brackets &lt;b&gt;{ }&lt;/b&gt;: these must &lt;b&gt;always&lt;/b&gt; be placed on their own line."&lt;br /&gt;&lt;br /&gt;After thinking about this for a few moments, I thought about some of the non-curly bracket languages I frequently program in (Lisp and Python), and each of them have strict code style guidelines as well. Lisp doesn't have any whitespace restraints, however, if you do not indent properly, you risk catching simple errors, and the wrath of other Lispers. For example this code follows Lisp style:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;(defun foo ()&lt;br /&gt;&amp;nbsp;&amp;nbsp;(format t "Hello~%"))&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;whereas this does not:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;(defun foo ()&lt;br /&gt;&amp;nbsp;&amp;nbsp;(format t "Hello~%")&lt;br /&gt;)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;even though the Lisp compiler will let you do that. Python is much more strict about whitespace and such, forcing the programmer to write clear code. &lt;br /&gt;&lt;br /&gt;So in the end, even though a programmer may find himself/herself coding in a certain style for one language, he/she should be willing to code to the style more widely accepted for another language rather than the style he/she may be the most comfortable with (this occurs most specifically between Java and C in my opinion).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-999541716935724539?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/999541716935724539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=999541716935724539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/999541716935724539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/999541716935724539'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/08/code-style.html' title='Code style'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-6475304989597806524</id><published>2007-08-07T23:07:00.000-04:00</published><updated>2007-08-10T14:35:35.781-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sparc'/><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><title type='text'>Sun Microsystems releases UltraSPARC T2 and Fedora Test 1 is out</title><content type='html'>&lt;b&gt;UltraSPARC T2 Released&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In December 2005, Sun released the RTL code for the UltraSPARC T1 under the GPL version 2. Soon thereafter they released the source for the IP stack. Today they continue this trend with the release of the UltraSPARC T2. The T2 is an eight core processor that with CoolThreads technology (allowing it to have up to 64 threads per CPU). It is also the world's first "System on a Chip", with 10e Gigabit ethernet, PCIe16, IO, and options for several encryption schemes with a "security coprocessor" on every core. Amazingly it takes a mere 60-123 watts to power.&lt;br /&gt;&lt;br /&gt;The fact that Sun has taken such steps to open a technology such as this to the world needs to be commended. Sun knows where the future is, and is taking steps to make sure they are leading the way toward freedom with an open mind. Watch Johnathon Schwartz release the T2 to the world &lt;a href="http://www.sun.com/launch"&gt;here&lt;/a&gt;. I am still working on the hundreds of pages of documentation that was released on &lt;a href="http://www.opensparc.net/"&gt;http://www.opensparc.net&lt;/a&gt; earlier today.&lt;br /&gt;&lt;br /&gt;For more information on the UltraSPARC T2 check out: &lt;a href="http://www.sun.com/t2"&gt;http://www.sun.com/t2&lt;/a&gt;, &lt;a href="http://www.opensparc.net/"&gt;http://www.opensparc.net&lt;/a&gt;, and &lt;a href="http://www.sun.com/processors/UltraSPARC-T2"&gt;http://www.sun.com/processors/UltraSPARC-T2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Fedora 8 Test 1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Fedora 8 Test 1 was also released today, and I can only hope that when it hits stable it will have a better footing than Fedora 7 did. The release announcement is &lt;a href="https://www.redhat.com/archives/fedora-announce-list/2007-August/msg00001.html"&gt;here&lt;/a&gt;. Fedora 8 will feature IcedTea (a port of OpenJDK) as the default Java (instead of GCJ), &lt;a href="http://fedoraproject.org/wiki/Releases/Features/NodokaTheme"&gt;Nodoka&lt;/a&gt; (the new default GNOME theme), rsyslog instead of syslog for logging (there was a debate over rsyslog vs. syslog-ng, in any case whichever the user chooses to use is just a &lt;code&gt;yum&lt;/code&gt; away), and improved security for Kernel Virtual Machines. For the complete feature list, look &lt;a href="http://fedoraproject.org/wiki/Releases/8/FeatureList"&gt;here&lt;/a&gt;. I will probably wait to use Fedora 8 until it is stable (I might try Test3). The projected release date for Fedora 8 is November 8th, 2007 (the release schedule is &lt;a href="http://fedoraproject.org/wiki/Releases/8/Schedule"&gt;here&lt;/a&gt;). In my opinion, Fedora is still (and will continue to be) the leader for fully open cutting edge software (only a minor logo trademark issue keeps it off the GNU free Operating Systems list).  I can only hope Fedora 8 will improve Fedora's track record.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-6475304989597806524?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/6475304989597806524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=6475304989597806524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/6475304989597806524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/6475304989597806524'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/08/sun-microsystems-releases-ultrasparc-t2.html' title='Sun Microsystems releases UltraSPARC T2 and Fedora Test 1 is out'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-145788988762677770</id><published>2007-08-06T23:26:00.000-04:00</published><updated>2007-08-10T14:37:22.472-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='beowulf cluster'/><category scheme='http://www.blogger.com/atom/ns#' term='sparc'/><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='nfs'/><title type='text'>How to Build and Maintain a Small Beowulf Cluster</title><content type='html'>Over the summer I have managed to get my very own three node Beowulf cluster up and running. I found that there were many so called "help" sites and mailing lists. However none of them had what I really wanted: a concise point by point guide containing workarounds for maintaince issues and set up issues I might encounter. That is what I am setting out to do here. For further reading, you will want to check out: &lt;a href="http://www.phy.duke.edu/~rgb/Beowulf/beowulf_book.php"&gt;http://www.phy.duke.edu/~rgb/Beowulf/beowulf_book.php&lt;/a&gt; (the Beowulf Book) as well as &lt;a href="http://beowulf.org/"&gt;http://beowulf.org/&lt;/a&gt; (the main Beowulf site).&lt;br /&gt;&lt;br /&gt;One last note before we begin: I will attempt to make this guide as general as I possibly can, however, it will contain some tidbits specifically for SPARC users. With that, let's get started!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A Brief History of Beowulfery&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Supercomputing seems to be all the rage these days. In the last decade the Personal Computing has soared to limits unimaginable by the fathers of computing. This is mainly due to the fact that Moore's Law still seems to be in effect with no slow down in near sight. This essentially means that building your very own supercomputer may be far cheaper than you think. Virtually all major systems on the Top 500 list (&lt;a href="http://www.top500.com/"&gt;http://www.top500.com/&lt;/a&gt;) employ some sort of clustering. This is because it is cheaper nowadays to purchase several "commodity" computers and utilize them in a cluster to produce the compute power needed.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Next Step&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So you think you want to build your very own Beowulf eh? Be warned: this is still not a task for the timid, but help is readily available via the Internet (see the links above). My cluster currently consists of three Sun Microsystems Ultra 10s (440MHZ UltraSPARC IIi, 512MB RAM ea., 9.1GB HDD ea.). Whatever you use, keep in mind that a in a "true" Beowulf cluster all of the nodes have the same architecture (as well as same HDD size, RAM amount, etc).&lt;br /&gt;&lt;br /&gt;The next thing to resolve is a place to put these nodes. In this guide I will assume you have a fairly small cluster (16 nodes or less). Please note that some of these techniques may not scale well to larger clusters. In my case, with only three nodes, I can keep them practically anywhere.&lt;br /&gt;&lt;br /&gt;After you have scouted out your location, you will need to invest in a switch (the faster the better, if you can afford gigabit do it!). I use a Dlink DSH-16 10/100 Hub with Built in Switch. You may also want to purchase a UPS (I have not, mainly because of the small amount of nodes I have, and the fact that my uptime is not crucial).&lt;br /&gt;&lt;br /&gt;If you have several nodes, you may also want to invest in a KVM. This is really only practical if you have many nodes, or can find a small KVM cheap (most small PS/2 KVMS are under $100). I do not have a KVM because the cheapest model that supports Sun DINs is $740. There is also another Sun specific issue I should mention here: if you don't have a Sun keyboard plugged in at boot, OpenBoot will dump you to a serial output. This means that in order to boot correctly into Linux, you will need to plug in a keyboard. I am still looking for a workaround to this.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installing Linux&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The next thing to do is install the OS on every node. For the Ultra 10s, Debian was my distro of choice. I chose Debian because it is an extremely stable distro, and it is trivial to set up and maintain. You will also find that on older systems Debian may be much easier to install than other distros.&lt;br /&gt;&lt;br /&gt;I used Debian Etch's net install disk (&lt;a href="http://www.us.debian.org/CD/netinst/"&gt;http://www.us.debian.org/CD/netinst/&lt;/a&gt;). When you install, you need to make sure that each node has all the same software installed. What follows is a minimal list:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;GCC/G++&lt;/li&gt;&lt;li&gt;Python&lt;/li&gt;&lt;li&gt;All NFS packages&lt;/li&gt;&lt;li&gt;All NTP packages &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;as well as anything else you might need/want. Try to make sure each HDD has the same amount of used space (this comes into play when installing and using NFS).&lt;/p&gt;&lt;p&gt;You will also want to make sure every node has a static IP address. In Debian, edit the &lt;code&gt;/etc/hosts&lt;/code&gt; file and &lt;code&gt;/etc/network/interfaces&lt;/code&gt; file with the static IP addresses you choose. I used &lt;code&gt;192.168.0.100&lt;/code&gt; and up.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Installing NFS&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The main point of a cluster is to use all of the nodes effectively to complete a computing task in far less time than it would take for just one of these nodes to complete on their own. The easiest way to share information over a network is with NFS. Note that this is not the best way, merely the easiest, if you are serious about clustering you should probably start using OpenAFS (&lt;a href="http://www.openafs.org/"&gt;http://www.openafs.org/&lt;/a&gt;) or Lustre (&lt;a href="http://www.lustre.org/"&gt;http://www.lustre.org/&lt;/a&gt;) after you get the hang of maintain and using your cluster with NFS. &lt;/p&gt;&lt;p&gt;The main issue with NFS is that it is insecure on clusters because you have to use the &lt;code&gt;no_root_squash&lt;/code&gt; option in &lt;code&gt;/etc/exports&lt;/code&gt;. When I set up NFS I used this (&lt;a href="http://nfs.sourceforge.net/nfs-howto/ar01s03.html"&gt;http://nfs.sourceforge.net/nfs-howto/ar01s03.html&lt;/a&gt;) and this (&lt;a href="http://www.crazysquirrel.com/computing/debian/servers/nfs.jspx"&gt;http://www.crazysquirrel.com/computing/debian/servers/nfs.jspx&lt;/a&gt;). It was actually much easier than I had first anticipated. &lt;/p&gt;&lt;p&gt;Before you continue, make sure you can ping and ssh into every node in the cluster!&lt;/p&gt;&lt;p&gt;I decided to share the &lt;code&gt;/home&lt;/code&gt; and &lt;code&gt;/usr/local&lt;/code&gt;. My &lt;code&gt;/etc/exports&lt;/code&gt; looks like this:&lt;/p&gt;&lt;p&gt;&lt;code&gt;/usr/local 192.168.0.101(rw,no_root_squash) 192.168.0.102(rw,no_root_squash)&lt;br /&gt;/home 192.168.0.101(rw,no_root_squash) 192.168.0.102(rw,no_root_squash)&lt;/code&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Believe it or not, you are almost done! The only thing left to do is edit the client nodes' &lt;code&gt;/etc/fstab&lt;/code&gt; by placing a line in each for each NFS exported directory. Below is the relevent portion of &lt;code&gt;/etc/fstab&lt;/code&gt; for one of my nodes.&lt;/p&gt;&lt;p&gt;&lt;code&gt;192.168.0.100:/home /home nfs rw 0 0&lt;/p&gt;&lt;/code&gt;&lt;code&gt;&lt;p&gt;192.168.0.100:/user/local /usr/local nfs rw 0 0&lt;/code&gt;&lt;/p&gt;&lt;p&gt;This will ensure that the NFS shared directories are mounted at boot up.&lt;/p&gt;&lt;p&gt;Last but not least you need to start up NFS:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/p&gt;&lt;/code&gt;&lt;p&gt;&lt;code&gt;/etc/init.d/portmap start&lt;br /&gt;/etc/init.d/nfs-kernel-server start&lt;br /&gt;/etc/init.d/nfs-common start&lt;/code&gt;&lt;/p&gt;&lt;code&gt;&lt;p&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Make sure to do a &lt;code&gt;ps -A&lt;/code&gt; and look for nfs (or nfsd) and portmap to be running. For added security, you many want to add rules to &lt;code&gt;/etc/hosts.allow&lt;/code&gt; and &lt;code&gt;/etc/hosts.deny&lt;/code&gt; that only allow mounted NFS directories on your local network (if you are isolated this is not an issue). &lt;/p&gt;&lt;p&gt;&lt;b&gt;What's Next?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;That' s it! You now have a fully functional cluster, next you will want to install clustering utilities such as OpenMPI, UPC, and MOSIX. In addition, you will want to generate a common SSH key to allow access to all the nodes without having to enter a password.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-145788988762677770?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/145788988762677770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=145788988762677770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/145788988762677770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/145788988762677770'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/08/how-to-build-and-maintain-small-beowulf.html' title='How to Build and Maintain a Small Beowulf Cluster'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-2459116140040484393</id><published>2007-08-05T22:23:00.000-04:00</published><updated>2007-08-10T14:39:34.362-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='routers'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='linksys'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><title type='text'>The Joys of Wireless Networking and Linux</title><content type='html'>Now that I have access to my router, I wanted to set it up as a wireless AP for my laptop. Note that I am not connected to the internet with this at the moment it is merely an isolated LAN. I have an HP zv6000 (512MB RAM, AMD Athlon 3200+) with a Linksys WPC54GS wireless adapter.&lt;br /&gt;&lt;br /&gt;In the past, I have installed the bcm43xx (Broadcom) firmware for the adapter and executed&lt;br /&gt;&lt;br /&gt;&lt;code&gt;sudo /etc/init.d/NetworkManager start&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;to locate and connect to wireless networks. This time I am having issues, and not just with my router.&lt;br /&gt;&lt;br /&gt;At first I had my router (Buffalo WHR-G125) set as a wireless AP with no authentication method.  I executed the above command and could not connect to the network. Look here for the results of &lt;code&gt;dmesg&lt;/code&gt; right after I attempted to connect: &lt;a href="http://nonlogic.org/dump/text/1186352893.html"&gt;http://nonlogic.org/dump/text/1186352893.html&lt;/a&gt;. The main concern to me was the &lt;code&gt;wlan0: No IPV6 routers found&lt;/code&gt; line.&lt;br /&gt;&lt;br /&gt;At this point, I noted that I could "see" the SSID with &lt;code&gt;iwlist&lt;/code&gt;, and could set the ESSID to the router's broadcasting SSID with &lt;code&gt;iwconfig&lt;/code&gt;. This still did not allow me to connect to the network. Also note that a wired IPV4 connection works fine across the network.&lt;br /&gt;&lt;br /&gt;A friend suggested I use the tried and true command line applications for making a wireless connection. First I tried:&lt;br /&gt;&lt;br /&gt;&lt;code&gt; ifconfig wlan0 down&lt;br /&gt;iwconfig wlan0 essid dd-wrt&lt;br /&gt;iwconfig wlan0 mode managed&lt;br /&gt;ifconfig wlan0 up&lt;br /&gt;dhclient wlan0&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This resulted in me recieving an IPV6 address from the router (fe80::218:f8ff:fe45:52b/64), but I still could not &lt;code&gt;ping&lt;/code&gt; it, and there was no connection.&lt;br /&gt;&lt;br /&gt;At this point, my friend suggested I enable WPA2 authentication with TKIP encryption, which I did. I then attempted to execute the following:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;ifconfig wlan0 up&lt;br /&gt;iwpriv wlan0 set AuthMode=WPA2PSK&lt;br /&gt;iwpriv wlan0 set EncrypType=TKIP&lt;br /&gt;iwpriv wlan0 set WPAPSK=""&lt;br /&gt;iwconfig wlan0 essid dd-wrt&lt;br /&gt;iwconfig mode managed&lt;br /&gt;iwconfig wlan0 mode managed&lt;br /&gt;dhclient wlan0&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;where my WPA2 key is left out for obvious reasons. I ran into issues with the &lt;code&gt;iwpriv&lt;/code&gt; lines:&lt;br /&gt;&lt;br /&gt;&lt;code&gt; invalid command set&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I then decided it might be a good idea to attempt to disable IPV6, but I still have not found a easy way to do this, I will continue to look into it. It was also suggested that I install wpa_supplicant and I will look into that shortly. At this point in time, this issue is unresolved, I will update here as soon as I get it to work (along with a detailed howto on how to get bcm43xx working and configuring the adapter on a wireless network).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-2459116140040484393?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/2459116140040484393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=2459116140040484393' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/2459116140040484393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/2459116140040484393'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/08/joys-of-wireless-networking-and-linux.html' title='The Joys of Wireless Networking and Linux'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3389714266072819115.post-1874431414684467551</id><published>2007-08-05T00:14:00.000-04:00</published><updated>2007-08-10T14:40:43.084-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='routers'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='buffalo'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='dd-wrt'/><title type='text'>Installing Linux on a Buffalo WHR-G125</title><content type='html'>I recently purchased a Buffalo WHR-G125 wireless router from a local Circut City for a mere $39.99. I was on a mission to find a router that supported dd-wrt and/or OpenWRT. This router supports both (although &lt;a href="http://toh.openwrt.org/"&gt;http://toh.openwrt.org/&lt;/a&gt; still reports OpenWRT as a WIP). The WHR-G125 sports a 240MHZ processor, 4MB of flash, and 16MB RAM. It is based off of the Broadcom chipset.&lt;br /&gt;&lt;br /&gt;Since OpenWRT was listed as a WIP, I decided I would install dd-wrt. I followed the instructions found here: &lt;a href="http://www.dd-wrt.com/wiki/index.php/Installation"&gt;http://www.dd-wrt.com/wiki/index.php/Installation&lt;/a&gt;. After making sure tftp was installed on my machine, I carefully reviewed the instructions and downloaded dd-wrt v24 beta. Unfortunately, the Buffalo firmware is encrypted, so it is a little tricky to flash with dd-wrt (it is a matter of good timing). I found that the one line command:&lt;span style="font-size:0;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;tftp 192.168.11.1 -m binary -c put dd-wrt.v23_generic.bin &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;worked just fine. After making sure that I could ping the router at it's new IP address (192.168.1.1), I opened Firefox and entered the dd-wrt control panel.&lt;br /&gt;&lt;br /&gt;At this time, for some reason I am unable to manuever the control panel due to the rejection of the defualt user and password by the control panel. I am unsure what caused this problem, I plan to reflash the router with a non-beta version of dd-wrt ASAP.&lt;br /&gt;&lt;br /&gt;All in all, this is a great little router for the price, and I am looking forward to using it as a local AP for my dorm room. The wireless signal range is not that great, however it will suit my purposes perfectly.&lt;br /&gt;&lt;br /&gt;UPDATE: My login issue was simple to fix. I did not need to reflash the router. The Buffalo firmware has a defualt user/password combination of root/Blank. dd-wrt sets this to root/admin. The dd-wrt installation wiki does mention this for a different Buffalo router, it also applies to the WHR-G125. Thanks to Tomm Smith for pointing this out to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3389714266072819115-1874431414684467551?l=consgeekculture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consgeekculture.blogspot.com/feeds/1874431414684467551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3389714266072819115&amp;postID=1874431414684467551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/1874431414684467551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3389714266072819115/posts/default/1874431414684467551'/><link rel='alternate' type='text/html' href='http://consgeekculture.blogspot.com/2007/08/installing-linux-on-buffalo-whr-g125.html' title='Installing Linux on a Buffalo WHR-G125'/><author><name>Philip Haddad</name><uri>http://www.blogger.com/profile/10782072473797106984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://pmhaddad.nonlogic.org/pics/mammon_small2.jpg'/></author><thr:total>0</thr:total></entry></feed>
