<?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'><id>tag:blogger.com,1999:blog-6179374305254862497</id><updated>2009-10-02T23:32:45.480-05:00</updated><title type='text'>Mick Charles Beaver's Blog</title><subtitle type='html'>A repository of explanations of computer-related things I want to remember.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.cs.wisc.edu/~mick/blogger/atom.xml'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-722042116497453491</id><published>2009-10-02T23:30:00.004-05:00</published><updated>2009-10-02T23:32:45.493-05:00</updated><title type='text'>Turn Off Nautilus in Yellow Dog Linux 6.2</title><content type='html'>I wanted to turn off Nautilus in Yellow Dog Linux's default E17 session. A quick Google search revealed that the answer was the following command:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;gconftool-2 -s -t bool /apps/nautilus/preferences/show_desktop false&lt;/tt&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-722042116497453491?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/722042116497453491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/722042116497453491'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/10/turn-off-nautilus-in-yellow-dog-linux.html' title='Turn Off Nautilus in Yellow Dog Linux 6.2'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-3660825958346385948</id><published>2009-09-14T22:12:00.002-05:00</published><updated>2009-09-14T22:19:54.327-05:00</updated><title type='text'>Euclidean Algorithm in C</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;My number theory professor asked the class to program the Euclidean Algorithm in a language of our choice. I did mine in C.&lt;br /&gt;&lt;br /&gt;I've attached my copy.&lt;br /&gt;&lt;a href="http://www.cs.wisc.edu/%7Emick/blogger/gcd_euclidean.c"&gt;gcd_euclidean.c&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-3660825958346385948?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/3660825958346385948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/3660825958346385948'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/09/euclidean-algorithm-in-c.html' title='Euclidean Algorithm in C'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-1380140751337813828</id><published>2009-09-13T19:02:00.002-05:00</published><updated>2009-09-13T19:32:43.902-05:00</updated><title type='text'>Yellow Dog Linux release 6.2 (Pyxis)</title><content type='html'>My computer, my partner in crime for six years, died. The motherboard went bad. So I used my wife's old computer, and the hard drive went in that one. Then I got a used one from a friend. That one broke, too (I suspect it's the motherboard, but who knows?).&lt;br /&gt;&lt;br /&gt;All I have left is my trustworthy Playstation 3.&lt;br /&gt;&lt;br /&gt;I've messed around with Linux on the PS3 before, but I've never had to use it as my only desktop. This time around, I had to make it work (I'm out of a job right now, so buying something else is not an option).&lt;br /&gt;&lt;br /&gt;I installed Yellow Dog Linux 6.2. It definitely feels more responsive than 6.1 (the swap performance improvements are certainly noticeable). In addition, they have now added many more packages to the yellowdog-extras repo.&lt;br /&gt;&lt;br /&gt;After a fairly quick install, I installed all of my favorites from the YUM repositories, namely Fluxbox, LaTeX, and Emacs. The base install had already chosen Firefox and Pidgin, so I was ready to roll. I've been relying on Google Docs for some time as my office suite, and it continues to work well within Firefox. Audio worked out of the box, so no issue there. I do admit to being a little old and crotchety in the audio player department, so I compiled XMMS 1.x from source and installed it in my home directory.&lt;br /&gt;&lt;br /&gt;The only thing missing? Printing. I had never really used CUPS before, but now I'm glad that I did. It was a total snap! My particular wireless printer didn't have a driver with the base CUPS install. I pointed Firefox to the CUPS configuration server at http://localhost:631 and began to add a printer. It was no big deal to download a PPD file from the &lt;a href="http://www.openprinting.org"&gt;OpenPrinting database&lt;/a&gt;. Minutes later and I was printing out my documents.&lt;br /&gt;&lt;br /&gt;I sincerely LOVE Linux! It even works for poor people.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-1380140751337813828?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/1380140751337813828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/1380140751337813828'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/09/yellow-dog-linux-release-62-pyxis.html' title='Yellow Dog Linux release 6.2 (Pyxis)'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-76443646930587433</id><published>2009-08-17T15:18:00.014-05:00</published><updated>2009-08-24T21:01:50.973-05:00</updated><title type='text'>Wolfenstein Reviews I've Read or Watched</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=xrBPL33ymHA"&gt;Whity&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.examiner.com/x-18278-Pittsburgh-PS3-Examiner%7Ey2009m8d17-Wolfenstein-review"&gt;Pittsburgh Examiner&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.guardian.co.uk/technology/gamesblog/2009/aug/17/wolfenstein-xbox-ps3-pc"&gt;guardian.co.uk&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://totalscifionline.com/reviews/3863-wolfenstein"&gt;Total Sci-Fi&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sanctuary4gamers.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=757:wolfenstein-review&amp;amp;catid=7:xbox-360&amp;amp;Itemid=12"&gt;sanctuary4gamers.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://xbox360.ign.com/articles/101/1014821p1.html"&gt;IGN&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;GamingTrend (&lt;a href="http://www.gamingtrend.com/Reviews/review/review.php?ReviewID=1281"&gt;360 version&lt;/a&gt;, &lt;a href="http://www.gamingtrend.com/Reviews/review/review.php?ReviewID=1280"&gt;PS3 version&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bigshinyrobot.com/reviews/archives/7682"&gt;Big Shiny Robot!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.collegenews.com/index.php?/article/college_news_reviews_wolfenstein_08182009111463/"&gt;College News&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://xbox360.gamespy.com/xbox-360/castle-wolfenstein-/1015055p1.html"&gt;GameSpy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.hellbored.com/games/review/11142"&gt;HellBored&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.giantbomb.com/wolfenstein/61-21119/reviews/"&gt;Giant Bomb&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gamesradar.com/ps3/wolfenstein/review/wolfenstein/a-20090818104959968085/g-20080716112047937056"&gt;Games Radar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://xbox360.gamezone.com/gzreviews/r27911.htm"&gt;GameZone&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://reviews.teamxbox.com/xbox-360/1751/Wolfenstein/p1/"&gt;Team Xbox&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gamespot.com/xbox360/action/returntocastlewolfenstein/review.html"&gt;Gamespot&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://g4tv.com/games/xbox-360/34069/wolfenstein/review/"&gt;G4&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gametrailers.com/video/review-hd-wolfenstein/54582"&gt;GameTrailers.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gamepro.com/article/reviews/211689/wolfenstein-360/"&gt;GamePro&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://gameinformer.com/NR/exeres/27B2B472-D7E9-4E89-88EC-8918CE31521D.htm"&gt;Game Informer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.pcgames.de/aid,692945/Wolfenstein-Test-Kann-der-Nazi-Shooter-ueberzeugen/PC/Test/"&gt;PC Games&lt;/a&gt; (&lt;a href="http://translate.google.com/translate?prev=hp&amp;amp;hl=en&amp;amp;js=y&amp;amp;u=http%3A%2F%2Fwww.pcgames.de%2Faid%2C692945%2FWolfenstein-Test-Kann-der-Nazi-Shooter-ueberzeugen%2FPC%2FTest%2F&amp;amp;sl=de&amp;amp;tl=en&amp;amp;history_state0="&gt;Google German-to-English translation&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.pcworld.idg.com.au/review/games/activision/wolfenstein/315552"&gt;PC World&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gamingheaven.net/gamingreviews.php?reviewid=805"&gt;GamingHeaven&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://multiplayerblog.mtv.com/2009/08/20/wolfenstein-review/"&gt;MTV Multiplayer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://play.tm/review/26317/wolfenstein/"&gt;play.tm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.1up.com/do/reviewPage?cId=3175685"&gt;1UP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eurogamer.net/articles/wolfenstein-review"&gt;Eurogamer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cheatcc.com/ps3/rev/wolfensteinreview.html"&gt;Cheat Code Central&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.computerandvideogames.com/article.php?id=221885"&gt;Xbox World 360 Magazine UK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cambridge-news.co.uk/cn_gaming/displayarticle.asp?id=443424"&gt;Cambridge News&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dailyecho.co.uk/leisure/games/gamesreviews/4558997.Wolfenstein__360_/"&gt;Daily Echo&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-76443646930587433?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/76443646930587433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/76443646930587433'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/08/wolfenstein-reviews-ive-come-across.html' title='Wolfenstein Reviews I&apos;ve Read or Watched'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-4212292201459221648</id><published>2009-07-20T10:12:00.003-05:00</published><updated>2009-07-20T13:32:16.687-05:00</updated><title type='text'>Emacs Keybindings in Visual Studio</title><content type='html'>I've been using the Emacs keybindings in Visual Studio for a little while. There was just one thing that drove me crazy. It would not autoindent into the current line, nor would it indent when you hit TAB. You actually had to have source code on the line before TAB would do a smart indent.&lt;br /&gt;&lt;br /&gt;Someone from Microsoft had originally written some Visual Studio macros to address this. You could rebind TAB to just do a plain old tab insert. Of course the source code URL I found was no longer valid... So I contacted the engineer at Microsoft. He got back to me and told me that he no longer had the source, but that it shouldn't be too hard to write my own.&lt;br /&gt;&lt;br /&gt;It took me about 15 or 20 minutes to get it correct. You have to use the Macros IDE to add a module under "MyMacros". I called mine "EditorMacros". You should unbind "Edit.InsertTab" and rebind it to the sub routine below ("Macros.MyMacros.EditorMacros.EmacsInsertTab.") It looks like this&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Imports System&lt;br /&gt;Imports EnvDTE&lt;br /&gt;Imports EnvDTE80&lt;br /&gt;Imports System.Diagnostics&lt;br /&gt;&lt;br /&gt;Public Module EditorMacros&lt;br /&gt;&lt;br /&gt;    '' Please insert a TAB!&lt;br /&gt;    Sub EmacsInsertTab()&lt;br /&gt;        Dim editPoint As EnvDTE.EditPoint&lt;br /&gt;        Dim selection As EnvDTE.TextSelection&lt;br /&gt;        Dim startPoint As EnvDTE.EditPoint&lt;br /&gt;        Dim currentPoint As EnvDTE.EditPoint&lt;br /&gt;        Dim endPoint As TextPoint&lt;br /&gt;&lt;br /&gt;        selection = DTE.ActiveDocument.Selection&lt;br /&gt;        If (selection.IsEmpty()) Then&lt;br /&gt;            editPoint = selection.ActivePoint.CreateEditPoint()&lt;br /&gt;&lt;br /&gt;            '' 0x09 is an ASCII horizontal tab&lt;br /&gt;            editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab)&lt;br /&gt;        Else&lt;br /&gt;            startPoint = selection.TopPoint.CreateEditPoint()&lt;br /&gt;            endPoint = selection.BottomPoint&lt;br /&gt;            currentPoint = startPoint&lt;br /&gt;            Do While (True)&lt;br /&gt;                Dim line As Integer&lt;br /&gt;&lt;br /&gt;                line = currentPoint.Line&lt;br /&gt;                If (line = endPoint.Line) Then&lt;br /&gt;                    If Not (currentPoint.AtEndOfLine()) Then&lt;br /&gt;                        currentPoint.Insert(Microsoft.VisualBasic.Constants.vbTab)&lt;br /&gt;                    End If&lt;br /&gt;                    Exit Do&lt;br /&gt;                End If&lt;br /&gt;                currentPoint.Insert(Microsoft.VisualBasic.Constants.vbTab)&lt;br /&gt;                currentPoint.LineDown()&lt;br /&gt;                currentPoint.StartOfLine()&lt;br /&gt;            Loop&lt;br /&gt;        End If&lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;End Module&lt;br /&gt;&lt;/pre&gt;That seems to work just fine. But every time I hit TAB, a pop-up balloon would flash from the task tray. After seeing that thing for 10 or so times, I lost my mind. It was so brief I couldn't even read what it said. What to do? Why not add a sleep function into my macro? Here's the snippet:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)&lt;br /&gt;   Sub EmacsInsertTab()&lt;br /&gt;       '' Somewhere in the body...&lt;br /&gt;       Sleep(3000)&lt;br /&gt;   End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The pop-up said that a macro was running and that I could kill it from the pop-up. Thanks! That's so useful! My macro takes a fraction of a second, of course I'd like the opportunity to stop it. Anyway, it has the option to dismiss it forever.&lt;br /&gt;&lt;br /&gt;I took the sleep out and went on my merry way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-4212292201459221648?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/4212292201459221648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/4212292201459221648'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/07/emacs-keybindings-in-visual-studio.html' title='Emacs Keybindings in Visual Studio'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-8059894095710087618</id><published>2009-05-14T09:11:00.002-05:00</published><updated>2009-05-14T09:13:59.252-05:00</updated><title type='text'>toggle word wrap add-on in Thunderbird</title><content type='html'>Nine times out of ten, I want Thunderbird to wrap my lines at 72 characters. However, there are times when I'm pasting code or other pre-formatted text that I need word wrapping off. Someone must have had the same problem and made an add-on that easily disables this from the &lt;span style="font-weight: bold;"&gt;Options&lt;/span&gt; menu in the composer.&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2351"&gt;&lt;br /&gt;https://addons.mozilla.org/en-US/firefox/addon/2351&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-8059894095710087618?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8059894095710087618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8059894095710087618'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/05/toggle-word-wrap-add-on-in-thunderbird.html' title='toggle word wrap add-on in Thunderbird'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-1363649681618790293</id><published>2009-04-18T22:31:00.002-05:00</published><updated>2009-04-18T22:37:51.171-05:00</updated><title type='text'>fluxbox hotkeys, keyboard shortcuts, keybindings, whatever</title><content type='html'>I've been away from Fluxbox for a long time. It took me FOREVER to figure out how to even set my background. I headed on over to &lt;a href="http://www.fluxbox-wiki.org"&gt;http://www.fluxbox-wiki.org&lt;/a&gt; and started to get a grasp on a few of the new features. The biggest one that they have has to be a great keyboard shortcut system. Just edit &lt;tt&gt;~/.fluxbox/keys&lt;/tt&gt; and you're on your way. I've added the following to mine:&lt;br /&gt;&lt;pre&gt;# use the arrow keys to change workspaces&lt;br /&gt;Control Mod1 Left :PrevWorkspace&lt;br /&gt;Control Mod1 Right :NextWorkspace&lt;br /&gt;&lt;br /&gt;# volume settings&lt;br /&gt;Control Mod4 Up :Exec mixer pcm +1 ogain +2&lt;br /&gt;Control Mod4 Down :Exec mixer pcm -1 ogain -2&lt;/pre&gt;&lt;br /&gt;And before I forget, you can set your background with an override in &lt;tt&gt;~/.fluxbox/overlay&lt;/tt&gt; like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;background.pixmap: /home/mick/private/pictures/gta3_greencar.jpg&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-1363649681618790293?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/1363649681618790293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/1363649681618790293'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/04/fluxbox-hotkeys-keyboard-shortcuts.html' title='fluxbox hotkeys, keyboard shortcuts, keybindings, whatever'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-41446190344317772</id><published>2009-03-23T20:36:00.002-05:00</published><updated>2009-03-23T20:39:17.975-05:00</updated><title type='text'>freebsd moused</title><content type='html'>In the 6 or so years that I've used FreeBSD, I've never successfully configured the mouse daemon (moused). It allows the user to have a mouse in both the virtual consoles and X windows, using the same device. I have a pretty standard Logitech USB mouse. It shows up as /dev/ums0 in FreeBSD 7.1. Turning on moused is as simple as adding the following lines to /etc/rc.conf&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;moused_enable="YES"&lt;br /&gt;moused_port="/dev/ums0"&lt;br /&gt;moused_type="auto"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now I've got a fully functional mouse with looks that kill.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-41446190344317772?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/41446190344317772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/41446190344317772'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/03/freebsd-moused.html' title='freebsd moused'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-6168035585143754055</id><published>2009-02-20T08:42:00.002-06:00</published><updated>2009-02-20T08:49:25.730-06:00</updated><title type='text'>xdm hold the debian, please</title><content type='html'>I switched from GDM to XDM. You have no idea how infuriating that extra second of waiting can be for someone who works on computers all day long. Anyway, the Ubuntu package of XDM appears to be directly from Debian. They replaced the standard X.org logo with a Debian swirl. To change this back to how it was, edit /etc/X11/xdm/Xresources.&lt;br /&gt;&lt;br /&gt;Change:&lt;br /&gt;&lt;pre&gt;xlogin*logoFileName: /usr/share/X11/xdm/pixmaps/debian.xpm&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;To:&lt;br /&gt;&lt;pre&gt;xlogin*logoFileName: /usr/share/X11/xdm/pixmaps/xorg.xpm&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This also points to you being able to change that pixmap to whatever suits your fancy. May I recommend a sweet photo of Max Headroom or HAL 9000?&lt;br /&gt;&lt;br /&gt;God is love,&lt;br /&gt;Rev Beav&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-6168035585143754055?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/6168035585143754055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/6168035585143754055'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/02/xdm-hold-debian-please.html' title='xdm hold the debian, please'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-8006809288724848587</id><published>2009-02-18T21:14:00.003-06:00</published><updated>2009-02-20T08:51:29.032-06:00</updated><title type='text'>xmessage and the simple things in life</title><content type='html'>I have a slow computer. I bought it before I could grow a beard or even any back hair. Full on GNOME is usually a little too heavy, so I run everything from FVWM to Fluxbox to whatever.&lt;br /&gt;&lt;br /&gt;I thought it would be nice to shutdown with a menu command.&lt;br /&gt;&lt;br /&gt;The program xmessage will allow you to setup multiple buttons, each with a different number. That number will be the return code for the program. Bash (bless its little heart) will allow you to query the return code in the variable "$!". They seem like a natural fit!&lt;br /&gt;&lt;br /&gt;I did a little visudo so that my group could call shutdown without entering a password.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;%admin ALL=NOPASSWD: /sbin/shutdown&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here's the contents of my shutdown script:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;xmessage -buttons "Yeah boy!":0,"Quit rushin' me...":1 "Shut this bitch down?"&lt;br /&gt;&lt;br /&gt;if [ $? == 0 ]; then&lt;br /&gt;        sudo shutdown -h now&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-8006809288724848587?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8006809288724848587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8006809288724848587'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/02/xmessage-and-simple-things-in-life.html' title='xmessage and the simple things in life'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-6959117069755081353</id><published>2009-01-21T09:53:00.003-06:00</published><updated>2009-02-20T08:54:02.781-06:00</updated><title type='text'>using html instead of plain text in mozilla thunderbird</title><content type='html'>I generally use plain text mode in Mozilla Thunderbird for all of my email. Sometimes I need to send off an HTML mail, though. It turns out that holding shift and then clicking "Write" or "Reply" is all it takes to switch to HTML mode for just that one email. I read about it here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forums.mozillazine.org/viewtopic.php?f=39&amp;amp;t=595955"&gt;http://forums.mozillazine.org/viewtopic.php?f=39&amp;amp;t=595955&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Essentially, hold down shift when you click "Write" or "Reply". That's that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-6959117069755081353?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/6959117069755081353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/6959117069755081353'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2009/01/using-html-instead-of-plain-text-in.html' title='using html instead of plain text in mozilla thunderbird'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-2688982579547712321</id><published>2008-09-11T09:53:00.002-05:00</published><updated>2008-09-11T10:01:42.175-05:00</updated><title type='text'>installing pylint on win32</title><content type='html'>Installing pylint on win32 with Python 2.5.2 is fairly straightforward:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Download logilab-common (under common), logilab-astng (under astng), and pylint from http://ftp.logilab.org/pub&lt;/div&gt;&lt;div&gt;2. Extract all sources.&lt;/div&gt;&lt;div&gt;3. Inside each base directory, run: &lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;C:\Python25\python.exe setup.py bdist_wininst&lt;/span&gt;&lt;/div&gt;&lt;div&gt;4. You will find an exe to run in in each directory's dist folder.&lt;/div&gt;&lt;div&gt;5. Install common, then astng, then pylint.&lt;/div&gt;&lt;div&gt;6. Run pylint.bat from&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt; C:\Python25\Scripts\pylint.bat&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-2688982579547712321?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/2688982579547712321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/2688982579547712321'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/09/installing-pylint-on-win32.html' title='installing pylint on win32'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-423394104982359608</id><published>2008-09-03T07:25:00.002-05:00</published><updated>2008-09-03T07:32:14.080-05:00</updated><title type='text'>My Symmetric Processing Elements</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; "&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;I am trying to turn into a useful individual by learning more about programming for the Cell Broadband Engine. I installed openSUSE Linux 11.0 on my PS3 a few months ago and just last night was able to get some code running.&lt;br /&gt;&lt;br /&gt;I followed the following guide:&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;a href="http://www.ibm.com/developerworks/power/library/pa-linuxps3-1/?ca=dgr-lnxw03Linux-and-Playstation3"&gt;http://www.ibm.com/developerworks/power/library/pa-linuxps3-1/?ca=dgr-lnxw03Linux-and-Playstation3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Everthing compiled okay, but I kept getting the error "spu_create(): Function not implemented". The fix was to mount the spufs. Contrary to the spufs(7) man page, this was actually done by adding the following to /etc/fstab&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: verdana; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;none    /spu    spufs   default    0 0&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: verdana; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: verdana; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;I will still probably need to add the spufs kernel module to /etc/modules so that it is always loaded upon boot.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-423394104982359608?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/423394104982359608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/423394104982359608'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/09/my-symmetric-processing-elements.html' title='My Symmetric Processing Elements'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-552839207941430349</id><published>2008-06-04T13:06:00.004-05:00</published><updated>2008-06-04T13:14:31.559-05:00</updated><title type='text'>Preparing a Video for the PS3</title><content type='html'>&lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Last night, I was  able to convert a .MOV to an XVID-encoded .AVI using mencoder. This was then  playable using the Playstatoin 3 video playback off of a USB memory  stick.&lt;br /&gt;&lt;br /&gt;Here is the video manual:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;a title="blocked::http://manuals.playstation.net/document/en/ps3/current/video/filetypes.html" href="http://manuals.playstation.net/document/en/ps3/current/video/filetypes.html"&gt;http://manuals.playstation.net/document/en/ps3/current/video/filetypes.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="318240214-04062008"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;/span&gt; &lt;/div&gt; &lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;I ran the following  command:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;tt&gt;mencoder -oac  mp3lame -lameopts cbr=128 -ovc xvid -xvidencopts bitrate=1200 -o  output_filename.avi input_filename.mov&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;/span&gt; &lt;/div&gt; &lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;This says that you  want to have MP3 audio encoded at 128 kbps and XVID encoded video at 1200 kbps,  which seem to be reasonable quality settings. I also ripped a DVD using the  following command:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;&lt;tt&gt;mencoder -oac  mp3lame -lameopts cbr=128 -ovc xvid -xvidencopts bitrate=1200 -o  output_filename.avi dvd://0&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;/span&gt; &lt;/div&gt; &lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;You may need to  increment the number following the dvd:// until it is correct, though 0 is often  the right one.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;/span&gt; &lt;/div&gt; &lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;You can download  mencoder along with MPlayer from:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="318240214-04062008"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;a title="blocked::http://www.mplayerhq.hu/MPlayer/releases/win32/MPlayer-mingw32-1.0rc2.zip" href="http://www.mplayerhq.hu/MPlayer/releases/win32/MPlayer-mingw32-1.0rc2.zip"&gt;http://www.mplayerhq.hu/MPlayer/releases/win32/MPlayer-mingw32-1.0rc2.zip&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-552839207941430349?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/552839207941430349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/552839207941430349'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/06/preparing-video-for-ps3.html' title='Preparing a Video for the PS3'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-3004379104478349218</id><published>2008-05-28T01:42:00.002-05:00</published><updated>2008-05-28T01:49:28.229-05:00</updated><title type='text'>FreeBSD boot splash</title><content type='html'>Tonight I was able to set up a FreeBSD boot splash screen. It was an enjoyable experience.&lt;br /&gt;&lt;br /&gt;1. I edited &lt;tt&gt;/boot/loader.conf&lt;/tt&gt; and added the following:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;bitmap_load="YES"&lt;br /&gt;bitmap_name="splash.bmp"&lt;br /&gt;splash_bmp_load="YES"&lt;br /&gt;vesa_load="YES"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;2. I edited the wallpaper found at &lt;a href="http://www.freebsd.org/logo/wall3.jpg"&gt;http://www.freebsd.org/logo/wall3.jpg&lt;/a&gt; to make it 256 colors and 1024x768. You may download the modified version &lt;a href="http://pages.cs.wisc.edu/%7Emick/images/splash.bmp"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;3. I moved the wallpaper to &lt;tt&gt;/boot/kernel/splash.bmp&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;4. Rebooted&lt;br /&gt;&lt;br /&gt;5. Enjoyed the splash screen. The only issue was that it didn't go away when the boot was finished until I pressed a key. This isn't an issue for me personally, since I use XDM, which cleared it away.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-3004379104478349218?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/3004379104478349218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/3004379104478349218'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/05/freebsd-boot-splash.html' title='FreeBSD boot splash'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-5254838054656691045</id><published>2008-04-24T22:16:00.002-05:00</published><updated>2008-04-24T22:27:47.804-05:00</updated><title type='text'>Metal Gear Solid 2: Substance PC Hex Edit</title><content type='html'>Without looking at the code, it's impossible to tell why MGS2 has so many issues on the PC using an NVIDIA GeForce graphics card. Regardless, people smarter than me have spent some time figuring out how to edit the binary to replace what appears to be search strings looking for ATI cards, thus allowing NVIDIA GeForce cards to run at full settings. I haven't gotten a chance to try thise myself, yet, but I certainly will soon.&lt;br /&gt;&lt;br /&gt;Explanation 1 taken from &lt;a href="http://www.gamespot.com/pc/adventure/metalgearsolid2substance/show_msgs.php?topic_id=m-1-41477396&amp;amp;pid=561500"&gt;here&lt;/a&gt;:&lt;br /&gt;          &lt;blockquote&gt;First download and install patch v2.0 from here:&lt;br /&gt;http://www.konami.jp/gs/game/mgs2pc/english/index.html&lt;br /&gt;&lt;br /&gt;Then you need an hex editor like frhed or whatever.&lt;br /&gt;http://www.kibria.de/frhed.html&lt;br /&gt;&lt;br /&gt;Find the files mgs2.exe and mgs2_sse.exe in the game's directory and make a backup copy of them in case you mess it up.&lt;br /&gt;&lt;br /&gt;Now open the file mgs2.exe with the hex editor and go to edit-&gt;find and use the word "geforce" as a search term. Now the word "GeForce" should be highlighted and right next to it to the left side is the word "RADEON". These are the 2 entries you have to edit.&lt;br /&gt;&lt;br /&gt;You have to replace the "GeForce" with whatever you like as long as the letter count remains the same. I just overwrote it with "removed".&lt;br /&gt;&lt;br /&gt;Then the word "RADEON" to the left, this you have to overwrite with "GeForc". Notice the capital "G" and "F" and also missing "e" at the end, it should look exactly like that.&lt;br /&gt;&lt;br /&gt;Now save and do the same steps with the mgs2_sse.exe file.&lt;br /&gt;&lt;br /&gt;And just in case:&lt;br /&gt;before:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.cs.wisc.edu/%7Emick/blogger/uploaded_images/before-725590.png"&gt;&lt;img style="cursor: pointer;" src="http://www.cs.wisc.edu/%7Emick/blogger/uploaded_images/before-725588.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;after:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.cs.wisc.edu/%7Emick/blogger/uploaded_images/after-772021.png"&gt;&lt;img style="cursor: pointer;" src="http://www.cs.wisc.edu/%7Emick/blogger/uploaded_images/after-772017.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This should help to fix the problems with NVIDIA cards.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Explanation 2 taken from &lt;a href="http://www.konami-data.com/forum/ubbthreads.php?ubb=showflat&amp;amp;Board=13&amp;amp;Number=29638&amp;amp;Searchpage=1&amp;amp;Main=5696&amp;amp;Words=+DaveOwl&amp;amp;topic=0&amp;amp;Search=true#Post29638"&gt;here&lt;/a&gt;:&lt;br /&gt;&lt;span class="post_inner"&gt;&lt;span id="body2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="post_inner"&gt;&lt;span id="body2"&gt;Don't think from your message that you will have tried this fix, however you have a GeForce card anyway so do this, (thanks to the original poster, can't remember where I saw it now) -&lt;br /&gt;&lt;br /&gt;1. Install MGS2.&lt;br /&gt;2. Install the ATI 2.0 patch.&lt;br /&gt;3. Find the files mgs2.exe and mgs2_sse.exe within the directory where the game was installed.&lt;br /&gt;4. Backup a copy of each of these original files!&lt;br /&gt;5. Open mgs2.exe with a hex editor... Frhed is a nice free utility that will suffice for this job:   &lt;a href="http://www.kibria.de/frhed.html" target="_blank"&gt;http://www.kibria.de/frhed.html&lt;/a&gt; &lt;br /&gt;6. Look for the string RADEON, which starts at the following offset: 0x5f6e44.&lt;br /&gt;7. Replace RADEON with ALL-IN. Don’t add or subtract anything else&lt;br /&gt;8. Save the file.&lt;br /&gt;9. Repeat steps 5-8 for mgs2_sse.exe. Note: this might not be necessary; on my system, Metal Gear seems to only use mgs2.exe… also, the hex offset will be different, but it’s easy to find by analogy.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Right, now you will need to follow the instructions but do a couple of things differently. At point 6&amp;amp;7 instead of replacing "RADEON" with "ALL-IN", replace it with "GeForc". Note the capital G and F and no e on the end. Near (right next) to where it now says GeForc, there will be the string "GeForce" (this starts at 0x5f6e4c in mgs2.exe and 0x5fd83c in mgs2_sse.exe). Replace "GeForce" with anything else as long as it has the same number of letters. The game will now use the Radeon graphics path on a geforce card and looks a hell of a lot better (tested on a GF 6800).&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-5254838054656691045?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/5254838054656691045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/5254838054656691045'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/04/metal-gear-solid-2-substance-pc-hex.html' title='Metal Gear Solid 2: Substance PC Hex Edit'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-8198591485593267484</id><published>2008-03-24T01:14:00.002-05:00</published><updated>2008-03-24T01:19:25.832-05:00</updated><title type='text'>GNOME Terminal colors</title><content type='html'>When using gnome-terminal, I kept running into the issue of having an obnoxious gray background when using vim in the terminal. After doing some digging, it seems I need to set my gnome-terminal palette.&lt;br /&gt;&lt;br /&gt;This is accomplished by:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Edit ⇒ Current Profile...&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Choose the &lt;span style="font-weight: bold;"&gt;Colors&lt;/span&gt; tab&lt;/li&gt;&lt;li&gt;Under the &lt;span style="font-weight: bold;"&gt;Palette&lt;/span&gt; section, change &lt;span style="font-weight: bold;"&gt;Built in schemes&lt;/span&gt; to &lt;span style="font-weight: bold;"&gt;XTerm&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Stop crying.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-8198591485593267484?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8198591485593267484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8198591485593267484'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/03/gnome-terminal-colors.html' title='GNOME Terminal colors'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-3507876353494063498</id><published>2008-03-22T01:17:00.003-05:00</published><updated>2008-03-22T18:34:25.180-05:00</updated><title type='text'>openSUSE 10.3</title><content type='html'>For the longest time, I tried to use FreeBSD 6.x. I found it remarkably stable and reasonably fast. Even though it has a decent binary package management system, there are a number of packages that I built from source for customization reasons. Like Gentoo Linux, the compile times quickly got out of hand. If you are using FreeBSD, make sure to look into portupgrade and its options for configuring software wholesale before an update of all of your installed ports and packages.&lt;br /&gt;&lt;br /&gt;Compile times aside, not having an Adobe Flash plug-in (Gnash would crash the X server) is what lead me back to Linux. I've been a big fan of Debian for the longest time, but each time I come back to it, they make it harder and harder for me. The deal with Iceweasel and Icedove is enough to make me puke, as well as how long it takes to get new software.&lt;br /&gt;&lt;br /&gt;It seems like all roads lead to Ubuntu. I gave it a shot, but my heart just wasn't in it. I tried Fedora, but that didn't trip my trigger either.&lt;br /&gt;&lt;br /&gt;Enter the most reasonable distribution (for me) that I've tried: &lt;a href="http://www.opensuse.org/"&gt;openSUSE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As with all GNU/Linux distributions, there are a significant amount of things that are exactly the same across all of them, especially in the way of userland. Here are the things that are different about openSUSE.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Top-notch installer. I have to say that the installation process was fantastic from beginning to end. I chose to do a network install and no issues.&lt;/li&gt;&lt;li&gt;Package management at its finest. I've used a few different package managers out there, including FreeBSD/OpenBSD ports &amp;amp; pkg_*, APT, YUM, and Gentoo Linux portage. So far, I think I like SUSE's YaST the most. It has a text mode, a GUI mode, and (here's where it is terribly convenient) the ability to automatically add software and software repositories by clicking on a link to a YMP (YaST MetaPackage). This is how I effortlessly added binary NVIDIA drivers.&lt;/li&gt;&lt;li&gt;Great artwork. While not a technical feature, if I have to sit at a desk all day long, every day, it's easier if it's pretty. No shit brown and burnt orange here. Just a calming green with a number of chameleon logos.&lt;/li&gt;&lt;li&gt;Great documentation. While many people point to Ubuntu as having the best documentation, what they may actually mean is that Ubuntu has one of the best user communities, who answer question after question in the forums. I actually feel like Ubuntu has slightly lacking documentation. With openSUSE being a test harness for SUSE Linux Enterprise Desktop, the documentation is also of enterprise quality. The wiki (which is quite beautifully laid out) is also great.&lt;/li&gt;&lt;/ol&gt;Ultimately everyone should use what works for them, or what their boss says to use, but if given the opportunity, I'd say take a peek at openSUSE. It's free, attractive, easy, and doesn't suffer from a lot of the obnoxious parts of other distributions (like in-your-face methodologies, unprofessional web sites, ridiculous mascots, bad or impossible to pronounce names, etc.).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-3507876353494063498?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/3507876353494063498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/3507876353494063498'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/03/opensuse-103.html' title='openSUSE 10.3'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-1436064823669441296</id><published>2008-03-06T13:45:00.003-06:00</published><updated>2008-03-22T18:08:45.822-05:00</updated><title type='text'>PostgreSQL SERIAL Saved My Life</title><content type='html'>I needed to prototype a small application that needed a database back-end. I usually just use the Python ODBC bindings (&lt;a href="http://pyodbc.sf.net"&gt;pyodbc&lt;/a&gt;), so as long as I had an ODBC driver installed, it didn't really matter which database management system I used.&lt;br /&gt;&lt;br /&gt;Being sound of mind, I chose PostgreSQL and began sketching out my simple schema. I ran into a snag because I didn't know how to simulate the ever increasing identifier integer, like MySQL's auto_increment or Microsoft SQL Server's IDENTITY. Enter the pseudo-type SERIAL. It works exactly the same, but on a DBMS you can bring home to your parents.&lt;br /&gt;&lt;br /&gt;Check it out here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.postgresql.org/docs/8.3/static/datatype-numeric.html"&gt;http://www.postgresql.org/docs/8.3/static/datatype-numeric.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-1436064823669441296?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/1436064823669441296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/1436064823669441296'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/03/postgresql-serial-saved-my-life.html' title='PostgreSQL SERIAL Saved My Life'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-8319421445258011362</id><published>2008-03-05T21:00:00.003-06:00</published><updated>2008-03-05T21:05:43.979-06:00</updated><title type='text'>Interactive Python and It's Good Friend _</title><content type='html'>I had no idea, but when using the interactive Python interpreter, the variable '_' (without quotes, of course) stores the last thing that was successfully printed to the screen.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt;&gt; 2 ** 8&lt;br /&gt;&gt;256&lt;br /&gt;&gt;&gt;&gt;&gt; _&lt;br /&gt;&gt;256&lt;br /&gt;&gt;&gt;&gt;&gt; _ ** 8&lt;br /&gt;&gt;18446744073709551616L&lt;br /&gt;&gt;&gt;&gt;&gt; 'Oh yeah'&lt;br /&gt;'Oh yeah'&lt;br /&gt;&gt;&gt;&gt; _.split()&lt;br /&gt;['Oh', 'yeah']&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You get the idea. How convenient! I should read the docs more often.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-8319421445258011362?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8319421445258011362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8319421445258011362'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/03/interactive-python-and-its-good-friend.html' title='Interactive Python and It&apos;s Good Friend _'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-6276052875183795002</id><published>2008-02-20T21:43:00.004-06:00</published><updated>2008-02-20T21:57:01.737-06:00</updated><title type='text'>OpenOffice.org 2.3.1 and FreeBSD</title><content type='html'>So, it turns out that OpenOffice.org 2.3.1 on FreeBSD was behaving oddly (not opening documents) due to a missing environment variable. This seems like a bug to me that will be fixed sooner or later. Regardless, normal OpenOffice.org functionality may be returned by setting the following:&lt;br /&gt;&lt;br /&gt;OOO_FORCE_DESKTOP=gnome&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;a href="http://groups.google.com/group/lucky.freebsd.ports/browse_thread/thread/c7b02e271e041e5f/14bcfe2952039dc5"&gt;lucky.freebsd.ports&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nabble.com/Re:-GLib-GObject-CRITICAL-td13904374.html"&gt;freebsd-openoffice mailing list archive at nabble.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-6276052875183795002?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/6276052875183795002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/6276052875183795002'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/02/openofficeorg-231-and-freebsd.html' title='OpenOffice.org 2.3.1 and FreeBSD'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-739712573095793371</id><published>2008-02-08T23:09:00.000-06:00</published><updated>2008-02-09T00:24:01.721-06:00</updated><title type='text'>My Destroyed Faith in OpenOffice Presentations</title><content type='html'>So, I'm working on a presentation for work. I can't bring myself to use PowerPoint, since Microsoft has done such a good job of ruining my software self-esteem. I think to myself, "Well, why not OpenOffice.org Impress? It uses the OpenDocument Format, which is damn fine computing karma." So, I made my first draft in OOo 2.3.1 on Win32. Then, I attempt to continue working on the same ODP file on OOo 2.3.1 on FreeBSD. It seemingly hangs. No progress after minutes of processing. Fucking great. Running it from an xterm gives me these messages (no idea if they're related):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;(process:1152): GLib-GObject-CRITICAL **: gtype.c:2242: initialization assertion failed, use IA__g_type_init() prior to this function&lt;br /&gt;&lt;br /&gt;(process:1152): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed&lt;br /&gt;&lt;br /&gt;(process:1152): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed&lt;br /&gt;&lt;/blockquote&gt;That doesn't look good. I'm going to let it keep running for a while to see if things improve, but the outlook is poor. In the meantime, I've decided that the best alternative to multi-platform document creation and editing is Google Docs. It's not perfect, but at least you can save your files as PDF, which is what I use for read-only document exchange anyway.&lt;br /&gt;&lt;br /&gt;Since I don't have a Microsoft Windows computer at my disposal, I have to figure out someway to get at least the text portion out of my ODP. This is my half-baked solution for extracting the text:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;$ mkdir presentation&lt;/li&gt;&lt;li&gt;$ cd presentation&lt;/li&gt;&lt;li&gt;$ cp ~/path_to_presentation/my_presentation.odp .&lt;/li&gt;&lt;li&gt;$ unzip my_presentation.odp&lt;/li&gt;&lt;li&gt;$ extract_odp_text.py &gt; my_presentation.txt&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/env python2.5&lt;br /&gt;# extract_odp_text.py -- extract the text parts from an ODP's content.xml&lt;br /&gt;import re&lt;br /&gt;for line in open('content.xml', 'r')&lt;br /&gt;    for text_part in re.findall(r'&amp;lt;text:p.*?&amp;gt;(.*?)&amp;lt;/text.*?&amp;gt;', line):&lt;br /&gt;        print text_part.replace('&amp;lt;text:line-break/&amp;gt;', '')&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-739712573095793371?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/739712573095793371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/739712573095793371'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/02/my-destroyed-faith-in-openoffice.html' title='My Destroyed Faith in OpenOffice Presentations'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-6373931278093462549</id><published>2008-02-06T14:56:00.000-06:00</published><updated>2008-02-06T15:02:49.287-06:00</updated><title type='text'>Ecplise 3.3 Exploded My Face</title><content type='html'>So, Eclipse + PyDev seems to be the premier way to visually debug python apps. The first time you debug your application, you have to choose the debug configuration you want to use, Python or Jython or some others. Anyway, after you make your selection once, you can hit "F11" to debug your last launched. Or at least that's how it used to work.&lt;br /&gt;&lt;br /&gt;In Eclipse 3.3, you have to check a special configuration option to get the old behavior. That way you don't have to needlessly click the same debugging configuration each time. The PyDev documentation clued me in to this.&lt;br /&gt;&lt;br /&gt;From &lt;a class="moz-txt-link-freetext" href="http://www.fabioz.com/pydev/manual_101_run.html"&gt;http://www.fabioz.com/pydev/manual_101_run.html&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;Note: This behavior changed in Eclipse 3.3 -- but it's generally recommended to restore it in the preferences at: window &gt; preferences &gt; Run/Debug &gt; Launching and set the Launch Operation to Always launch the previously launched application. This tutorial will always consider this as the default option.&lt;/blockquote&gt;After that, F11 rocks your world.&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-6373931278093462549?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/6373931278093462549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/6373931278093462549'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/02/ecplise-33-exploded-my-face.html' title='Ecplise 3.3 Exploded My Face'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-2490330043580481604</id><published>2008-02-05T11:32:00.002-06:00</published><updated>2008-05-13T08:51:21.240-05:00</updated><title type='text'>GVIM ♥ Python</title><content type='html'>&lt;span style="font-family:verdana;"&gt;When I'm not using UNIX, I'm not. To try and make things a little more tolerable, I use GVIM as much as possible. Unfortunately, the win32 GVIM release expects Python 2.4 if you want to use the amazing omnicomplete Python functions. I hit the wall today and broke down in tears, knowing that I had Python 2.5.1, but a GVIM that didn't use that.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The solution was to compile a GVIM executable myself! It turns out that it is fairly easy. I also assume that Vim is already installed.&lt;/span&gt;&lt;br /&gt;&lt;ol style="font-family: verdana;"&gt;&lt;li&gt;Download the source archives.&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="ftp://ftp.vim.org/pub/vim/unix/vim-7.1.tar.bz2"&gt;ftp://ftp.vim.org/pub/vim/unix/vim-7.1.tar.bz2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="ftp://ftp.vim.org/pub/vim/extra/vim-7.1-extra.tar.gz"&gt;ftp://ftp.vim.org/pub/vim/extra/vim-7.1-extra.tar.gz&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Extract&lt;/li&gt;&lt;li style="font-family: courier new;"&gt;CD vim71\src&lt;/li&gt;&lt;li style="font-family: courier new;"&gt;"C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"&lt;br /&gt;&lt;/li&gt;&lt;li style="font-family: courier new;"&gt;nmake -f Make_mvc.mak FEATURES=HUGE GUI=yes OLE=yes MBYTE=yes IME=yes GIME=yes PYTHON=C:\Python25 DYNAMIC_PYTHON=yes PYTHON_VER=25 CSCOPE=yes&lt;/li&gt;&lt;li style="font-family: courier new;"&gt;Make sure the regular Vim 7.1 is installed. I used the installer located at &lt;a href="ftp://ftp.vim.org/pub/vim/pc/gvim71.exe"&gt;ftp://ftp.vim.org/pub/vim/pc/gvim71.exe&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="font-family: courier new;"&gt;COPY /Y gvim.exe "C:\Program Files\Vim\vim71\gvim.exe"&lt;/li&gt;&lt;li style="font-family: courier new;"&gt;COPY /Y GvimExt\gvimext.dll "C:\Program Files\Vim\vim71\gvimext.dll"&lt;/li&gt;&lt;li&gt;Turn up your Ashlee Simpson CD&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:verdana;"&gt;That seems to be it. I didn't add support for TCL, Perl, or XPMs, but you're a smart kid. You can figure it out.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-2490330043580481604?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/2490330043580481604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/2490330043580481604'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/02/gvim-python.html' title='GVIM ♥ Python'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry><entry><id>tag:blogger.com,1999:blog-6179374305254862497.post-8929137061588968668</id><published>2008-02-05T01:08:00.000-06:00</published><updated>2008-02-05T13:05:16.535-06:00</updated><title type='text'>I Threw My MBR Off The Deck</title><content type='html'>&lt;span style="font-family:verdana;"&gt;When installing FreeBSD, it gives you the option to install the FreeBSD boot manager or a standard MBR. Since I only have one operating system on my hard drive, a standard MBR will boot right into FreeBSD.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Well, instead of doing the right thing, I did the wrong thing and installed the FreeBSD boot manager, also known as boot0. Luckily, UNIX is amazing and gives you the option to fix things. A quick look at boot0cfg(8) (which means type 'man 8 boot0cfg'), and you can see that the fix is:&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;fdisk -B ad0&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The -B option to fdisk means, "Reinitialize the boot code contained in sector 0 of the disk." In FreeBSD, your devices are referred to by the kernel module/driver they use. "ad" is the "generic ATA/ATAPI disk controller driver" and 0 is the number of the first ATA/ATAPI disk (zero-indexed, of course). You might have a different disk. Adjust that last argument as necessary.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6179374305254862497-8929137061588968668?l=www.cs.wisc.edu%2F%7Emick%2Fblogger'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8929137061588968668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6179374305254862497/posts/default/8929137061588968668'/><link rel='alternate' type='text/html' href='http://www.cs.wisc.edu/~mick/blogger/2008/02/i-threw-my-mbr-off-deck.html' title='I Threw My MBR Off The Deck'/><author><name>myheartinamerica</name><uri>http://www.blogger.com/profile/05370039603558082654</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10262431095285213187'/></author></entry></feed>