<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-2643923222133320297</atom:id><lastBuildDate>Wed, 01 Sep 2010 17:26:49 +0000</lastBuildDate><title>David Ron</title><description>David's Blog</description><link>http://blog.davidron.com/</link><managingEditor>noreply@blogger.com (David Ron)</managingEditor><generator>Blogger</generator><openSearch:totalResults>119</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-4329414605040426527</guid><pubDate>Sat, 28 Aug 2010 19:59:00 +0000</pubDate><atom:updated>2010-08-28T12:59:40.994-07:00</atom:updated><title>Handbrake Broken in Ubuntu 10.04</title><description>Running Ubuntu 10.04 and trying to rip a DVD with Handbrake.&amp;nbsp; Chances are that the "start" button will be disabled or "greyed out" due to a bug in Handbrake and changes to Gnome.&amp;nbsp; The trick is to upgrade Handbrake to a pre-release version using an Ubuntu PPA:&lt;br /&gt;&lt;div class="code"&gt;sudo add-apt-repository ppa:stebbins/handbrake-snapshots; sudo apt-get update;sudo apt-get install handbrake-cli handbrake-gtk&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-4329414605040426527?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/08/handbrake-broken-in-ubuntu-910.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-1977875533095316636</guid><pubDate>Fri, 20 Aug 2010 19:23:00 +0000</pubDate><atom:updated>2010-08-20T12:23:18.736-07:00</atom:updated><title>The easiest way to update a Dell Bios within Ubuntu</title><description>&lt;div style="font-family: inherit;"&gt;Here's how to install that dumb .exe file Dell ships for new Bios's in Ubuntu (or any Debian Linux).&amp;nbsp; These directions should easily be altered for any Linux by changing the first apt-get command as long as libsmbios-bin and wine are available for that platform.&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo apt-get install libsmbios-bin wine&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;getSystemId&lt;/span&gt; will give you everything you need to know about your machine and current BIOS.       &lt;/li&gt;&lt;li&gt;Download the most recent BIOS upgrade for your system from &lt;a href="http://support.dell.com/"&gt;http://support.dell.com&lt;/a&gt; as you would if using Windows &lt;/li&gt;&lt;li&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;wine O755-A17.exe –writehdrfile &lt;/span&gt;will extract the .hdr file containing the Bios upgrade program.&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo modprobe dell_rbu&lt;/span&gt;&amp;nbsp; will load the dell_rbu driver &lt;/li&gt;&lt;li&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;dellBiosUpdate –u –f -reboot&lt;/span&gt;  will begin the upgrade process and reboot the machine to finish.&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://java2go.blogspot.com/2010/05/how-to-upgrade-your-dells-bios-directly.html"&gt;&lt;span style="font-size: xx-small;"&gt;Source&lt;/span&gt;&lt;/a&gt; &lt;br /&gt;&lt;ol&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-1977875533095316636?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/08/easiest-way-to-update-dell-bios-within.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-217885819317770106</guid><pubDate>Wed, 18 Aug 2010 20:35:00 +0000</pubDate><atom:updated>2010-08-18T13:36:05.439-07:00</atom:updated><title>Two ways to select the current date from the database in Hibernate And Joda Time</title><description>The first method - this requires that a table is mapped to a hibernatified object named "Company" and is always available.  This won't work if you are dealing with several schemas unless all of them share at least a single table name:&lt;div class='code'&gt;DateTimeZone databaseTimeZone = DateTimeZone.forID(getCurrentSession().createSQLQuery("select DBTIMEZONE from dual").uniqueResult().toString());return new DateTime(getCurrentSession().createQuery("select current_timestamp() from Company").list().get(0), databaseTimeZone);&lt;/div&gt;Another way is specific to the database platform you are using.  This uses the standard Oracle method of "select SYSDATE from dual" to return back a timestamp which contains all of date, time, and timezone.&lt;div class='code'&gt;Timestamp timestamp = (Timestamp) getCurrentSession().createSQLQuery("select SYSDATE param from dual").addScalar("param", Hibernate.TIMESTAMP).uniqueResult();return new DateTime(timestamp);&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-217885819317770106?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/08/two-ways-to-select-current-date-from.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-2437296313904473647</guid><pubDate>Wed, 11 Aug 2010 03:19:00 +0000</pubDate><atom:updated>2010-08-10T20:19:59.952-07:00</atom:updated><title>Ubuntu 10.04 Sleep Instead Of Hibernate When Idle</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_e5Dy8J6Cluc/TGIWwsjSIfI/AAAAAAAAAIs/OkPtki05a_0/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_e5Dy8J6Cluc/TGIWwsjSIfI/AAAAAAAAAIs/OkPtki05a_0/s320/Screenshot.png" /&gt;&lt;/a&gt;&lt;/div&gt;Ubuntu has an incomplete power management tool built in.&amp;nbsp; Some of the things you CAN'T configure is the ability to sleep instead of hibernate when the computer is idle for a period of time (the period of time is easily configurable in the power-settings dialog).&amp;nbsp; Here's how to modify Gnome's advanced power settings using the gconf-editor:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Run the command gconf-editor (press [alt]-[f2], type &lt;i&gt;gconf-editor&lt;/i&gt;, and press [Enter])&lt;/li&gt;&lt;li&gt;Browse to &lt;i&gt;/apps/gnome-power-manager/actions/critical_battery&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Change the settings.&amp;nbsp; Possible values are "hibernate", "suspend", "shutdown" and "nothing".&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-2437296313904473647?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/08/ubuntu-1004-sleep-instead-of-hibernate.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_e5Dy8J6Cluc/TGIWwsjSIfI/AAAAAAAAAIs/OkPtki05a_0/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-3703703810840407391</guid><pubDate>Mon, 09 Aug 2010 18:31:00 +0000</pubDate><atom:updated>2010-08-09T11:32:01.656-07:00</atom:updated><title>Book Review: Capitalism And Freedom</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_e5Dy8J6Cluc/TGBH8X63cTI/AAAAAAAAAIk/N8aUcC-bIbI/s1600/4v2znn.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_e5Dy8J6Cluc/TGBH8X63cTI/AAAAAAAAAIk/N8aUcC-bIbI/s320/4v2znn.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Written by the Nobel Prize winning economist, Milton Friedman, Capitalism and Freedom outlines the classical liberal (today called the Libertarian) economic argument against government intervention in the roles of business and personal freedoms.&amp;nbsp; While most of the arguments posed in the books are not, from a philosophical perspective provably "valid" through deduction, they are compelling from an inductive perspective.&amp;nbsp; I recommend anybody who votes at least read this book to understand the negative implication of increased government intervention means in our lives whether a socialist or a capitalist.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-3703703810840407391?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/08/book-review-capitalism-and-freedom.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_e5Dy8J6Cluc/TGBH8X63cTI/AAAAAAAAAIk/N8aUcC-bIbI/s72-c/4v2znn.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-8961674365708657962</guid><pubDate>Sun, 01 Aug 2010 00:46:00 +0000</pubDate><atom:updated>2010-07-31T17:46:05.792-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>book reviews</category><title>Book Review: Effective Java</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_e5Dy8J6Cluc/TFTBd-4a4mI/AAAAAAAAAIc/Z5EQ9Mh0fHE/s1600/EffectiveJava.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_e5Dy8J6Cluc/TFTBd-4a4mI/AAAAAAAAAIc/Z5EQ9Mh0fHE/s320/EffectiveJava.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;If you have programmed in Java for more than a couple of years, or you consider yourself an intermediate or advanced programmer, then you either have read this book, or you NEED to read this book.&amp;nbsp; This is probably the most important piece of text about the proper style and patterns to use in Java I've ever read.&amp;nbsp; It will undoubtedly settle countless design discussions about the "right way" to do something when the issue is over the language itself.&amp;nbsp; This book is not a book on Domain Driven Design or Object Oriented Programming, but it does require a good knowledge of these areas to fully comprehend the arguments posed.&amp;nbsp; No, it tackles the heart of the language API paying a lot of attention to java.lang and java.util and spending some time on concurrency, serialization, and what makes Java beautiful as well as what is not so intuitive about the language.&lt;br /&gt;&lt;br /&gt;Java Programmers: Read This Book.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-8961674365708657962?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/07/book-review-effective-java.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_e5Dy8J6Cluc/TFTBd-4a4mI/AAAAAAAAAIc/Z5EQ9Mh0fHE/s72-c/EffectiveJava.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-5245730736298798137</guid><pubDate>Wed, 28 Jul 2010 19:54:00 +0000</pubDate><atom:updated>2010-07-28T12:55:29.108-07:00</atom:updated><title>Make Firefox New Tabs Always Open On The Far Right</title><description>In versions of Firefox previous to 1.6, new tabs opened up at the right end of a list of tabs when you middle-click or ctrl-click on a link.&amp;nbsp; After the 1.6 update, the Microsoft approach to opening tabs was adopted which keeps these "related" tabs closer to each other by opening up new tabs right next to the current tab.&amp;nbsp; To revert this behavior back to the pre-1.6 days, do the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Browse to &lt;a class="moz-txt-link-freetext" href="about:config"&gt;about:config&lt;/a&gt; and accept any warning.&lt;/li&gt;&lt;li&gt;Search for &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tabs.insertRelatedAfterCurrent&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Toggle it from &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;true&lt;/span&gt; to &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;false&lt;/span&gt;&lt;br /&gt;   &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-5245730736298798137?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/07/make-firefox-new-tabs-always-open-on.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-7302808814284610583</guid><pubDate>Tue, 27 Jul 2010 18:26:00 +0000</pubDate><atom:updated>2010-07-27T11:26:48.454-07:00</atom:updated><title>Converting 3gp Video Under Ubuntu</title><description>I was given a pair of video recording sun glasses for Christmas which records pretty poor quality video onto some internal storage.&amp;nbsp; Worse, it records in a very difficult to work with 3gp wrapped mp4 implementation.&amp;nbsp; Here's how I convert those video files into something a little more workable, Mpeg4/AAC wrapped by an mp4.&lt;br /&gt;&lt;br /&gt;First, you may need to install a codec to even be able to read these files: (Change Karmic to whatever version of Ubuntu you are using)&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;sudo wget &lt;/span&gt;&lt;a href="http://www.medibuntu.org/sources.list.d/" shape="rect" style="font-family: Courier New;" target="_blank"&gt;http://www.medibuntu.org/sources.list.d/&lt;/a&gt;&lt;b style="font-family: Courier New;"&gt;karmic&lt;/b&gt;&lt;span style="font-family: Courier New;"&gt;.list--output-document=/etc/apt/sources.list.d/medibuntu.list;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get installmedibuntu-keyring &amp;amp;&amp;amp; sudo apt-get update&lt;/span&gt;; &lt;span style="font-family: Courier New;"&gt;sudo apt-getinstall mplayer w32codecs non-free-codecs mplayer libavcodec-extra-52amrwb amrnb&amp;nbsp; libopencore-amrwb0 libopencore-amrnb0libamrnb3 libamrwb3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here's a command to type to convert these files.&amp;nbsp; The following will convert starting at 2 minutes and ending after 5 minutes of time (7 minutes into the original):&lt;br /&gt;&lt;div class="code"&gt;ffmpeg -i Vid0004.3gp -acodec faac mp2 -ab 128kb -ar 22050 -vcodec mpeg4 -b 1200kb -mbd 2 -cmp 2 -subcmp 2 -ss 00:02:00 -t 00:5:00 output.mp4&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-7302808814284610583?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/07/converting-3gp-video-under-ubuntu.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-2762848722770455761</guid><pubDate>Wed, 14 Jul 2010 21:32:00 +0000</pubDate><atom:updated>2010-07-14T14:32:29.999-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>book reviews</category><title>Book Review: Hadoop: The Definitive Guide</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_e5Dy8J6Cluc/TD4p0z71nLI/AAAAAAAAAIQ/nIgqFtyN_Ww/s1600/hadoop.htm" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_e5Dy8J6Cluc/TD4p0z71nLI/AAAAAAAAAIQ/nIgqFtyN_Ww/s320/hadoop.htm" /&gt;&lt;/a&gt;&lt;/div&gt;I took a vacation to Michigan two weeks ago, and a few days before leaving, I purchased a Barnes &amp;amp; Noble Nook.&amp;nbsp; This was the first full-length book I put on the Nook.&lt;br /&gt;&lt;br /&gt;First of all, the Nook is a decent PDF reader if you are reading a lot of narrative.&amp;nbsp; But, you can't use the device to "zoom" into a page that has a lot of code because the only "zoom" functionality the device has is a selector to change the font which causes code to re-flow and become unreadable.&amp;nbsp; I solved this little problem by &lt;a href="http://blog.davidron.com/2010/07/zooming-pdf-files-for-nook.html"&gt;cropping the PDF on my computer before loading it onto the Nook&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, the review:&amp;nbsp; This book was great.&amp;nbsp; The narrative was descriptive and not overly-complex.&amp;nbsp; Having read the book cover-to-cover (as it where given it was a PDF on a Nook) without walking through any of the examples left me feeling like I could take on a small Hadoop project and know where to go to do it right the first time.&amp;nbsp; Additionally, I gained a much richer understanding of distributed programming using MapReducers as well as some of the tools build on Hadoop.&amp;nbsp; There was a chapter for each of the following tools: Pig, HBase, Zookeeper, plus a chapter on use cases that introduced Hive, Nutch, and Cascading using real-world examples from developers at well known companies actually using Hadoop such as Yahoo, Facebook, and Last.fm (CBS).&lt;br /&gt;&lt;br /&gt;I recommend this book to anybody who needs an introduction into MapReduce to anybody who wants to actually build a Hadoop cluster.&amp;nbsp; Some of the information required my pre-requisite Computer Science background in distributed systems, networking, etc (specifically the Algebra of network typologies) and a good understanding of Java (to read MapReduce job illustrations) to comprehend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-2762848722770455761?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/07/book-review-hadoop-definitive-guide.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_e5Dy8J6Cluc/TD4p0z71nLI/AAAAAAAAAIQ/nIgqFtyN_Ww/s72-c/hadoop.htm' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-3250404769441740462</guid><pubDate>Wed, 14 Jul 2010 16:01:00 +0000</pubDate><atom:updated>2010-07-14T09:02:10.751-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>book reviews</category><title>Book Review: Confessions Of An Economic Hitman</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_e5Dy8J6Cluc/TD3e_-PXHoI/AAAAAAAAAII/1AfZ0pvPd4s/s1600/200px-Confessions_of_An_Economic_Hitman_Cover.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_e5Dy8J6Cluc/TD3e_-PXHoI/AAAAAAAAAII/1AfZ0pvPd4s/s320/200px-Confessions_of_An_Economic_Hitman_Cover.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;I admit that I only got 1/2 way through the book and I couldn't take it any more.&amp;nbsp; It's complete conspiracy theory trash, most of which is founded on unsubstantiated psuedo-facts.&amp;nbsp; I wanted to get into it, but I kept asking myself, "How does he even know that's true".&amp;nbsp; &lt;a href="http://en.wikipedia.org/wiki/Confessions_of_an_Economic_Hit_Man#Controversy_and_criticism"&gt;He doesn't&lt;/a&gt;.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Trash.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-3250404769441740462?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/07/book-review-confessions-of-economic.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_e5Dy8J6Cluc/TD3e_-PXHoI/AAAAAAAAAII/1AfZ0pvPd4s/s72-c/200px-Confessions_of_An_Economic_Hitman_Cover.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-6995800004980714191</guid><pubDate>Tue, 13 Jul 2010 22:27:00 +0000</pubDate><atom:updated>2010-07-13T15:30:35.152-07:00</atom:updated><title>Zooming PDF files for Nook.</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_e5Dy8J6Cluc/TDzl66KVmXI/AAAAAAAAAIA/AiSxmpwxBKE/s1600/PDFEdit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_e5Dy8J6Cluc/TDzl66KVmXI/AAAAAAAAAIA/AiSxmpwxBKE/s320/PDFEdit.png" /&gt;&lt;/a&gt;&lt;/div&gt;I just got a Barnes &amp;amp; Noble Nook.&amp;nbsp; It's a great little reader based on Android with a standard e-ink display and an additional LCD display for navigating quickly to the book and page you would like to read.&amp;nbsp; The most annoying feature was it's handling of PDF files.&amp;nbsp; If I chose the font "small" I got a full page display of the PDF as if it were a small print out.&amp;nbsp; Any larger font caused the PDF to be improperly re-flowed - severely re-aligning source code such to make it completely unreadable.&amp;nbsp; Worse, the "small" font preserved the thick book-like margins found in the original PDF, which caused the text to be uncomfortably small.&amp;nbsp; What I wanted was to zoom into the page, cropping out the margins.&amp;nbsp; Here's how to crop out the margins using a PC:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install pdfedit.&amp;nbsp; Under Ubuntu, it's found in the Synaptic Package Manager for one-click installation.&amp;nbsp; Under Windows, the installation process is &lt;a href="http://sourceforge.net/projects/pdfedit/"&gt;quite involved&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Open your e-book in PDF edit.&amp;nbsp; &lt;/li&gt;&lt;li&gt;Choose page-&amp;gt;edit page metrics (alt-p, d)&lt;/li&gt;&lt;li&gt;Adjust the top four boxes until the PDF is cropped the way you want it to be for the current page by changing one at a time, and applying it to the page.&amp;nbsp; Don't worry, no data is lost, and you can always just change the number back if you make a mistake.&lt;/li&gt;&lt;li&gt;Once you are sure that the numbers are set the way you want them, adjust the bottom two boxes to change all pages (Apply from = 1, How many=999999999).&lt;/li&gt;&lt;li&gt;Before doing step 2, you may have to open pdfedit and before opening a pdf, delinearize your PDF using the Tools-&amp;gt;delinearize option to open the original pdf and re-save it to another file.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;Finally, if pdfedit has any other trouble opening the file, the PDF may be damaged.&amp;nbsp; Under Ubuntu, I use the command pdftk to repair my file.&amp;nbsp; Pdftk is available in The Synaptic Package Manager.&amp;nbsp; Here's the command:&lt;br /&gt;&lt;br /&gt;&lt;div class='code'&gt;pdftk input.pdf output output.pdf&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-6995800004980714191?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/07/zooming-pdf-files-for-nook.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_e5Dy8J6Cluc/TDzl66KVmXI/AAAAAAAAAIA/AiSxmpwxBKE/s72-c/PDFEdit.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-6166444034126955414</guid><pubDate>Tue, 13 Jul 2010 22:16:00 +0000</pubDate><atom:updated>2010-07-13T15:16:31.495-07:00</atom:updated><title>Converting CHM to PDF for the Nook</title><description>Here's what I do to convert a CHM file to a PDF file for reading on my Nook using Ubuntu.&lt;br /&gt;&lt;br /&gt;First, install chm2pdf using the Ubuntu software installer.&amp;nbsp; Next, from the command line, use the following command: &lt;br /&gt;&lt;div class="code"&gt;chm2pdf --bottom margin5 --left margin5 --right margin5 --top margin5 --book chmFileName.chm&lt;/div&gt;And, if I get an error, change the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;--book&lt;/span&gt; to &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;--continuous&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-6166444034126955414?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/07/converting-chm-to-pdf-for-nook.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-6873480932768125966</guid><pubDate>Tue, 13 Jul 2010 22:09:00 +0000</pubDate><atom:updated>2010-07-13T15:09:48.877-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>book reviews</category><title>Book Review: The Wealth Of Nations by Adam Smith</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_e5Dy8J6Cluc/TDzjE7JKOQI/AAAAAAAAAH4/aZDHbipqbSc/s1600/200px-Wealth_of_Nations.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_e5Dy8J6Cluc/TDzjE7JKOQI/AAAAAAAAAH4/aZDHbipqbSc/s320/200px-Wealth_of_Nations.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;I listened to this book on &lt;a href="http://librivox.org/the-wealth-of-nations-book-1-by-adam-smith/"&gt;Libravox&lt;/a&gt;.&amp;nbsp; The reader did a great job, and I recommend the book to anybody who wants to read the father of Classical Economic's seminal work.&amp;nbsp; By today's standards, this would definitely be considered a "dry read".&amp;nbsp; In this multi-volume work, Smith lays out the definitive argument against mercantilism, the prosperity of a nation is dependent upon its supply of capital to the world economy.&amp;nbsp; This over-simplistic view gave way to classical economics, and the modern supply/demand method of looking at macroeconomics and microeconomics.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-6873480932768125966?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/07/book-review-wealth-of-nations-by-adam.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_e5Dy8J6Cluc/TDzjE7JKOQI/AAAAAAAAAH4/aZDHbipqbSc/s72-c/200px-Wealth_of_Nations.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-2346083448234783836</guid><pubDate>Thu, 24 Jun 2010 18:58:00 +0000</pubDate><atom:updated>2010-06-24T11:59:09.193-07:00</atom:updated><title>Ubuntu: Fixing "Damaged Android SD Card"</title><description>Android suddenly started telling me that my SD card was "Damaged".&amp;nbsp; To fix that in Ubuntu, just mount the card and run the following:&lt;br /&gt;&lt;div class="code"&gt;sudo fsck -a /dev/sdb1&lt;/div&gt;&lt;br /&gt;The &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/dev/sdb1 &lt;/span&gt;part may be different.&amp;nbsp; To find out, just type &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;dmesg&lt;/span&gt; and see the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sdb:sdb1&lt;/span&gt; in the output:&lt;br /&gt;&lt;div class="code"&gt;[12330.974901] sd 11:0:0:0: [sdb] Assuming drive cache: write through[12330.974911]  sdb: sdb1[12330.995285] sd 11:0:0:0: [sdb] Assuming drive cache: write through[12330.995289] sd 11:0:0:0: [sdb] Attached SCSI removable disk&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-2346083448234783836?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/06/ubuntu-fixing-damaged-android-sd-card.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-1331190825343291367</guid><pubDate>Fri, 18 Jun 2010 04:30:00 +0000</pubDate><atom:updated>2010-07-27T11:09:27.477-07:00</atom:updated><title>Fixing Evernote's “No snapshot found to upload”</title><description>I just upgraded to the latest version of Evernote for Android.&amp;nbsp; I'm not sure what went wrong, but after the upgrade, every time I tried to create a snapshot note within the app, I received the error message   “No snapshot found to upload” right after taking the picture.&amp;nbsp; The solution: Make sure all pending notes have been sent and then delete the "Evernote" folder on the phones memory card.&lt;br /&gt;&lt;br /&gt;Don't worry, all of your data is in the cloud, and whatever was in that folder will be re-created as soon as you start Evernote again.&lt;br /&gt;&lt;br /&gt;Update 2010-07-27: Nope.&amp;nbsp; This didn't help.&amp;nbsp; The problem came back.&amp;nbsp; Apparently, if you wait a really long time between taking the picture and pressing "OK" will help.&amp;nbsp; Apparently, there is a "race condition" where Evernote expects a snapshot to exist as a file somewhere yet the file is still being written to storage.&amp;nbsp; Apparently, there is a new beta floating about that fixes the problem.&amp;nbsp; You can get it by surfing to: &lt;a href="http://s.evernote.com/androidbeta"&gt;http://s.evernote.com/androidbeta&lt;/a&gt;.&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-1331190825343291367?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/06/fixing-evernotes-no-snapshot-found-to.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-5352278358574279817</guid><pubDate>Wed, 16 Jun 2010 23:15:00 +0000</pubDate><atom:updated>2010-06-16T16:15:15.416-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>book reviews</category><title>Book Review: Beautiful Code</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_e5Dy8J6Cluc/TBkB5Gcli5I/AAAAAAAAAHg/6nT1LvU0cnM/s1600/beautifulCode.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_e5Dy8J6Cluc/TBkB5Gcli5I/AAAAAAAAAHg/6nT1LvU0cnM/s320/beautifulCode.gif" /&gt;&lt;/a&gt;&lt;/div&gt;I just finished reading &lt;a href="http://www.amazon.com/Beautiful-Code/dp/B002AWX8JG"&gt;Beautiful Code&lt;/a&gt;.  This programming book is an assortment of stories and examples of well-written code or elegant designs.  Each chapter was written by a different author and at a different level of granularity.&amp;nbsp; My overall opinion of the book was "meh".&amp;nbsp; I was expecting to see a book full of examples of beautiful code, but instead what I got was a book half full of programmers bragging about how cool their applications are.&amp;nbsp; I didn't want to read "beautiful applications"; I wanted to read "beautiful code".&amp;nbsp; Given that, there were some great chapters that included really beautiful code. &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The section on MapReduce contains the most elegant description of what MapReduce is and how it is used that I've seen.&amp;nbsp; The code snippets truly are beautiful.&lt;/li&gt;&lt;li&gt;The section on "beautiful tests" was quite well written.&lt;/li&gt;&lt;li&gt;The section on Fit by Michael Feathers was a fun read.&lt;/li&gt;&lt;/ul&gt;I found myself skipping whole paragraphs and pages after reading the first two pages of certain chapters because I had no interest in Assembly Hacks or the Solaris Kernel Scheduler - what were beautiful designs, but specific to use-cases I will probably never encounter in real-life.&amp;nbsp; Fortunately, no chapter relied on the content of the previous chapter, so I got a free restart every few dozen pages or so.&lt;br /&gt;&lt;br /&gt;But worse, some of the chapters show off what I would consider to be UGLY CODE and call it beautiful.&amp;nbsp; Flip to the chapter on Perforce.&amp;nbsp; It purports to be THE chapter on "beautiful code".&amp;nbsp; On page 530, the code is well aligned and looks neatly organized, but is chock full of &lt;a href="http://en.wikipedia.org/wiki/Code_smell"&gt;Inappropriate Intimacy&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Code_smell"&gt;Duplicate Code&lt;/a&gt;. &amp;nbsp; I mean, look at this snippit:&lt;br /&gt;&lt;div class="code"&gt;case MS_BASE:               /* dumping the original */    if( selbits = selbitTab[ DL_BASE ][ diffDiff ] )    {        readFile = bf;        readFile-&amp;gt;SeekLine( bf-&amp;gt;start );        state = MS_LEG1;        break;    }case MS_LEG1:               /* dumping leg1 */    if( selbits = selbitTab[ DL_LEG1 ][ diffDiff ] )    {        readFile = lf1;        readFile-&amp;gt;SeekLine( lf1-&amp;gt;start );        state = MS_LEG2;        break;    }case MS_LEG2:               /* dumping leg2 */    if( selbits = selbitTab[ DL_LEG2 ][ diffDiff ] )    {        readFile = lf2;        readFile-&amp;gt;SeekLine( lf2-&amp;gt;start );    }    state = MS_DIFFDIFF;    break;&lt;/div&gt;Really?  Really.  This is the best they could come up with for "Beautiful Code".  It looks like some 1980's era hackers 4am jolt-ridden finger-barf.&lt;br /&gt;&lt;br /&gt;Then, he starts advising people to avoid deeply nested code by using "Case Statements and Decision Tables". &amp;nbsp; Nothing about inheritance, nothing about refactoring code to pull out duplication.&amp;nbsp; Then he goes on to say that they don't refactor variable and method names on page 532 because they are afraid that it will introduce bugs.&amp;nbsp; So, they DON'T use a statically typed language that catches linking errors at compile time because the footnote say c++?&amp;nbsp; They don't have even a semblance of proper test coverage?&amp;nbsp; No wonder Perforce feels stuck in the 1990s; the software engineers are.&lt;br /&gt;&lt;br /&gt;Avoid this book for anything other than a nice set of stories&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-5352278358574279817?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/06/book-review-beautiful-code.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_e5Dy8J6Cluc/TBkB5Gcli5I/AAAAAAAAAHg/6nT1LvU0cnM/s72-c/beautifulCode.gif' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-5912821055813789094</guid><pubDate>Wed, 16 Jun 2010 17:04:00 +0000</pubDate><atom:updated>2010-06-16T10:04:25.352-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>book reviews</category><title>Book Review: The Definitive Guide to Django: Web Development Done Right</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_e5Dy8J6Cluc/TBkDzPZBipI/AAAAAAAAAHw/1GFref3h8t0/s1600/django.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_e5Dy8J6Cluc/TBkDzPZBipI/AAAAAAAAAHw/1GFref3h8t0/s320/django.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;I just finished reading &lt;a href="http://www.amazon.com/Definitive-Guide-Django-Development-Right/dp/1590597257"&gt;The Definitive Guide to Django: Web Development Done Right&lt;/a&gt; (ISBN: 978-1590597255).&amp;nbsp; Django is the most popular IOC, ORM, and MVC framework for python that borrows a lot of the Rails community's use of templates for views and Data Access structure.&amp;nbsp; As a professional programmer and web developer with a decent amount of experience with Python, this book was a very easy read.&amp;nbsp; It focused on practice rather than the theory of web design, so it makes sense for web developers familiar with other languages and/or frameworks who are going to be making the plunge into Python web development with Django.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-5912821055813789094?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/06/book-review-definitive-guide-to-django.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_e5Dy8J6Cluc/TBkDzPZBipI/AAAAAAAAAHw/1GFref3h8t0/s72-c/django.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-8797671295778740500</guid><pubDate>Mon, 14 Jun 2010 21:54:00 +0000</pubDate><atom:updated>2010-06-14T16:29:14.914-07:00</atom:updated><title>The Team Chat Room</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_e5Dy8J6Cluc/TBa7Li5JOxI/AAAAAAAAAHE/cqgvzjY1sDQ/s1600/698px-Screenshot-XChat-_Moniker42_%40_FreeNode_-_-ubuntuforums_%28%2Btn%29-1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="274" src="http://4.bp.blogspot.com/_e5Dy8J6Cluc/TBa7Li5JOxI/AAAAAAAAAHE/cqgvzjY1sDQ/s320/698px-Screenshot-XChat-_Moniker42_%40_FreeNode_-_-ubuntuforums_%28%2Btn%29-1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;IRC (Internet Relay Chat) fills a nice gap between e-mail or message boards and a teleconference.&amp;nbsp; It's short and fast, like a real verbal conversation, but it keeps a log of what has been said so if you miss something, you can go back and read it. It alerts you when people mention your name (so you can be dragged into a conversation you may be ignoring).&amp;nbsp; It also makes a decent copy/paste between computers.&lt;br /&gt;&lt;br /&gt;If you need something a little more long-form, such as what a team of programmers may need working on a complex bug, I also really like &lt;a href="https://wave.google.com/wave/"&gt;Google Wave&lt;/a&gt;, which is something like a mash up of IRC and a Wiki.&lt;br /&gt;&lt;br /&gt;I recommend that any team of more than 2 people take the time to set up a team chat room.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-8797671295778740500?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/06/team-chat-room.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_e5Dy8J6Cluc/TBa7Li5JOxI/AAAAAAAAAHE/cqgvzjY1sDQ/s72-c/698px-Screenshot-XChat-_Moniker42_%40_FreeNode_-_-ubuntuforums_%28%2Btn%29-1.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-6750162199018479821</guid><pubDate>Thu, 03 Jun 2010 21:13:00 +0000</pubDate><atom:updated>2010-06-16T09:35:50.322-07:00</atom:updated><title>Enable History Search Using PgUp and PgDown</title><description>Want to be able to grep your .bash_history inline?  Here's how:&lt;br /&gt;#gedit ~/.inputrc&lt;br /&gt;Add the following lines:&lt;br /&gt;&lt;div class='code'&gt;"\e[5~": history-search-backward&lt;br /&gt;"\e[6~": history-search-forward&lt;br /&gt;&lt;/div&gt;Check out /etc/inputrc for other similar bash input tricks you can add &lt;br /&gt;to your .inputrc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-6750162199018479821?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/06/enable-history-search-using-pgup-and.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-4282579954134887839</guid><pubDate>Sat, 24 Apr 2010 16:42:00 +0000</pubDate><atom:updated>2010-04-24T09:50:22.532-07:00</atom:updated><title>Ripping Audio Books On CD To MP3</title><description>Lots of people who listen to Podcasts may be interested in audio books as well.&amp;nbsp; The most popular format to purchase/rent/borrow audio books is on CD.&amp;nbsp; But, the CD player is a dying piece of hardware, so one might want to convert these CDs to MP3 files.&amp;nbsp; Unfortunately, normal MP3 conversion software will make it hard because it expects each track to be a different song on an album.&amp;nbsp; Additionally, most audio books appear to lack CDDB information, so you may have trouble tagging your audio files.&amp;nbsp; A more preferrable format would be to take each disk of the book into it's own ~70 minute audio file, just like a podcast.&amp;nbsp; Here's how to do it using Ubuntu:&lt;br /&gt;&lt;br /&gt;First, install abcde:&lt;br /&gt;&lt;div class="code"&gt;sudo apt-get install abcde lame&lt;/div&gt;&lt;br /&gt;Next, use the following command to rip the CD.&lt;br /&gt;&lt;div class="code"&gt;mkdir ./temp; cd temp; abcde -1xo mp3 -d /dev/scd0 ;find $1 -name *.mp3| while read FILE; do mv "$FILE" ../bookname01.mp3 ;done;cd ..&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Here's a little cheat sheet from abcde's ripper output:&lt;br /&gt;&lt;a href="http://www.xiph.org/paranoia/manual.html" shape="rect" target="_blank"&gt;http://www.xiph.org/paranoia/manual.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT SMILIES&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;br clear="none" /&gt;     :-)  Normal operation, low/no jitter&lt;br clear="none" /&gt;     :-|  Normal operation, considerable jitter&lt;br clear="none" /&gt;     :-/  Read drift&lt;br clear="none" /&gt;     :-P  Unreported loss of streaming in atomic read operation&lt;br clear="none" /&gt;     8-|  Finding read problems at same point during reread; hard to  &lt;br clear="none" /&gt;cor-rect&lt;br clear="none" /&gt;     :-0  SCSI/ATAPI transport error&lt;br clear="none" /&gt;     :-(  Scratch detected&lt;br clear="none" /&gt;     ;-(  Gave up trying to perform a correction&lt;br clear="none" /&gt;     8-X  Aborted read due to known, uncorrectable error&lt;br clear="none" /&gt;     :^D  Finished extracting&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PROGRESS BAR SYMBOLS       &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;-   Jitter correction required&lt;br clear="none" /&gt;      +   Unreported loss of streaming/other error in read&lt;br clear="none" /&gt;      !   Errors  found  after stage 1 correction; the drive is making &lt;br clear="none" /&gt;the same error through multiple re-reads, and cdparanoia  is having &lt;br clear="none" /&gt;trouble detecting them.&lt;br clear="none" /&gt;      e   SCSI/ATAPI transport error (corrected)&lt;br clear="none" /&gt;      V   Uncorrected error/skip&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, if you want to update the ID3 tags for all of your ripped files, use &lt;a href="http://massid3lib.sourceforge.net/"&gt;tagtool&lt;/a&gt; to mass ID3 tag the folder of MP3s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-4282579954134887839?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/04/ripping-audio-books-on-cd-to-mp3.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-6096470526309356349</guid><pubDate>Thu, 15 Apr 2010 00:03:00 +0000</pubDate><atom:updated>2010-04-14T17:03:01.609-07:00</atom:updated><title>Removing Firefox 3's Star Button (Bookmark Button)</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_e5Dy8J6Cluc/S8ZXZh1duLI/AAAAAAAAAG8/sxzzZYoWJTA/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_e5Dy8J6Cluc/S8ZXZh1duLI/AAAAAAAAAG8/sxzzZYoWJTA/s320/Screenshot.png" /&gt;&lt;/a&gt;&lt;/div&gt;Sick of that little star to the right of the URL in Firefox 3?&amp;nbsp; Here's how to hide it.&amp;nbsp; edit your &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;userChrome.css&lt;/span&gt; file to add the following:&lt;br /&gt;&lt;br /&gt;&lt;div style="padding-left: 30px;"&gt;&lt;/div&gt;&lt;div style="padding-left: 30px;"&gt;&lt;code&gt;/* Remove the Bookmark star */&lt;br /&gt;#star-button {&lt;br /&gt;display: none !important; } &lt;/code&gt;&lt;/div&gt;&lt;br /&gt;If you don't have a &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;userChrome.css&lt;/span&gt;, locate the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;userChrome-example.css&lt;/span&gt; that comes with firefox, make a copy of it, and add the above text to the bottom.&amp;nbsp; I suggest replacing it with the &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/4076"&gt;addthis&lt;/a&gt; extension which allows bookmarking to your browser as well as dozens of other sites such as digg, instapaper, facebook, twitter, evernote, and blogger.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ffextensionguru.wordpress.com/2008/05/10/fx-3-removing-bookmark-star-button/"&gt;Source&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-6096470526309356349?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/04/removing-firefox-3s-star-button.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_e5Dy8J6Cluc/S8ZXZh1duLI/AAAAAAAAAG8/sxzzZYoWJTA/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-1023763768845083902</guid><pubDate>Wed, 07 Apr 2010 00:25:00 +0000</pubDate><atom:updated>2010-04-06T17:25:22.175-07:00</atom:updated><title>Stop Thunderbird From Asking For a Password Using AOL Or Gmail IMAP Accounts</title><description>IMAP is far superior to POP, and AOL and Gmail both support IMAP.&amp;nbsp; If you are using Gmail or AOL mail with Thunderbird via an IMAP connection, Thunderbird may start asking for your password over and over again.&amp;nbsp; This can be because Thunderbird is creating too many simultaneous connections to the server.&amp;nbsp; The fix it to force Thunderbird to pipeline all updates in one single connection, which can make updating folders a little slower but fix this annoying bug.&amp;nbsp; Here's how:&lt;br&gt; &lt;ul&gt;   &lt;li&gt;Click&lt;strong&gt; Edit &amp;gt; Account Settings&amp;nbsp; &lt;br&gt;     &lt;/strong&gt;&lt;/li&gt;   &lt;li&gt;Find the account which has the problem and click&lt;strong&gt; Server Settings&lt;/strong&gt; &lt;br&gt;   &lt;/li&gt;   &lt;li&gt;Click &lt;strong&gt;&amp;gt; Advanced&lt;/strong&gt;&lt;br&gt;   &lt;/li&gt;   &lt;li&gt;Change &lt;strong&gt;Maximum Number&lt;/strong&gt;&lt;strong&gt; of server connections&lt;/strong&gt;&lt;strong&gt; to cache&lt;/strong&gt; to 1.&lt;/li&gt; &lt;/ul&gt; &lt;a  href="http://kb.siteground.com/article/How_to_change_max_number_of_IMAP_connections_in_Thunderbird.html"&gt;The Source&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-1023763768845083902?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/04/stop-thunderbird-from-asking-for.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-3774667021996448619</guid><pubDate>Tue, 06 Apr 2010 22:33:00 +0000</pubDate><atom:updated>2010-06-16T09:37:47.665-07:00</atom:updated><title>Running Your Oracle Query In The Background</title><description>I hate Oracle.&amp;nbsp; That given, sometimes you have to run a query that takes FOREVER, and you want to go home with your laptop.&amp;nbsp; If you have access to a server with SQL*Plus, you can run the query there in the backgrund.&amp;nbsp; Here's how:&lt;br /&gt;&lt;br /&gt;First, create a text file containing your query.&lt;br /&gt;&lt;br /&gt;Always start with&lt;br /&gt;&lt;div class='code'&gt;SET PAGESIZE 50000SET MARKUP HTML ON TABLE "class=detail cellspacing=0" ENTMAP OFFSPOOL output.html&lt;/div&gt;Then, place your query under that.&amp;nbsp; Then, end with&lt;br /&gt;&lt;div class='code'&gt;;SPOOL OFFquit;&lt;/div&gt;To run the query, ssh into your server, &lt;br /&gt;&lt;div class='code'&gt;nohup sqlplus username/password@oracleServer @nameOfTheQuery.sql &amp;amp;&lt;/div&gt;&lt;br /&gt;Once the query is complete, you should be able to open the resulting HTML file with OpenOffice Sheet to view as a spreadsheet.&amp;nbsp; I like to paste the query into the second sheet for reference, reformat the columns to the proper space, and re-save as an XLS for a customer or an OpenDocument workbook for myself (because it's smaller and open).&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;br clear="none" /&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;a href="http://68.142.116.68/docs/cd/B19306_01/server.102/b14357/ch6.htm#i1081008"&gt;&lt;span style="font-family: inherit;"&gt;More information&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-3774667021996448619?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/04/running-your-oracle-query-in-background.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-1183444814029362179</guid><pubDate>Tue, 06 Apr 2010 22:19:00 +0000</pubDate><atom:updated>2010-04-06T15:19:27.510-07:00</atom:updated><title>Make the Oracle Optimizer Smarter And Your Queries Faster</title><description>Most Oracle DBAs know this, but us programmers may not be aware that the Oracle query optimizer doesn't automatically periodically scan its data to make sure the choices it makes are accurate for the data that's in the tables.&amp;nbsp; Without doing so, the wrong indexes may be chosen, or full table scans may be run instead of far more optimal index searches.&amp;nbsp; To force the index metadata to be updated, run the following query:&lt;font face="Courier New, Courier, monospace"&gt;&lt;br&gt; &lt;/font&gt; &lt;blockquote&gt;&lt;font face="Courier New, Courier, monospace"&gt;analyze table TABLE_NAME compute statistics;&lt;/font&gt;&lt;br&gt; &lt;/blockquote&gt; &lt;a href="http://www.oradev.com/create_statistics.jsp"&gt;More Information&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-1183444814029362179?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/04/make-oracle-optimizer-smarter-and-your.html</link><author>noreply@blogger.com (David Ron)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2643923222133320297.post-5011577332879284444</guid><pubDate>Wed, 17 Mar 2010 22:43:00 +0000</pubDate><atom:updated>2010-03-18T13:27:31.139-07:00</atom:updated><title>Big Visible Cruise Web Updated!</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_e5Dy8J6Cluc/S6FZl4fKwAI/AAAAAAAAAG0/6SKO9JdWYjY/s1600-h/bvcScreenshotCropped.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_e5Dy8J6Cluc/S6FZl4fKwAI/AAAAAAAAAG0/6SKO9JdWYjY/s320/bvcScreenshotCropped.png" /&gt;&lt;/a&gt;&lt;/div&gt;I just updated BigVisibleCruiseWeb!&amp;nbsp; I created this tool as a cross-platform web-based clone of the C# "Big Visible Cruise" as a way to monitor the status of all of your builds across any number of build servers.&amp;nbsp; It has support for filtering (with regular expressions passed in the URL) and hiding (via a menu driven interface) builds you don't care about, and a mini mode for embedding on your project wiki.&amp;nbsp; Here are some of the new features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Now includes an embedded Jetty server so you just kick the jar off to start it instead of having to deploy a .war file.&lt;/li&gt;&lt;li&gt;It now builds with maven.&lt;/li&gt;&lt;li&gt;Cruise/Hudson build feeds as well as the bvc server port can be configured on the command line.&lt;/li&gt;&lt;li&gt;Better command line logging.&lt;/li&gt;&lt;/ul&gt;If you use CruiseControl or Hudson to automate your build process, check this tool out because it only takes seconds to get up and running!&lt;br /&gt;&lt;a href="http://code.google.com/p/big-visible-cuise-web/"&gt;http://code.google.com/p/big-visible-cuise-web/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643923222133320297-5011577332879284444?l=blog.davidron.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.davidron.com/2010/03/big-visible-cruise-web-updated.html</link><author>noreply@blogger.com (David Ron)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_e5Dy8J6Cluc/S6FZl4fKwAI/AAAAAAAAAG0/6SKO9JdWYjY/s72-c/bvcScreenshotCropped.png' height='72' width='72'/><thr:total>0</thr:total></item></channel></rss>