<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>tech</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/" />
    <link rel="self" type="application/atom+xml" href="http://fozzolog.fozzilinymoo.org/tech/atom.xml" />
    <id>tag:fozzolog.fozzilinymoo.org,2009-02-06:/tech//1</id>
    <updated>2010-06-28T15:26:41Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.23-en</generator>

<entry>
    <title>Online porn: Will .xxx make a difference?</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2010/06/online-porn-will-xxx-make-a-difference.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2010:/tech//1.1700</id>

    <published>2010-06-28T06:11:25Z</published>
    <updated>2010-06-28T15:26:41Z</updated>

    <summary>Pornographic website owners will soon have a new top-level domain (TLD) to populate, .xxx, but the TLD comes with a boatload of controversy. Back in the Iodynamics daze, we wrote about this in one of our quarterly newsletters that was...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="domainnames" label="domain names" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pornography" label="pornography" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xxx" label=".xxx" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>Pornographic website owners will soon have a new top-level domain (TLD) to
populate, <em>.xxx</em>, but the TLD comes with a boatload of controversy.</p>

<p>Back in the Iodynamics daze, we wrote about this in one of our quarterly
newsletters that was distributed to our clients and posted on our website.
In the article, <a href="http://www.iodynamics.com/iobytes/iologue/summer_2005/">Is .xxx good for the Internet?</a>,
we explained that neither a majority of online pornography peddlers or
anti-pornography factions were at the root of the push for a separate
sexually-oriented TLD. Who was it? &#8220;A British Internet domain registry based in Florida.&#8221;</p>

<p><a href="http://www.icmregistry.com/">ICM</a> is the domain name registrar that will
have exclusive management rights of the new .xxx TLD. According to <a href="http://whitehatfirm.com/news/xxx-will-earn-at-least-30-million-a-year-icm/3070.html">one
report</a>,
ICM is looking at making $30 million per year on this business. </p>

<p>Why are pornography peddlers against a differentiation for their sites from
normal &#8220;dot-com&#8221; sites? They feel this differentiation will lead
immediately to discrimination- making it easier for implementation of
blanket blocks on all porn sites. Essentially, they want to maintain the
status quo that currently allows them to collect visits from people
going to porn sites by accident. This is a lame excuse, in my opinion.</p>

<p>Anti-pornography activism groups are against the new TLD because they feel
it will legitimize online pornography. This is a lame argument as well as
online pornography has already reached a well-established legitimacy. </p>

<p>The creation of the new TLD won&#8217;t force current pornographic website
operators to migrate to new .xxx domain names and abandon their current
domain names. As a result, most operators will probably operate their sites
with domain names under the new TLD&#8230; and with any other TLD they can get
their hands on. </p>

<p>Many concerned may feel this is justification to get the government more
involved in regulating the Internet. After all, government regulations make
it impossible or very difficult for minors to purchase pornographic
magazines or pornographic movies. </p>

<p>The most obvious obstacle to this approach is that the Internet still
consists of vague jurisdiction issues. If a pornographic website is hosted
on servers located in the Bahamas or in Asia, could the US government have
any say in who can view the content on that website? </p>

<p>In my opinion, pushing for more government control over what people can and
can&#8217;t view on the Internet is asking for China-esque national firewalls and
that would threaten to limit free speech in the United States. </p>

<p>As much as I don&#8217;t want my children to view pornographic or indecent
material while using a computer connected to the Internet, I recognize that
it&#8217;s <em>my</em> responsibility as a parent, <em>not</em> the government&#8217;s, to determine
what material is appropriate and inappropriate.</p>

<p>In our house, we have a content-filtering proxy powered by open source
software called <a href="http://www.dansguardian.org/">Dan&#8217;s Guardian</a>. This, in
combination with a good network firewall, functions well for us. </p>

<p>My conclusion on .xxx: It&#8217;s not going to change much of anything, except
make the registrar TCM rich. </p>
]]>
        

    </content>
</entry>

<entry>
    <title>Tricks to getting Fedora 12 and RPMFusion kmod-nvidia playing nice</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/12/tricks-to-getting-fedora-12-and-rpmfusion-kmod-nvidia-playing-nice.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1688</id>

    <published>2009-12-02T06:35:09Z</published>
    <updated>2009-12-03T23:14:51Z</updated>

    <summary>There have been a couple things about Fedora 12 that haven&#8217;t been as nice as I would have liked. I finally solved one of them tonight. My laptop, a Dell Latitude D830(N), has an NVidia Quadro NVS 140M video chipset...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Fedora" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Open source software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="dracut" label="dracut" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fedora" label="Fedora" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fedora12" label="Fedora 12" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="nvidia" label="NVidia" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rpm" label="RPM" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rpmfusion" label="RPMFusion" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="selinux" label="SELinux" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>There have been a couple things about Fedora 12 that haven&#8217;t been as nice
as I would have liked. I finally solved one of them tonight. </p>

<p>My laptop, a Dell Latitude D830(N), has an NVidia Quadro NVS 140M video
chipset in it. Fedora 12 worked out of the box with the open source
<em>nouveau</em> driver which is an experimental reverse-engineered driver for
NVidia chipsets. It works pretty well and I probably would have kept using
it if I could get my laptop to hibernate properly. Instead, I could never
get the laptop to come back to life after it went into hibernation. </p>

<p>Meanwhile, the <a href="http://www.rpmfusion.org/">RPMFusion</a> folks (a popular
third-party repository) usually have the <code>kmod-nvidia</code> package available to
install which gives you everything you need to run the proprietary NVidia
drivers (Fedora doesn&#8217;t include this because they adhere to an all-open,
non-patent-encumbered package policy). However, the <code>kmod-nvidia</code> package
wasn&#8217;t available for Fedora 12.</p>

<p>When it <strong>did</strong> show up on rpmfusion, there were some caveats. Fedora had
done some work to make the nouveau driver work as seamlessly as possible
and, as a result, made it a little more difficult to install the
proprietary driver. The RPMFusion folks have some <a href="http://rpmfusion.org/Howto/nVidia">errata info</a> on how to get
the proprietary driver working. I&#8217;ll summarize the process here since it&#8217;s
a little tricky to execute and understand.</p>

<p>Before you do anything the RPMFusion information says to do, you should
obviously install the <code>kmod-nvidia</code> package. Then, run:</p>

<pre><code>nvidia-system-config enable
</code></pre>

<p>(I usually do this with <code>sudo</code>.)</p>

<p>Then, reboot into runlevel 3 and proceed with the commands RPMFusion&#8217;s page
recommends.</p>

<p>The first commands the RPMFusion info indicates should be run are these:</p>

<pre><code>mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
</code></pre>

<p>The <code>initramfs-blahblah.img</code> file is a replacement for the old
<code>initrd-blahblah.img</code> file. So, we&#8217;re making a backup of the original
initiam ramdisk image file for the running kernel and adding <code>nouveau</code> to
its name so we know this is the initial ramdisk image that contains the
nouveau driver (Fedora added the driver to the initial ramdisk so the
graphical bootloader can take advantage of the NVidia chipset&#8217;s
capabilities). </p>

<p>Then, running the <code>dracut</code> command creates a new initial ramdisk image for
the running kernel. The <code>dracut</code> command replaces the <code>mkinitrd</code> that has
been used traditionally. For more information about <code>dracut</code> check out the
<a href="http://fedoraproject.org/wiki/Dracut">Fedora Project&#8217;s wiki page on dracut</a>. </p>

<p>Finally, run the <code>setsebool</code> command RPMFusion&#8217;s page mentions:</p>

<pre><code>setsebool -P allow_execstack on
</code></pre>

<p>If you&#8217;re like me, however, you probably have SELinux set to <em>permissive</em>
because RPMFusion&#8217;s nonfree codec packages have already broken some SELinux
stuff. Hopefully that will be fixed soon.</p>

<p>Then, reboot again into runlevel 5 and enjoy.</p>

<p><strong>UPDATE: Read below!</strong></p>

<p>Soon after getting <code>kmod-nvidia</code> installed, I noticed some weird issues in KDE. Whenever I would press <code>ALT-F2</code> to run a command, the UI would freeze for about 10 seconds. I did some searching and found this was <a href="https://bugzilla.redhat.com/show_bug.cgi?id=533620">a reported bug</a>. I&#8217;m guessing a forthcoming <code>xorg-x11-server-*</code> package update will include this, but in the meantime, I installed new <code>xorg-x11-server-Xorg</code> and <code>xorg-x11-server-common</code> packages from <a href="http://koji.fedoraproject.org/koji/buildinfo?buildID=142860">this 1.7.1-12 Koji build</a>. Pressing <code>ALT+F2</code> does not freeze the system anymore. </p>
]]>
        

    </content>
</entry>

<entry>
    <title>The search for a good Linux e-mail client for a typical user</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/11/the-search-for-a-good-linux-e-mail-client-for-a-typical-user.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1683</id>

    <published>2009-11-27T21:22:11Z</published>
    <updated>2009-11-27T21:23:34Z</updated>

    <summary>I&#8217;m almost a text-based e-mail purist. I used to use Mutt as my primary e-mail client application, but decided to go with a graphical client such as Mozilla Thunderbird or KMail so that I could at least effectively read HTML-formatted...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Family" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Fedora" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Open source software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="attachments" label="Attachments" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="dad" label="Dad" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="email" label="e-mail" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="kmail" label="KMail" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="thunderbird" label="Thunderbird" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>I&#8217;m almost a text-based e-mail purist. I used to use
<a href="http://www.mutt.org/">Mutt</a> as my primary e-mail client application, but
decided to go with a graphical client such as <a href="http://www.mozillamessaging.com/thunderbird/">Mozilla
Thunderbird</a> or
<a href="http://kontact.kde.org/kmail/">KMail</a> so that I could at least effectively
<em>read</em> HTML-formatted messages. </p>

<p>I&#8217;ve been happy with KMail. I&#8217;ve had it configured to prefer text-based e-mail
and aside from the fact I don&#8217;t use my preferred text editor (<code>vim</code>) inside it, it&#8217;s been 
a good e-mail client. Now, my dad is a more typical e-mail user. While he
probably doesn&#8217;t care that much about composing original HTML messages, he
does receive a lot of them that he wants to forward onto other people that he
feels may be interested. He&#8217;s on lots of political and family mailing lists
that swap HTML messages complete with embedded images, etc. </p>

<p>He has been using Thunderbird at his home and KMail (an old version running on
a Fedora Core 6 desktop) at his office. He mentioned to me that KMail runs
noticeably faster on his work system than Thunderbird does on his home system.
I suggested that we could standardize him on KMail and upgrade his office
desktop to a more recent version of Fedora Linux. </p>

<p>Things got more interesting when Thunderbird recently got updated on his home
system in a package update to version 3.0b4. The <em>Smart Folders</em> &#8220;feature&#8221;
threw both of us for a loop. It combines multiple Inbox, Sent, and other IMAP
folders into single virtual folders containing an aggregate of messages from
each corresponding folder. I really have no idea who would want this feature.
My parents each have their own e-mail accounts and I had Thunderbird
configured so they could check mail for both accounts. The new version of
Thunderbird combines both inboxes into one virtual &#8220;Smart&#8221; folder and
subsequently confused the heck out of my father. </p>

<p>I figured out how to disable the &#8220;smart folder&#8221; behavior (View->Folders->All),
but Thunderbird was still hiding other IMAP folders like <em>Sent</em> and <em>Trash</em>
that my parents often need to access messages in. </p>

<p>So, KMail. KMail works great for almost all things, but my father noticed
right away when he tried to forward an HTML message with embedded images that
KMail wasn&#8217;t letting do what he was used to doing: Editing the forwarded
message to remove the annoying gazillions of e-mail addresses the original
message(s) were addressed to. </p>

<p>KMail has two methods of forwarding a message: First, you can forward a
message as an attachment. This preserves everything about the original
message, but KMail doesn&#8217;t let you edit anything within the attached message.
Alternatively, you may forward a message &#8220;inline&#8221;. This lets you edit the
message, but it only gives you the text portion of the message to edit and
completely omits the HTML attachment altogether. </p>

<p>I did some research online to see if there was a way to get the desired 
functionality out of KMail, but it doesn&#8217;t look like it&#8217;s possible. If it does
ever happen, it&#8217;s a couple versions out at least. It may never happen because
it seems there are voices within the KMail community that feel KMail should
never take on these types of features because it risks KMail becoming &#8220;another
Outlook/Thundebird clone.&#8221;</p>

<p>Has anyone found other solutions to this problem for a Linux user?</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Fix for mobile broadband (aircard) connection problem in Fedora 12</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/11/fix-for-mobile-broadband-aircard-connection-problem-in-fedora-12.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1681</id>

    <published>2009-11-27T18:48:58Z</published>
    <updated>2009-11-27T19:04:06Z</updated>

    <summary>I recently encountered a problem when I plugged in my Sprint USB aircard (A Sierra Wireless USB 598) into my laptop running Fedora 12. When I clicked on the NetworkManager applet running in my system tray and selected the mobile...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Fedora" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="aircard" label="aircard" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fedora" label="Fedora" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mobilebroadbandcard" label="mobile broadband card" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="networkmanager" label="NetworkManager" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sprint" label="Sprint" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>I recently encountered a problem when I plugged in my Sprint USB aircard (A Sierra Wireless USB 598) into my laptop running Fedora 12. When I clicked on the NetworkManager applet running in my system tray and selected the mobile broadband (CDMA) device to connect to, it appeared to connect and, then shortly after, disconnect. </p>

<p>I watched the messages sent to the <code>/var/log/messages</code> file to see what was going on and sure enough, NetworkManager was successfully making a PPP connection to Sprint&#8217;s service and then PPP was terminated and the connection was closed. </p>

<p>I did some quick searching online but didn&#8217;t find anything definite about this. There were lots of links to the Fedora 12 release notes which claimed Fedora 12 had better support for mobile broadband cards than previous releases. That made me wonder if their improvements were actually breaking things for me. </p>

<p>I decided to explore the options dialogs. I right-clicked on the NetworkManager applet and chose <code>Edit connections...</code>, selected the <code>Mobile Broadband</code> tab, selected my adapter and clicked <code>Edit</code>.</p>

<p>Under the <code>PPP Settings</code> tab there is a button labeled <code>Configure methods</code> in the <code>Authentication</code> section. This lets you choose which authentication methods PPP should try. A list of checkboxes next to possible methods appears with <code>EAP</code>, <code>PAP</code>, <code>CHAP</code>, <code>MSCHAP</code>, and <code>MSCHAP v2</code> as possible selections. </p>

<p>I knew Sprint doesn&#8217;t use anything fancy. In fact, you don&#8217;t even need to provide a user or password. It authenticates using the device ID or virtual phone number of your device. So, I wondered if disabling some things might work. I figured if it was using anything it was probably CHAP or PAP. I disabled everything else. </p>

<p>Lo and behold, the next time I tried to connect, it connected and stayed connected! </p>

<p>I hope this is useful to someone else.</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Mobile Broadband connection dialogs" src="http://fozzolog.fozzilinymoo.org/tech/2009/11/27/mobile_broadband1.jpg" width="400" height="555" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></p>
]]>
        

    </content>
</entry>

<entry>
    <title>Book Review: Masterminds of Programming</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/11/book-review-masterminds-of-programming.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1680</id>

    <published>2009-11-27T04:55:14Z</published>
    <updated>2009-11-27T21:37:10Z</updated>

    <summary>Masterminds of Programming by Federico Bioancuzzi and Shane Warden and published by O&#8217;Reilly and Associates is a large (480 pages), dense book packed full of exposition about language design, software engineering practices, software development lifecycle methodologies, Computer Science curricula, and...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Book review" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="awk" label="AWK" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="bookreview" label="Book review" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="c" label="C#" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="c" label="C++" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="forth" label="Forth" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="java" label="java" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="languages" label="languages" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ml" label="ML" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="objectivec" label="Objective-C" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="postscript" label="Postscript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="programming" label="Programming" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="python" label="python" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="uml" label="UML" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p><img src="http://broadcast.oreilly.com/2009/04/02/9780596515171_148.jpg" align="left" width="148" height="195" alt="Masterminds of Programming" title="Masterminds of Programming" vspace="5" hspace="5" /><em>Masterminds of Programming</em> by Federico Bioancuzzi and Shane Warden and published by O&#8217;Reilly and Associates is a
large (480 pages), dense book packed full of exposition about language
design, software engineering practices, software development lifecycle
methodologies, Computer Science curricula, and unique insights into
computer and computation history. </p>

<p>The format of the book is straightforward. Each chapter is dedicated to a
programming language and contains a series of questions by the authors and
responses from designers and creators of the language being highlighted. </p>

<p>I expected the chapters on languages I was familiar with to be the most
interesting and those I was not familiar with to be the least interesting
but my experience was the opposite. Chapters highlighting languages that I
have had no exposure to such as Forth, APL, ML, and Lua were full of
intriguing information, especially languages that were designed in the
1960s or 1950s. It&#8217;s fascinating learning about how these languages came to
be given the relatively restrictive hardware they were developed with. </p>

<p>Other languages highlighted in the book include:</p>

<ul>
<li>Python</li>
<li>Perl</li>
<li>Java</li>
<li>C++</li>
<li>C#</li>
<li>Objective-C</li>
<li>UML</li>
<li>AWK</li>
<li>Postscript</li>
<li>Eifel</li>
<li>Haskel</li>
<li>BASIC</li>
</ul>

<p>The book is just overflowing with powerful quotes that carry substantial
meaning to developers, language designers, and managers. Here are a few
that stood out to me. </p>

<blockquote>
  <p>&#8220;Whenever I hear people boasting of millions of lines of code, I know
  they have grieviously midunderstood their problem. There are no
  contemporary problems requiring millions of lines of code. Instead, there
  are careless programmers, bad managers, or impossible requirements for
  compatibility.&#8221; &#8212;Chuck Moore in the <em>Forth</em> chapter</p>
  
  <p>&#8220;As processors continue to get faster and memory capacities rise, it&#8217;s
  easier to do quick experiments and even write production code in
  interpreted languages (like AWK) that would not have been feasible a few
  decades ago. All of this is a great win.</p>
  
  <p>&#8220;At the same time, the ready availability of resources often leads to
  very bloated designs and implementations, systems that could be faster
  and easier to use if a bit more restraint had gone into their design.
  Modern operating systems certainly have this problem; it seems to take
  longer and longer for my machines to boot, even though, thanks to Moore&#8217;s
  Law, they are noticeably faster than the previous ones. All that software
  is slowing me down.&#8221; &#8212;Brian Kernighan in the <em>AWK</em> chapter.</p>
  
  <p>&#8220;Software engineering is in many ways a very pathetic field, because so
  much of it is anecdotal and based on people&#8217;s judgements or even people&#8217;s
  aesthetic judgements.&#8221; &#8212; Peter Weinberger in the <em>AWK</em> chapter</p>
  
  <p>&#8220;The software business is one of the few places we teach people to write
  before we teach them to read. That&#8217;s really a mistake.&#8221; &#8212; Tom Love in
  the <em>Objective-C</em> chapter</p>
  
  <p>&#8220;What do you think the chances are that Microsoft applications get slower
  and slower because they haven&#8217;t managed memory properly? Have you ever
  met a three-year-old Microsoft operating system that you wanted to use? I
  actually operate with a laptop that has a Microsoft-free zone. It&#8217;s
  amazing how much more productive I am than other people sitting in the
  same room with Microsoft computers. My computer is on, and I&#8217;ve done my
  work, and I&#8217;ve closed it down before they&#8217;ve gotten to their first Excel
  spreadsheet.&#8221; &#8212; Tom Love in the <em>Objective-C</em> chapter.</p>
  
  <p>&#8220;If you study gold or lead from day to day, you can measure the
  properties and employ scientific methods to study them. With software,
  there is none of that.&#8221; &#8212; Brad Cox in the <em>Objective-C</em> chapter.</p>
  
  <p>&#8220;C# basically took everything, although they oddly decided to take away
  the security and reliability stuff by adding all these sorts of unsafe
  pointers, which strikes me at grotesquely stupid, but people have used
  most of the features of Java somewhere.&#8221; &#8212; James Gosling in the Java
  chapter responding to the question related to C# being inspired by Java.</p>
  
  <p>&#8220;I think architecture is very important, but I am cautious about labeling
  individuals as architects, for many reasons. Many times I have seen
  companies with a team of architects that they send to other organizations
  to work on projects. That may be fine if they work inside a particular
  project, but companies such as big banks usually have a group of
  enterprise architects that sit and draw representations of the
  architecture. Then they throw this over the wall to the developers. The
  developers just ask themselves: &#8216;What is this? It&#8217;s useless.&#8217; In many
  companies, enterprise architects sit in an ivory tower without doing
  anything useful.&#8221; &#8212; Ivar Jacobson in the <em>UML</em> chapter</p>
  
  <p>&#8220;Developing software is not rocket science. Look at the 5-10 million
  people who call themselves software developers. Very few of them really
  do anything creative of fundamentally new. Unfortunately, the outside
  world thinks that programmers are creative and brilliant people, and
  that&#8217;s far from reality.&#8221; &#8212; Ivar Jacobson in the <em>UML</em> chapter.</p>
  
  <p>&#8220;I rarely have met a programmer who understands the principles of
  computational complexity and puts them into practice. Instead they fuss
  with all kinds of pointless suboptimizations that are &#8216;pennywise and
  pound foolish&#8230; I think the most important skill in computing (as in
  physics and other creative fields) is the ability for abstraction.&#8221;
  &#8212;James Rumbaugh in the <em>UML</em> chapter.</p>
  
  <p>&#8220;I have found over my career, whether it be researchers or engineers,
  that in addition to the sort of intellectual skills that they manifest,
  if they are people who finish what they set out to do, they tend to be
  much more productive and have a much larger impact.&#8221; &#8212; Charles Geschke
  in the <em>Postscript</em> chapter.</p>
</blockquote>

<p>These quotes are just scratching the surface. </p>

<p>Many of the interviews discuss history of computer science and computation
theory. For example, Charles Geschke and John Warnock gave answers in the
<em>Postscript</em> chapter detailing how Xerox PARC came into existence out of
ARPA&#8217;s emphasis on digital communications which was the result of thinking
within the Eisenhower and Kennedy administrations. </p>

<p>Because of the simple, straightforward format of this book, there is
definitely room for improvement.  For example, readers unfamiliar with
certain languages would find it immensely useful to see examples of the
language in use. One thought is that each chapter could start with a code
excerpt showing how a programmer might use the highlighted language to
solve a generic problem. Readers could then see, in code, how each language
differs in their approach to the same problem. </p>

<p>Each chapter is preceded by one paragraph description of the language which
may contain brief history of the language&#8217;s history. This could definitely
be expanded upon. This book is big already and I don&#8217;t think O&#8217;Reilly&#8217;s
goal is to make it a computer language text book, but it would be useful if
each chapter started with 2-4 pages of introductory abstract about the
language. </p>

<p>The authors have placed biographical information about each of the
contributing interviewees in a Contributors appendix near the end of the
book, but it would be more helpful to the reader if this information
appeared at the beginning of each chapter instead.</p>

<p><em>Masterminds of Programming</em> is available at a suggested price of $39.99. I
rate it at four and a half stars. </p>
]]>
        

    </content>
</entry>

<entry>
    <title>Recompiling ffmpeg for Fedora 12 to add faac support</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/11/recompiling-ffmpeg-for-fedora-12-to-add-faac-support.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1679</id>

    <published>2009-11-20T20:17:46Z</published>
    <updated>2009-11-20T20:24:31Z</updated>

    <summary>The ffmpeg package that is available for Fedora 12 via the rpmfusion.org respository does not include faac support. This can be a problem when you want to create H.264 video content that incorporates the AAC (Advanced Audio Codec). The most...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Fedora" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Open source software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="fedora12" label="Fedora 12" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ffmpeg" label="ffmpeg" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rpm" label="rpm" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yum" label="yum" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yumdownloader" label="yumdownloader" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>The <a href="http://ffmpeg.org/">ffmpeg</a> package that is available for <a href="http://www.fedoraproject.org/">Fedora 12</a> via the <a href="http://www.rpmfusion.org/">rpmfusion.org</a> respository does not include <a href="http://sourceforge.net/projects/faac/">faac</a> support. This can be a problem when you want to create H.264 video content that incorporates the AAC (Advanced Audio Codec). </p>

<p>The most straightforward way I&#8217;ve found to rectify this situation is to build a new package from the source RPM.</p>

<p>First, download the source RPM using <code>yumdownloader</code>.</p>

<pre><code>yumdownloader --source ffmpeg
</code></pre>

<p>This will download the <code>.src.rpm</code> file to  the current directory. Install it using the <code>rpm</code> command. (This assumes you have a person RPM build environment set up. <a href="http://www.jasonlitka.com/2007/05/21/setting-up-an-rpm-build-environment/">This blog post</a> provides some good information on that.) </p>

<pre><code>rpm -ivh ffmpeg-0.5-5.20091026svn.fc12.src.rpm
</code></pre>

<p>You probably want to indicate some sort of difference in the version numbering since this version is a modification of the upstream. Edit <code>~/rpm/SPECS/ffmpeg.spec</code> and modify the <code>Release:</code> line by adding something to the end of it.</p>

<pre><code>Release: 5.%{svn}svn%{?dist}_fozz
</code></pre>

<p>Now, you can try building the package with <code>rpmbuild</code>. Unless you&#8217;ve already installed all the development libraries and other dependencies <code>ffmpeg</code> relies on, you&#8217;ll get some dependency messages. Use <code>yum</code> to install those dependencies and then try building again.</p>

<pre><code>rpmbuild -ba ~/rpm/SPEC/ffmpeg.spec --with faac
</code></pre>

<p>This will create RPM packages for you under <code>~/rpm/RPMS/</code>. Use <code>rpm</code> to install the <code>ffmpeg</code> and <code>ffmpeg-libs</code> packages.</p>

<pre><code>rpm -Uvh ~/rpm/RPMS/x86_64 ffmpeg-{libs-,}0.5-5.20091026svn.fc12_fozz.x86_64.rpm
</code></pre>
]]>
        

    </content>
</entry>

<entry>
    <title>Patch to FFmpeg::Command to support multiple input files</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/11/patch-to-ffmpegcommand-to-support-multiple-input-files.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1677</id>

    <published>2009-11-13T16:43:24Z</published>
    <updated>2009-11-13T16:55:38Z</updated>

    <summary>The FFmpeg::Command Perl module is a convenient way to drive the ffmpeg command-line utility for converting multimedia files. For work, I have developed some scripts that make heavy use of FFmpeg::Command. Yesterday, one of the other developers told me they...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Computer" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Open source software" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Perl programming" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Video" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Work" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="audio" label="audio" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="conversion" label="conversion" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ffmpeg" label="ffmpeg" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ffmpegcommand" label="FFmpeg::Command" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="opensource" label="open source" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="patch" label="patch" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="video" label="video" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>The <a href="http://search.cpan.org/search?mode=all&amp;query=FFmpeg%3A%3ACommand">FFmpeg::Command</a> Perl module is a convenient way to drive the <a href="http://ffmpeg.org/">ffmpeg</a> command-line utility for converting multimedia files.</p>

<p>For work, I have developed some scripts that make heavy use of <code>FFmpeg::Command</code>. Yesterday, one of the other developers told me they need a conversion script to be able to merge separate video and audio streams into one file that contains both audio and video. The <code>ffmpeg</code> command-line utility can do this by accepting more than one input file. For example:</p>

<p>$ ffmpeg -i video.avi -i audio.wav -acodec copy -vcodec copy merged.avi</p>

<p>The <code>FFmpeg::Command</code> Perl module, however, assumed there can only be one input file. I made the necessary changes to the module code so that it would accept multiple input files, created a patch file, and sent it to the Module owner <a href="http://search.cpan.org/~mizzy/">Gosuke Miyashita</a>. This morning, I received e-mail from Gosuke thanking me for the patch and informing me that he has uploaded a new version (v0.12) of <code>FFmpeg::Command</code> to <a href="http://www.cpan.org/">CPAN</a>. </p>

<p>I love Perl and open source software!</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Hulu Desktop on Fedora 11 x86_64</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/10/hulu-desktop-on-fedora-11-x86-64.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1674</id>

    <published>2009-10-14T15:30:59Z</published>
    <updated>2009-10-14T15:39:29Z</updated>

    <summary>I installed Hulu Desktop for Linux recently, but could not get it to work. When I ran huludesktop, a dialog box would display saying that the Flash plugin could not be found and that I should edit ~/.huludesktop. The ~/.huludesktop...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Video" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="fedora" label="Fedora" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flash" label="Flash" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="huludesktop" label="Hulu Desktop" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="linux" label="Linux" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="video" label="Video" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>I installed <a href="http://www.hulu.com/labs/hulu-desktop-linux">Hulu Desktop for Linux</a> recently, but could not get it to work. When I ran <code>huludesktop</code>, a dialog box would display saying that the Flash plugin could not be found and that I should edit <code>~/.huludesktop</code>.</p>

<p>The <code>~/.huludesktop</code> file has a INI-style syntax and has a section for Flash settings:</p>

<pre><code>[flash]
flash_location = (null)
</code></pre>

<p>It&#8217;s not obvious whether the <code>flash_location</code> variable needs to be set to a directory or a full path. I tried both <code>/usr/lib/flash-plugin/</code> and <code>/usr/lib/flash-plugin/libflashplugin.so</code>. Neither of these worked. I didn&#8217;t find much help via Google, but kept experimenting until I found a solution that worked:</p>

<pre><code>flash_location = /usr/lib64/mozilla/plugins-wrapped/nswrapper_32_64.libflashplayer.so
</code></pre>

<p>When the 64-bit Flash plugin is officially released, this will probably become unnecessary. In the meantime, Hulu Desktop works!</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Book Review: Palm Pre - The Missing Manual</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/09/book-review-palm-pre---the-missing-manual.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1672</id>

    <published>2009-09-29T04:10:45Z</published>
    <updated>2009-09-29T04:33:07Z</updated>

    <summary> Palm Pre: The Missing Manual by Ed Baig My rating: 4 of 5 stars I&apos;ll start by saying that this book-- Palm Pre The Missing Manual-- is a must-have for any new Palm Pre owner. Sure, the pamphlet that...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Book review" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Handhelds/smartphones" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="bookreview" label="Book Review" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="oreilly" label="O&apos;Reilly" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="palmpre" label="Palm Pre" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[ <a href="http://www.goodreads.com/book/show/6881595-palm-pre-the-missing-manual" style="float: left; padding-right: 20px;"><img alt="Palm Pre: The Missing Manual" src="http://ecx.images-amazon.com/images/I/41xAZ-SFDFL._SX106_.jpg" border="0" /></a> <a href="http://www.goodreads.com/book/show/6881595-palm-pre-the-missing-manual">Palm Pre: The Missing Manual</a> by <a href="http://www.goodreads.com/author/show/3081431.Ed_Baig">Ed Baig</a><br /><br />
My rating: <a href="http://www.goodreads.com/review/show/72489642">4 of 5 stars</a>
<p>I'll start by saying that this book-- <a href="http://www.goodreads.com/book/show/6881595.Palm_Pre_The_Missing_Manual" title="Palm Pre  The Missing Manual by Ed Baig">Palm Pre  The Missing Manual</a>-- is a
must-have for any new Palm Pre owner. Sure, the pamphlet that comes with
the Palm Pre is adequate for getting you started and on your way, but there
are so many figurative nooks and crannies in the operation of the Palm Pre
that you won't even know about unless you've happened across them by
accident or you've read this book.</p>
<p>I've owned a Palm Pre since the first week it was available. A long-time
user of older Palm smartphones such as the Treo line and Centro, I 
enthusiastically and anxiously followed the the technology news about the
forthcoming Pre. The concept of Synergy -- the Pre's software mechanism for
collecting data from various online sources such as GMail and Facebook into
centralized databases on the phone -- was incredibly appealing and
frightening at the same time. I often wondered if Palm really could pull it
off or if the Pre was going to be Palm's dying gasp and I would be left to
the mediocrity of Windows Mobile or Blackberry or the cult of conformation
using Apple's iPhone. </p>

<p>Thankfully, my experience with the Pre has given me hope. Being an early
adopter, I've had my shares of bumps along the way, but generally, the Pre
is an awesome device. Now that the Palm App Catalog is filling up with new,
exciting applications and there's talk of more operating system updates on
the horizon, I'm really enjoying myself with the Pre. 
</p>

<p>Let's get back to the book. <a href="http://www.goodreads.com/author/show/3081431.Ed_Baig" title="Ed Baig">Ed Baig</a>'s book seems fairly typical for
a "Missing Manual" book. It is fairly short, witty, funny, and packed full
of valuable information interspersed with plenty of callouts to "tips" and
"notes" along the way.</p>

<p>The book is extremely easy to read and shouldn't intimidate those who are
nowhere nearly as geeky as me. My daughter was easily digesting the book
before I started reading it she's nine years old. </p>

<p>Had I had this book the first week I owned a Pre, it would have saved me
some frustration figuring out the best way to get my contacts and calendar
data onto the Pre. </p>

<p>Palm Pre, The Missing Manual is available directly from O'Reilly and
Associates and probably from any of your favorite online booksellers. The
MSRP is $24.99. $24.99 seems a bit much for this book, even if you're probably never going to pay full price. For what you get, I would think $10 less would be more reasonable.</p>
]]>
        
    </content>
</entry>

<entry>
    <title>YoManSports.com: What I&apos;m doing these days</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/09/yomansportscom-what-im-doing-these-days.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1668</id>

    <published>2009-09-02T20:11:06Z</published>
    <updated>2009-09-02T20:22:37Z</updated>

    <summary>I think I have finally, really arrived. I&#8217;ve been doing contract work for a company in Provo that is launching a new website called YoManSports.com, which is in beta right now. At first glance, the site may appear to be...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Computer" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Open source software" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Perl programming" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Video" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Work" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="broadcasting" label="broadcasting" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="livevideo" label="live video" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="opensource" label="open source" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sports" label="sports" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="video" label="video" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yomansportscom" label="YoManSports.com" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>I think I have finally, really arrived.</p>

<p>I&#8217;ve been doing contract work for a company in Provo that is launching a
new website called <a href="http://www.yomansports.com/">YoManSports.com</a>, which is
in beta right now. At first glance, the site may appear to be a &#8220;YouTube
for sports,&#8221; but it so much more than that. The concept is centered around video
sharing, but includes familiar social networking elements you&#8217;d find on
sites like Facebook or MySpace. In addition, there are several applications
within the site that are sports-related &#8212; things like competition
bracketing, scorecards, and groups. Perhaps the coolest feature that rounds
out the list is the broadcast feature. This lets a person go to a sporting
event with a video camera, even something as simple as a USB webcam, and
set up a live web broadcast that anyone with a web browser can watch. The
person managing the broadcast can mix prerecorded video, pictures, and
even live video from other users into the broadcast. There&#8217;s even a news
ticker for embedding clickable URL links into the broadcast. It&#8217;s pretty
cool stuff. </p>

<p>Now, I said at the beginning of this post that I have arrived because we&#8217;ve
been asked by management to blog regularly about the site and what we&#8217;re
doing with it as part of our marketing plan. So, yeah, it&#8217;s cool to be able
to do this and not be wasting my time at work.</p>

<p>My job has been designing and building the server architecture that sits
behind the scenes and makes it all work. I was brought in late 2008 when
the site was pretty much in a prototype stage. All the code was running on
a single server and it really wasn&#8217;t designed to scale beyond that one
server. So, one of the first things I did was figured out what we&#8217;d need to
do split things like streaming video, web services, and database services
onto their own dedicated servers. </p>

<p>After that, I went through and figured out how we were going to accomodate
loads higher than we could with individual servers. In a nutshell: load
balancing. That has now been implemented.</p>

<p>Another thing I&#8217;ve had a big hand in is offloaded encoding and conversion.
The developers had created routines to do all the video encoding in PHP on
the frontend of the website. Of course, doing video encoding on the same
server Apache is running on can be detrimental to the experience of other
website users. I developed a distributed encoding system that handles all
the video conversion and encoding on a separate set of servers. I did it
with <a href="http://www.perl.org/">Perl</a>, of course.</p>

<p>I&#8217;m pleased with the technology being used on the site. I&#8217;m not a fan of
PHP, but it&#8217;s doing the job well for frontend development. We&#8217;re making use
of a lot of open source technology in dealing with videos. For example, all
our transcoding is being done with the formidable
<a href="http://www.ffmpeg.org/">FFMPEG</a> software along with libraries like
<a href="http://www.videolan.org/developers/x264.html">x264</a> and
<a href="http://www.audiocoding.com/">FAAC</a>.</p>

<p>We&#8217;re leveraging Flash pretty heavily pretty heavily to make the site work
so it&#8217;s fortunate that Flash support has nearly ceased being a problem for
cross-platform compatibility. YoManSports.com works almost seamlessly across
Windows, Mac OS, and Linux.</p>

<p>Watch this space for more info to come.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Life with my Palm Pre (Part 1)</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/06/life-with-my-palm-pre-part-1.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1664</id>

    <published>2009-06-15T07:47:21Z</published>
    <updated>2009-06-15T08:28:32Z</updated>

    <summary> I&#8217;ve had my Palm Pre for about five days now and I&#8217;m really starting to like it. That&#8217;s not to say the last five days haven&#8217;t been frustrating and disappointing, but I&#8217;ve managed to find acceptable solutions for most...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Handhelds/smartphones" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="palmpre" label="Palm Pre" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="pre-300x179.jpg" src="http://fozzolog.fozzilinymoo.org/tech/pre-300x179.jpg" width="300" height="179" class="mt-image-none" style="" /></span></p>

<p>I&#8217;ve had my Palm Pre for about five days now and I&#8217;m really starting to like it. That&#8217;s not to say the last five days haven&#8217;t been frustrating and disappointing, but I&#8217;ve managed to find acceptable solutions for most of my problems. The experience has turned out a lot better than the <a href="http://fozzolog.fozzilinymoo.org/tech/2008/06/review-samsung-instinct-as-a-r.html">last time I tried switching platforms</a>.</p>

<p>The Pre is definitely a 1.0 release so if you&#8217;re a techy user like me, you&#8217;ll find lots of things to gripe about, but there&#8217;s still a lot of promise in the platform. The operating system itself is at version 1.0.2 so it&#8217;s really pretty new.</p>

<h6>Issues</h6>

<p>I&#8217;ll start with some of the issues I&#8217;ve run into.</p>

<h5>PIM data</h5>

<p>If you&#8217;re a PalmOS user migrating to the Palm Pre, you&#8217;re likely to run into some of the same issues I did. First off, when I asked the Sprint sales dude (who owned a Pre and had owned a Centro prior to that) if he could transfer my data to the Pre, he said, &#8220;Sure!&#8221; and then proceeded to try to get the data off my Centro. A few minutes later, he told me he could not because he just couldn&#8217;t get any of the data to transfer over the IR port. </p>

<p>That&#8217;s okay, a little reading on <a href="http://www.palm.com/">Palm&#8217;s site</a> told me what I needed to know. I had to sync the Centro &#8220;one last time&#8221; using the latest and greatest Palm Desktop for Windows (which I installed specifically for this task) and then download and run Palm&#8217;s <em>Data Transfer Assistant</em> program for Windows (which is a free download from the <em>support</em> area of Palm&#8217;s website.) </p>

<p>This allegedly transferred my address book, calendar, tasks, and notes/memos to my online Palm Profile where the Pre would automatically find them and install them. Within a few minutes, the address book on the Pre was populated with names and contact information that were on my Centro. Yay. The notes seemed to transfer okay too. But when I went into the Calendar application on the Pre, my day was blank. None of the events I had scheduled for the day were visible. </p>

<p>Retracing my steps, I wondered if maybe I hadn&#8217;t selected the calendar data to be transferred. In retrospect, Palm doesn&#8217;t let you choose which data you want transferred, but the DTA application has icons for each of the types of data (Calendar, Contacts, etc.) and when you click on those icons, they illuminate as if they&#8217;re selected. As a result, a user (me) might think clicking the icons somehow activates that stream of data to be transferred to the Palm Profile. So, I went back into the DTA and &#8220;selected&#8221; only the Calendar data and transferred it again. </p>

<p>Nothing ever showed up in my view of my day&#8217;s events on the Pre. Fiddling, I changed to the Week View. That&#8217;s when I saw confirmation that the data I had transferred using the DTA did get transferred&#8230; twice. In the Week View, I saw colored bars indicating appointments and events (in duplicate). But when I switched to the Day View, I saw nothing. Bleh.</p>

<p>It would be super neat if the Palm Profile was tied to Google Calendar-like web application so you could have a Palm Desktop type app on the Web, but, no, Palm doesn&#8217;t do that. There is a web-based portal that let&#8217;s you log into your Palm Profile, but it doesn&#8217;t let you do much at all except remotely delete all the data on your phone (very handy if your Pre gets stolen and you want to keep your personal information out of the hands of the thief). </p>

<p>So, I wasn&#8217;t sure what I was going to do. Looking at the Palm support forums, it was clear this wasn&#8217;t a unique problem to me. Lots of people were having this problem. The  seemed to be that people should use Google&#8217;s Calendar app as the online storage location of Calendar data. So, I figured out how to export my PalmOS Calendar data and then import it into my Google Calendar. That worked. Now I had THREE copies of every event showing up as colored rectangles in my Week View, but at least now I had actual events in the Day View.</p>

<p>I tried remotely deleting the Pre&#8217;s data from the Palm Profile page, but when it booted back up, it asked me for my Palm Profile username and password and then proceeded to load up the duplicate calendar entries again. Buried in the forums, I found information that described how to erase the data in the Palm Profile (Disable backups on the Pre and then reset it.). Then I proceeded to set up the freshly reset Pre to use only Google as my online repository of Calendar data. That worked well.</p>

<p>In the course of all this, of course, I deleted my address book as my contacts data was stored in my Palm Profile. The Pre grabbed my contacts from Facebook and the handful I had stored already in Google Mail&#8217;s address book, but I have hundreds of contacts from my Centro that I needed to figure out how to get into Google, I guess. Google appears to only let you import from an CSV file generated from Microsoft Outlook (bleh). I can generate a CSV file, but I don&#8217;t know what one generated from Microsoft Outlook looks like, so I&#8217;ll need to do some research on that before I do it. So, for now, I&#8217;m doing without a fully-stocked address book.</p>

<h5>E-mail</h5>

<p>The Pre has a pretty decent e-mail client built-in, but I had problems. Again, if you&#8217;re using Google Mail as your only e-mail account, the Pre should work with no problems at all. I set up Google Mail, but I have four other generic IMAP mailboxes I wanted to check with the Pre as well. </p>

<p>My first problem was with encryption. </p>

<p>One of the IMAP sites I wanted to check mail with has CA-signed certificates in place for its encrypted IMAP traffic. This means they have purchased a authenticated certificate from a company like Verisign or Comodo. That seemed to work okay.</p>

<p>The other two sites I wanted to check mail with have self-signed certificates. I trust them because I set up the self-signed certificates myself. Where most modern desktop e-mail applications would raise an alert like, &#8220;Hey, we can&#8217;t vouch for the authenticity of this encryption certificate. Do you want to trust it or what?&#8221; the Pre just says, &#8220;SSL error Check your time and date.&#8221; </p>

<p>I hope this is something they fix in the next update of the OS because the way it works now is just bone-headed.</p>

<p>I discovered, yesterday, there is a manual workaround. You can grab the public certificate file off the server and copy it to the Pre via USB. Then, go into Device Info and make your way to a menu item labeled &#8220;Certificate Manager&#8221;. There, you can add a certificate, select the certificate file you added to the Pre via USB, and specify that you want to trust this certificate.</p>

<p>I am still having trouble sending e-mail through the two sites I manage. What&#8217;s really frustrating about this is that once you try to send e-mail, and it can&#8217;t go through, the Pre just keeps telling you there was an error sending that message. Deleting the offending message from the Outbox doesn&#8217;t stop the repeating alerts. The only way I&#8217;ve been able to stop it from notifying me about the problem is to remove the e-mail account and add it again. Stupid!</p>

<p>More to come. Sleep calls me.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Wanted: a wireless digital photo frame with a few bells and whistles</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/05/wanted-a-wireless-digital-photo-frame-with-a-few-bells-and-whistles.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1662</id>

    <published>2009-05-25T08:24:17Z</published>
    <updated>2009-05-25T08:34:19Z</updated>

    <summary>When digital photo frames first became available, I bought one for my parents. It still sits in their living room and when you turn it on, it displays a slideshow of the same pictures I originally loaded onto the CompactFlash...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="digitalphotoframes" label="Digital photo frames" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>When digital photo frames first became available, I bought one for my parents. It still sits in their living room and when you turn it on, it displays a slideshow of the same pictures I originally loaded onto the CompactFlash card that is plugged into the frame. </p>

<p>Now that <em>wireless</em> digital photo frames are becoming the &#8220;next big thing,&#8221; I&#8217;m interested in getting one for myself, but I&#8217;m not sure any of the models available satisfy my (modest) requirements.</p>

<p>It seems these wireless frames mostly work by having some kind of stupid e-mail address assigned to the frame. You send an e-mail message with a picture file attached and, within a few minutes, more or less, the picture shows up on your digital photo frame. </p>

<p>This seems lame to me. Here&#8217;s what I want:</p>

<ul>
<li><p>The digital photo frame should be able to connect to a local file server via SMB/CIFS, HTTP or FTP and display all images hosted at a specific location. For example: <em>ftp://myfileserver/pictures/</em>. </p></li>
<li><p>The digital photo frame should run an HTTP server so I don&#8217;t have to use the on-board buttons or the soon-to-be-lost miniature infrared remote control to set it up. Every VoIP telephone, print server, and a gazillion other network devices seem to all have an HTTP configuration interface, so why not a wireless digital photo frame? </p></li>
</ul>

<p>Am I asking too much?</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Engadget editor shows off Palm Pre on Jimmy Falon show</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/03/engadget-editor-shows-off-palm-pre-on-jimmy-falon-show.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1650</id>

    <published>2009-03-10T15:49:57Z</published>
    <updated>2009-03-10T16:02:07Z</updated>

    <summary>I&#8217;m very stoked about the Palm Pre. Last night on Jimmy Falon&#8217;s talk show, Engadget editor Joshua Topolsky and &#8220;Jim&#8221; shared love for the forthcoming smartphone. See the video here....</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Handhelds/smartphones" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="engadget" label="Engadget" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="jimmyfalon" label="Jimmy Falon" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="joshuatopolsky" label="Joshua Topolsky" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="palmpre" label="Palm Pre" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Palm Pre" src="http://fozzolog.fozzilinymoo.org/tech/palm_pre_4.jpg" width="158" height="290" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span>I&#8217;m very stoked about the <a href="http://www.palm.com/us/products/phones/pre/">Palm Pre</a>. Last night on Jimmy Falon&#8217;s talk show, <a href="http://www.engadget.com">Engadget</a> editor Joshua Topolsky and &#8220;Jim&#8221; shared love for the forthcoming smartphone. See the video <a href="http://www.engadget.com/2009/03/10/in-case-you-missed-late-night-with-jimmy-fallon-last-night/">here</a>.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Learning Perl basics in the Fedora Classroom ... by me!</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/03/learning-perl-basics-in-the-fedora-classroom-by-me.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1646</id>

    <published>2009-03-06T05:04:15Z</published>
    <updated>2009-03-06T05:15:46Z</updated>

    <summary>Hey y&#8217;all, I&#8217;ve volunteered to teach in the Fedora Classroom this Saturday (7 Mar 2009). The Fedora Classroom is an IRC-based classroom environment. So, at 3pm MST (22:00 UTC), anyone can participate by logging in to #fedora-classroom on irc.freenode.net and...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Perl programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="irc" label="IRC" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perlfedoraclassroom" label="Perl. Fedora Classroom" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="training" label="training" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>Hey y&#8217;all, I&#8217;ve volunteered to teach in the <a href="https://fedoraproject.org/wiki/Communicate/IRC/Classroom">Fedora Classroom</a> this Saturday (7 Mar 2009). The <em>Fedora Classroom</em> is an <a href="http://en.wikipedia.org/wiki/Internet_Relay_Chat">IRC</a>-based classroom environment. </p>

<p>So, at 3pm MST (22:00 UTC), anyone can participate by logging in to <code>#fedora-classroom</code> on <code>irc.freenode.net</code> and I, <code>fozzmoo</code>, will be doing a 1-hour presentation on <em>Perl basics</em>. </p>

<p>I&#8217;ve been digging through old presentations and workshops notes from when I used to do all day Perl workshops at <a href="http://www.usu.edu/">USU</a> for the <a href="http://fslc.usu.edu/">USU Free Software and Linux Club</a> to see what I can distill down into a 1-hour presentation. If there&#8217;s enough interest and response, we&#8217;ll see about turning this into a regular thing.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>A response to the &quot;wiz bang&quot; question</title>
    <link rel="alternate" type="text/html" href="http://fozzolog.fozzilinymoo.org/tech/2009/03/a-response-to-the-wiz-bang-question.html" />
    <id>tag:fozzolog.fozzilinymoo.org,2009:/tech//1.1645</id>

    <published>2009-03-03T17:19:20Z</published>
    <updated>2009-03-03T17:25:11Z</updated>

    <summary>(Ryan Byrd)[http://www.ryanbyrd.net/techramble/] blogged recently with a (programming interview question)[http://www.ryanbyrd.net/techramble/2009/03/03/programming-interview-question-of-the-day/] that I thought I&#8217;d take a stab at in Perl. The question is as follows: when passed in a number that is evenly divisible by 3, return &#8220;wiz&#8221; when passed in...</summary>
    <author>
        <name>Doran L. Barton</name>
        <uri>http://www.fozzilinymoo.org/</uri>
    </author>
    
        <category term="Perl programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="interviewquestions" label="interview questions" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="programming" label="programming" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fozzolog.fozzilinymoo.org/tech/">
        <![CDATA[<p>(Ryan Byrd)[http://www.ryanbyrd.net/techramble/] blogged recently with a (programming interview question)[http://www.ryanbyrd.net/techramble/2009/03/03/programming-interview-question-of-the-day/] that I thought I&#8217;d take a stab at in Perl.</p>

<p>The question is as follows:</p>

<ul>
<li>when passed in a number that is evenly divisible by 3, return &#8220;wiz&#8221;</li>
<li>when passed in a number that is evenly divisible by 5, return &#8220;bang&#8221;</li>
<li>when passed in a number that is evenly divisible by both 3 and 5, return &#8220;wiz bang&#8221;</li>
<li>otherwise, return the number passed in</li>
</ul>

<p>My solution exploits Perl&#8217;s list type to store potential output as a queue of sorts.</p>

<pre><code>sub function {
    my $num = shift;
    my @output = ();
    unless($num % 3) {    push @output, "wiz"; }
    unless($num % 5 ) {    push @output, "bang"; }
    if(@output) {   return join ' ', @output; }
    return $num; 
}
</code></pre>
]]>
        

    </content>
</entry>

</feed>
