<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>UbuntuSolutions : </title>
    <link>http://www.ubuntusolutions.org/articles.rss</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>MythTV 0.22 in Karmic 9.10</title>
      <description>&lt;p&gt;This is the tale of my attempts, eventually successful, to setup Mythbuntu on a newly purchased HP slimline desktop s5280t.&lt;/p&gt;
&lt;h1&gt;Hardware&lt;/h1&gt;
&lt;p&gt;This is the decription of the machine: it's HP Slimline s5300. It comes with a quad-core CPU, 6GB of RAM and 640GB, but that doesn't matter for MythTV. What matters is the following list of devices:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Tuner card: Hauppauge WinTV-HVR1255&lt;/li&gt;
    &lt;li&gt;Remote control: TSGH-IR01 (the IR receiver plugs into the tuner card in what looks like a simple jack)&lt;/li&gt;
    &lt;li&gt;Video Card: Nvidia G210 with HDMI&lt;/li&gt;
    &lt;li&gt;Samsung LCD TV with DVI input (among others)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Setup&lt;/h1&gt;
&lt;p&gt;The initial Mythbuntu setup was uneventful. I installed Karmic from scratch without issue.&lt;/p&gt;
&lt;p&gt;During installation, a few MythTV setup screens are proposed to do the initial configuration (tuner card, SchedulesDirect subsciption, channel lineup, ...). That went equally well except for the remote control:&amp;nbsp; none of the devices in the list matched mine.&lt;/p&gt;
&lt;p&gt;Anyways, the setup completed and I could start MythTV. I must say I was pleasantly surprised, the UI came up and using the keyboard, I could actually &amp;quot;watch TV&amp;quot;. There were a few annoying details, like the size of the UI that doesn't exactly match the size of the TV screen and a very slim noise band at the top of the image on 4:3 channels. But the major issues were of different kind:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;no sound&lt;/li&gt;
    &lt;li&gt;no remote&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Sound problem&lt;/h1&gt;
&lt;p&gt;The image comes from the video card through the HDMI port and I was hoping the sound would come out of the analog sound output of the computer and to the analog sound input of the TV. That's how it was working on my previous MythTV installation (Gentoo + Acer machine). The DVI input of the TV is supposed to work in concert with the analog sound input right next to it, but in this case it didn't: strangely, sound is coming out of the analog sound port but the TV ignores it.&lt;/p&gt;
&lt;p&gt;After a little digging, I found that the TV can actually receive sound through HDMI. At least that's what it tells the video card when it sends its firmware signature (EDID) to the video card. The video card, naive as it is, believes it and replies to the TV that it's going to do just that. The TV is happy, it turns off the analog sound input and listens on HDMI.&lt;/p&gt;
&lt;p&gt;Unfortunately, that's all too sophisticated for the Nvidia driver of the video card (version 185 by default by I also tried 190 to no avail). The nvidia driver doesn't know how to process sound coming from the motherboard. But it does know how to send sound to the TV and that's what it does, it sends an all blank soundtrack&amp;nbsp; to the TV.&lt;/p&gt;
&lt;p&gt;The solution is on this page: &lt;a href="http://www.mythtv.org/wiki/Configuring_Analog_Sound_DVI_to_HDMI"&gt;Converting analog sound to HDMI&lt;/a&gt;. It consists in modifying the EDID information submitted by the TV and remove the bits about receiving sound through HDMI. The updated EDID must then be saved into xorg.conf. The video card will subsequently read the EDID from there instead of getting it from the TV and will stop telling the TV that sound is coming through HDMI which will cause the TV to listen on the analog input.&lt;/p&gt;
&lt;p&gt;That worked like a charm for me (after a couple of reboots).&lt;/p&gt;
&lt;h1&gt;Remote troubles&lt;/h1&gt;
&lt;h2&gt;Hauppauge 1250 IR receiver&lt;/h2&gt;
&lt;p&gt;The remote control that HP sent with the computer is designed for Windows Media Center Edition which led me to believe it fell into the &amp;quot;mceusb&amp;quot; category of remotes that can be used with LIRC and MythTV. But I was mistaken, the IR receiver is not a USB device, instead it plugs in directly into the tuner card (Hauppauge 1250).&lt;/p&gt;
&lt;p&gt;Again, the issue here is with too recent hardware and outdated drivers: the driver for the Hauppauge tuner card doesn't recognize the IR receiver and completely ignores it. There's no fix as of yet. That's too bad because this remote control looked pretty solid compared to all the remotes that can be bought online.&lt;/p&gt;
&lt;p&gt;The full explanation can be found on &lt;a href="http://www.mythtv.org/wiki/Hauppauge_HVR-1250"&gt;MythTV wiki&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;USB Remote Control&lt;/h2&gt;
&lt;p&gt;I then went to buy that &lt;a href="http://www.amazon.com/Wireless-USB-Remote-Control-Mouse/dp/B001M56DI0/ref=sr_1_1?ie=UTF8&amp;amp;s=electronics&amp;amp;qid=1259362464&amp;amp;sr=1-1"&gt;wireless PC remote I found on Amazon&lt;/a&gt;. It seemed standard enough and I was hoping I could use the other remote described above on the new IR receiver. It didn't work as planned. The first thing that is supposed to happen when plugging in a USB IR receiver is to have LIRC detect the device (should show up in dmesg) and that should be immediately followed by the device appearing under /dev with the name /dev/lirc0. &lt;/p&gt;
&lt;p&gt;I got LIRC to detect something:&lt;/p&gt;
&lt;pre&gt;
Nov 22 14:18:35 ibiza kernel: [   15.507820] lirc_dev: IR Remote Control driver registered, major 61
Nov 22 14:18:35 ibiza kernel: [   15.592792] lirc_mceusb: Windows Media Center Edition USB IR Transceiver driver for LIRC 1.90
Nov 22 14:18:35 ibiza kernel: [   15.592826] usbcore: registered new interface driver lirc_mceusb

&lt;/pre&gt;
&lt;p&gt;but nothing showed up as /dev/lirc0. The testing LIRC tool 'irw' was not mute, some garbage got printed but not at all what's supposed to be printed.&lt;/p&gt;
&lt;p&gt;In fact, even though LIRC didn't recognize the IR receiver, I could use the remote to do some basic operations: the up, down, left and right keys were doing exactly what is expected from the arrow keys of a regular keyboard. So I could use it to do the most basic navigation operations on the MythTV menus. Interesting but not good enough.&lt;/p&gt;
&lt;p&gt;After lots of googling, I finally realized that the remote was in fact recognized as a keyboard and a mouse by the system. That's bad news because that means I won't be able to use the other remote with that receiver. Anyways, this is called an HID remote and LIRC has a driver for that, it's called &amp;quot;devinput&amp;quot;. That &lt;a href="http://wiki.archlinux.org/index.php/LIRC"&gt;Archlinux wiki page&lt;/a&gt; has the lircd.conf file to be used with such a device. I found only later that dmesg was showing the HID device:&lt;/p&gt;
&lt;pre&gt;
Nov 22 16:48:42 ibiza kernel: [    3.247892] input: HID 073a:2230 as /devices/pci0000:00/0000:00:1d.1/usb7/7-1/7-1:1.0/input/input3
Nov 22 16:48:42 ibiza kernel: [    3.247957] generic-usb 0003:073A:2230.0001: input,hidraw0: USB HID v1.10 Keyboard [HID 073a:2230] on usb-0000:00:1d.1-1/input0
Nov 22 16:48:42 ibiza kernel: [    3.247968] usbcore: registered new interface driver usbhid
Nov 22 16:48:42 ibiza kernel: [    3.247970] usbhid: v2.6:USB HID core driver

&lt;/pre&gt;
&lt;p&gt;First you have to find under which name the device was mapped:&lt;/p&gt;
&lt;pre&gt;
# ll /dev/input/by-id/
0 lrwxrwxrwx 1 root root 9 Nov 22 14:18 usb-073a_2230-event-mouse -&amp;gt; ../event6
0 lrwxrwxrwx 1 root root 9 Nov 22 14:18 usb-073a_2230-mouse -&amp;gt; ../mouse2&lt;/pre&gt;
&lt;p&gt;Or you can just list all the &amp;quot;event&amp;quot; devices:&lt;/p&gt;
&lt;pre&gt;
# cat /proc/bus/input/devices 
...
I: Bus=0003 Vendor=073a Product=2230 Version=0110
N: Name=&amp;quot;HID 073a:2230&amp;quot;
P: Phys=usb-0000:00:1d.1-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb7/7-1/7-1:1.0/input/input6
U: Uniq=
H: Handlers=kbd mouse1 event6
B: EV=10001f
B: KEY=837fff002c3027 bf00444400000000 fffffffffffff 10c040a27c007 ffa67bfad941dfff febeffdfffefffff fffffffffffffffe
B: REL=343
B: ABS=100030000
B: MSC=10
...

&lt;/pre&gt;
&lt;p&gt;Knowing the /dev/input /event number you can then test it with:&lt;/p&gt;
&lt;pre&gt;
lircd -n -d /dev/input/event6 -H dev/input lircd.conf  
&lt;/pre&gt;
&lt;p&gt;Create a /usr/share/lirc/remotes/hid/lircd.conf.hid file with the data from the Archlinux page and update /etc/lirc/lircd.conf with that patch. Also update /etc/lirc/hardware.conf with the device name (/dev/input/event6) and driver name (devinput).&lt;/p&gt;
&lt;p&gt;MythTV will now work with the remote.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

</description>
      <pubDate>Fri, 27 Nov 2009 14:08:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:627a20aa-ce0d-449f-838e-33f396b15fab</guid>
      <comments>http://www.ubuntusolutions.org/2009/11/mythtv-0-22-in-karmic-9-10.html#comments</comments>
      <category>ubuntu</category>
      <category>nvidia</category>
      <category>drivers</category>
      <category>karmic</category>
      <category>mythtv</category>
      <link>http://www.ubuntusolutions.org/2009/11/mythtv-0-22-in-karmic-9-10.html</link>
    </item>
    <item>
      <title>Arbor Domains DNS servers attacked</title>
      <description>&lt;p&gt;Arbor Domains (arbordomains.com) DNS servers were hijacked last night redirecting all requests to an amateurish Italian website (Portachiave Albatros - Milano). Some domains I owned were affected and I only realized the issue at 9PM PST on Sunday but  according to the web server logs, I stopped receiving visitors around 5PM. At the time of this writing (11/9 7AM PST) the problem has not been fixed.&lt;/p&gt;
&lt;p&gt;Arbor Domains has not responded yet to my support emails, but this morning, this note is displayed on their website:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;font size="-1" face="verdana,arial,helvetica"&gt;&lt;font color="red"&gt;&lt;b&gt;Mon Nov  9 02:24:05 EST 2009&lt;/b&gt;&lt;br /&gt;
To All Customers: it has come to our attention that a security breach  just occurred with our upstream registrar, causing all domains to be redirected to an illegitimate site.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="-1" face="verdana,arial,helvetica"&gt;&lt;font color="red"&gt;We are currently working to resolve this problem and restore all domains to their proper settings. We estimate that domains will start to function properly around 9am Eastern time. Until then, all domains have been locked. You will not be able to manage your domain until settings have been restored.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="-1" face="verdana,arial,helvetica"&gt;&lt;font color="red"&gt;We truly apologize for the trouble this has caused.&lt;/font&gt;    &lt;/font&gt;&lt;/p&gt;

</description>
      <pubDate>Mon, 09 Nov 2009 07:02:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:88cfeaef-311f-44b0-b7b4-d2925cad3e90</guid>
      <comments>http://www.ubuntusolutions.org/2009/11/arbor-domains-dns-servers-attacked.html#comments</comments>
      <link>http://www.ubuntusolutions.org/2009/11/arbor-domains-dns-servers-attacked.html</link>
    </item>
    <item>
      <title>What happened in Ubuntu today?</title>
      <description>&lt;p&gt;No post in a long time but it's not that I've been lazy. In fact, I've been working hard. Here's what I have been doing, hopefully, some of you will find this useful.&lt;br /&gt;
&lt;br /&gt;
For a long time, I have been updating my ubuntu machines through the update-manager or aptitude. Both tools naturally show the list of packages that are updated and I immediately proceed to start the update. But an hour later, I would ask myself, what the hell just got updated? And I know of no tools that can give me a straight answer to that question.&lt;br /&gt;
&lt;br /&gt;
So I decided to take things into my own hands and I developed a website to track changes in Ubuntu distributions. This website is called &lt;a href="http://www.ubuntuupdates.org"&gt;www.ubuntuupdates.org&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The main page has the list of all package updates per release, most recent first, the emergency level of the change, the repository where it was released and the description of what changed. That list is updated hourly.&lt;br /&gt;
&lt;br /&gt;
Each package also has its own page that includes&lt;br /&gt;
- description of the package&lt;br /&gt;
- version history &lt;br /&gt;
- changelog&lt;br /&gt;
- bugs fixes for each new version&lt;br /&gt;
&lt;br /&gt;
If you're interested in finding stats on the number of updates per day, check out the &lt;a href="http://www.ubuntuupdates.org/sources"&gt;dashboard&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
You can also search for any package and see what the latest version available in each release and what repository it's leaving in (main, universe, multiverse, backports).&lt;br /&gt;
&lt;br /&gt;
Again it's &lt;a href="http://www.ubuntuupdates.org"&gt;www.ubuntuupdates.org&lt;/a&gt;. Enjoy!&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;

</description>
      <pubDate>Sat, 10 Oct 2009 15:19:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:be561db9-5de7-41ca-ae4e-cdf8fbcd1122</guid>
      <comments>http://www.ubuntusolutions.org/2009/10/what-happened-in-ubuntu-today.html#comments</comments>
      <category>ubuntu</category>
      <category>ubuntu</category>
      <link>http://www.ubuntusolutions.org/2009/10/what-happened-in-ubuntu-today.html</link>
    </item>
    <item>
      <title>Android 1.5 on MyTouch phone: better than iPhone?</title>
      <description>&lt;p&gt;I got myself a MyTouch phone yesterday. It's has been available since Thursday at T-Mobile and it features &lt;strong&gt;Android 1.5&lt;/strong&gt; Cupcake. I have been a user of an iPod Touch for almost a year but the lack of anywhere data access was increasingly frustrating. The choice was between an iPhone and the new Android phone.&lt;br /&gt;
&lt;br /&gt;
I like the iPod Touch a lot, it works with a fluidity and an ease of use that is extremely impressive. However, I find it has a few weaknesses that keep it more than a few inches away from perfection. But, the real annoyance with the iPhone is the proprietary nature the iPhone OS and the need to go through iTunes to transfer music, files and updates. I don't care for Apple arbitrarily choosing what applications are acceptable and which ones are not. And finally the T-Mobile data plan is also cheaper than the ATT one and I suspect that although the T-Mobile coverage is not as extensive, its existing 3G network is less crowded than ATT's.&lt;/p&gt;
&lt;h1&gt;Appearance&lt;/h1&gt;
&lt;p&gt;&lt;img align="right" width="402" vspace="15" hspace="15" height="352" src="/files/Image/mytouch1.jpg" alt="" /&gt; The MyTouch looks very attractive, good plastics, it appears solid. The case and screen are slightly smaller than the iPhone's but with the same screen resolution. It's also a tad thicker. 7 buttons on the from instead just one for the iPhone, that's the most striking difference at first. I find this to be to the advantage of the&amp;nbsp; MyTouch as I'll explain later.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
The most annoying weakness of the iPhone in my opinion is the lack of shortcut between applications. To go from the web browser to the email application for example, you always have to go through the main menu. No need for that with the MyTouch as it features a 'back' button. So if you click on a URL in the email client, it takes you to the web browser and once you're done with the page, you just have hit the 'back' key and it gets you back straight to the message you were reading.&lt;/p&gt;
&lt;h1&gt;Responsiveness&lt;/h1&gt;
&lt;p&gt;Now,&amp;nbsp; the major &lt;strong&gt;strengths of the iPhone are fluidity and responsiveness&lt;/strong&gt;. As soon as the finger starts sliding on the screen the web page or the list starts rolling, there's no delay (except when browsing complex web pages as they're being loaded). The MyTouch can't compete on this front, it often takes a few tenths of a second before the screen starts moving. It's quite tolerable though. I blame the ability of Android to multitask vs the foreground applications only in the iPhone for the difference.&lt;/p&gt;
&lt;h1&gt;Web browsing&lt;/h1&gt;
&lt;p&gt;Again, this is a strong point of the iPhone. A web page appears in full width at first, and a simple double tap on a text column or a pinch over the area that you want to enlarge shows you the desired area with the right zoom level. I find it very intuitive and effective.&lt;br /&gt;
The Android approach is different, &lt;strong&gt;Android doesn't have multitouch&lt;/strong&gt;. So here is how it works: the initial view of the page is zoomed in on the top left of the page at a level where the text is readable. Whenever you slide the screen, the zoom +/- button will appear. The zoom step is quite small and it might take many taps to get an overview of the full page. Tapping on the piece of text you're interested in has no effect.&lt;br /&gt;
Another major difference is that once the focus is on a text column, the Android &lt;strong&gt;browser will reformat it to fit in the width of the screen&lt;/strong&gt;, you can then zoom in or zoom out and the screen and the text still occupies the full width and no more than the width of the screen.&lt;br /&gt;
It takes some getting used to, and it's only been a day but I can now find my way around different areas on a page quite easily.&lt;br /&gt;
&lt;br /&gt;
The web browser is another part of the interface where the back button is greatly appreciated. It's also very easy to access the the address bar as there is a key for that on the phone: that's the very versatile search key which changes purpose depending on the application.&lt;br /&gt;
Another useful key is the menu key that gives easy access to settings and bookmarks. In the end all those keys at the bottom of the phone &lt;strong&gt;save a lot of screen real estate&lt;/strong&gt; and that's major plus for the MyTouch.&lt;br /&gt;
&lt;br /&gt;
Final advantage of the Android browser over the iPhone's: better caching. The iPhone is quite bad at managing it's graphic memory. When scrolling up and down, it's very common for the content to stay invisible for several seconds while being hidden behind a frustrating grey and white grid. No such thing on the MyTouch.&lt;/p&gt;
&lt;h1&gt;Email reader&lt;/h1&gt;
&lt;p&gt;The iPhone and Android email readers have a lot in common including flaws. One missing feature in the iPhone email app is the ability to zoom on message the same way it can be done on a web page. Well, this flaw is unfortunately shared by Android.&lt;br /&gt;
Okay, it's not entirely true, there are actually &lt;strong&gt;no less than 3 email applications&lt;/strong&gt; in Android, one for Gmail, one for MS Exchange and one for your other IMAP or POP accounts. Oh wait, 4 if you count the gmail web application. This is definitely silly and I hope Google will consolidate all those apps in a future version.&lt;br /&gt;
Anyways, out of those 4 application, &lt;strong&gt;only the Exchange one allows you to zoom in and out&lt;/strong&gt;. In the other 3, you might have to scroll left and right for every line of the email you are tediously trying to read.&lt;/p&gt;
&lt;h1&gt;Main menu&lt;/h1&gt;
&lt;p&gt;The Android front page is a breath of fresh air compared to the iPhone, you can setup the background the way you like, organize your applications icons on any page or maybe in a folder with the name of your choice. The apps that are less often used can be left out of the front pages and stay in the full app list if you want to.&lt;br /&gt;
&lt;br /&gt;
There is a &lt;strong&gt;notification bar&lt;/strong&gt; at the top of the front page that shows not only the usual mobile phone indicators (signal bars, time...) but it also shows icons whenever emails are received, downloads complete or wifi networks are available. Where it gets interesting is that you can &lt;strong&gt;drag that bar down&lt;/strong&gt;, and then it show a detailed list of the new events that you can select to go directly to the appropriate application. Very neat.&lt;/p&gt;
&lt;h1&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;Okay, I admit it, I'm thrilled with my new phone. Besides everything I already mentioned,&amp;nbsp; the screen quality is excellent, the camera takes great pictures, Google Maps coupled with the GPS is terrific. I should really mention the Amazon app where it's possible to scan barcodes wherever you are and immediately see the item in the Amazon website, this feature is just amazing.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

</description>
      <pubDate>Sun, 09 Aug 2009 09:41:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:120f9c65-d9f9-4f3f-8669-5c7ad65fef58</guid>
      <comments>http://www.ubuntusolutions.org/2009/08/android-1-5-on-mytouch-phone-better-than-iphone.html#comments</comments>
      <category>android</category>
      <link>http://www.ubuntusolutions.org/2009/08/android-1-5-on-mytouch-phone-better-than-iphone.html</link>
    </item>
    <item>
      <title>Custom logger in Rails</title>
      <description>&lt;p&gt;The default logging format in Rails lacks timestamp and log level, this is how configure logging to the format of your preference.&lt;/p&gt;
&lt;p&gt;In Rail 1.2.X, it was enough to just redefine the format_message of the Logger class by just inserting the following lines at the bottom of config/environment.rb:&lt;/p&gt;
&lt;pre class="cpp" name="code"&gt;
# custom logging format
class Logger
  private
  def format_message(severity, timestamp, progname, msg)
    &amp;quot;[%5s %s] %s\n&amp;quot; % [severity,
          timestamp.strftime(&amp;quot;%m/%d %H:%M:%S&amp;quot;),
          msg]
  end
end
&lt;/pre&gt;
&lt;p&gt;No longer in Rails 2.X as the logger object is now an instance of the ActiveSupport::BufferedLogger class. A bit of monkey patching is needed. Create a new file called custom_logger.rb in the lib directory:&lt;/p&gt;
&lt;pre name="code" class="cpp"&gt;
require 'active_support'

# Logger class for custom logging format
class CustomLogger &amp;lt; ActiveSupport::BufferedLogger

  private

    # CustomLogger doesn't define strings for log levels
    # so we have to do it ourselves
    def severity_string(level)
        case level
        when DEBUG
            :DEBUG
        when INFO
            :INFO
        when WARN
            :WARN
        when ERROR
            :ERROR
        when FATAL
            :FATAL
        else
            :UNKNOWN
        end
    end

  public

    # monkey patch the CustomLogger add method so that
    # we can format the log messages the way we want
    def add(severity, message = nil, progname = nil, &amp;amp;block)
        return if @level &amp;gt; severity
        message = (message || (block &amp;amp;&amp;amp; block.call) || progname).to_s
        # If a newline is necessary then create a new message ending with a newline.
        # Ensures that the original message is not mutated.
        message = &amp;quot;[%5s %s] %s\n&amp;quot; % [severity_string(severity),
                            Time.now.strftime(&amp;quot;%m/%d %H:%M:%S&amp;quot;),
                            message] unless message[-1] == ?\n
        buffer &amp;lt;&amp;lt; message
        auto_flush
        message
    end

end

&lt;/pre&gt;
&lt;p&gt;And modify environment.rb the following way:&lt;/p&gt;
&lt;pre name="code" class="cpp"&gt;
require File.join(File.dirname(__FILE__), 'boot')
require 'custom_logger'

Rails::Initializer.run do |config|

  ...

  # Force all environments to use the same logger level
  # (by default production uses :info, the others :debug)
  config.log_level = ENV['RAILS_ENV']=='production' ?
                                 ActiveSupport::BufferedLogger::Severity::INFO :
                                 ActiveSupport::BufferedLogger::Severity::DEBUG

  # initializing custom logger
  config.logger = CustomLogger.new(config.log_path, config.log_level)

end
&lt;/pre&gt;
&lt;p&gt;That does 2 things:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;if running in production mode, no message with a level lower than INFO will be printed&lt;/li&gt;
    &lt;li&gt;the format of every log message will include level, timestamp and message&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;
[ INFO 08/04 20:34:41]   Session ID: 78e4de86b30d6d704a9f6f44717a4288
[ INFO 08/04 20:34:41]   Parameters: {&amp;quot;action&amp;quot;=&amp;gt;&amp;quot;buy&amp;quot;, &amp;quot;controller&amp;quot;=&amp;gt;&amp;quot;article&amp;quot;}

&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

</description>
      <pubDate>Tue, 04 Aug 2009 20:19:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:705cfb36-b4c4-4585-9b96-f14fb13812d1</guid>
      <comments>http://www.ubuntusolutions.org/2009/08/custom-logger-in-rails.html#comments</comments>
      <category>rails</category>
      <link>http://www.ubuntusolutions.org/2009/08/custom-logger-in-rails.html</link>
    </item>
    <item>
      <title>Fixing Intel driver in Jaunty on Acer Aspire One</title>
      <description>&lt;p&gt;Since Jaunty was released, most computers with Intel GPU have suffered from dismall video performances. It's not only about videos, it's also about browsing the web with Firefox, scrolling through pages is slow, sometimes blocks, and compiz effects suffer from occasional flashes.&lt;/p&gt;
&lt;p&gt;This fix is for the AAO D150 which is equipped with Intel 945GM.&lt;/p&gt;
&lt;pre&gt;
# lspci  | grep 945
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
&lt;/pre&gt;
&lt;p&gt;I tried several things. I started experimenting with the instructions at &lt;a href="http://ubuntuforums.org/showthread.php?t=1130582"&gt;Jaunty Intel Graphics Performances Guide&lt;/a&gt; (safe solution) but it didn't help, if anything it got worse.&lt;/p&gt;
&lt;p&gt;Then I reverted to the regular driver (aptitude was of great help here, I used &amp;quot;aptitude remove xserver-xorg-video-intel&amp;quot; and it kindly offered me to downgrade to the regular jaunty version instead of completely removing the package).&lt;/p&gt;
&lt;p&gt;I found that &lt;a href="https://wiki.ubuntu.com/ReinhardTartler/X/RevertingIntelDriverTo2.4"&gt;page&lt;/a&gt; that explains how to revert to version 2.4 of the driver.&amp;nbsp; The instructions in the article work just fine and after restarting X, the video performances are back to normal. In short:&lt;/p&gt;
&lt;p&gt;Add to /etc/apt-sources.list:&lt;/p&gt;
&lt;pre&gt;
deb http://ppa.launchpad.net/siretart/ppa/ubuntu jaunty main
&lt;/pre&gt;
&lt;p&gt;Add the server key:&lt;/p&gt;
&lt;pre&gt;
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xce90d8983e731f79&lt;/pre&gt;
&lt;p&gt;Install the 2.4 package:&lt;/p&gt;
&lt;pre&gt;
sudo aptitude install xserver-xorg-video-intel-2.4&lt;/pre&gt;
&lt;p&gt;Restart X and you're done.&lt;/p&gt;

</description>
      <pubDate>Sun, 12 Jul 2009 15:14:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:f4b85e33-5296-43ef-92ed-bdf192d5bfa1</guid>
      <comments>http://www.ubuntusolutions.org/2009/07/fixing-intel-driver-in-jaunty-on-acer-aspire-one.html#comments</comments>
      <category>ubuntu</category>
      <category>aao</category>
      <link>http://www.ubuntusolutions.org/2009/07/fixing-intel-driver-in-jaunty-on-acer-aspire-one.html</link>
    </item>
    <item>
      <title>Ubuntu Firefox 3.5 install: ubuntu-mozilla-security</title>
      <description>&lt;p&gt;&lt;strong&gt;Important update&lt;/strong&gt;: &lt;strong&gt;The official Firefox-3.5 is now available in the universe repositories. You don't need to do any of the following, just &amp;quot;apt-get install firefox-3.5&amp;quot;. No need for any ubuntu-mozilla-* line in /etc/apt/sources.list.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;To uninstall firefox-3.5 that was setup using ubuntu-mozilla-*, follow the removal instructions below.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;After digging around a little bit more, I found that there was another, &lt;strong&gt;safer&lt;/strong&gt;, repository for Jaunty with firefox 3.5: ubuntu-mozilla-security.&lt;/p&gt;
&lt;p&gt;For those of you who don't want the daily updates of firefox, which will deliver experimental releases on occasions, you should use the security repository instead of ubuntu-mozilla-daily.&lt;/p&gt;
&lt;pre&gt;
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EBC211F&lt;/pre&gt;
&lt;p&gt;Add the following line at the bottom of /etc/apt/sources.list:&lt;br /&gt;
deb http://ppa.launchpad.net/ubuntu-mozilla-security/ppa/ubuntu jaunty main&lt;/p&gt;
&lt;pre&gt;
sudo apt-get update
sudo apt-get install firefox-3.5 firefox-3.5-gnome-support&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;If had already installed firefox-3.5 from the daily repository &lt;/strong&gt;and you want to switch to the security one, you first need to remove the ubuntu-mozilla-daily line from /etc/apt/sources.list and remove firefox-3.5 that came from that repository:&lt;/p&gt;
&lt;pre&gt;
sudo apt-get remove firefox-3.5 xulrunner-1.9.1-gnome-support xulrunner-1.9.1&lt;/pre&gt;
&lt;p&gt;Only after that you should run &amp;quot;apt-get install firefox-3.5 firefox-3.5-gnome-support &amp;quot;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

</description>
      <pubDate>Fri, 03 Jul 2009 10:28:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:919de9ea-ace9-49e5-961b-829771ab2718</guid>
      <comments>http://www.ubuntusolutions.org/2009/07/ubuntu-firefox-3-5-install-use-ubuntu-mozilla-security.html#comments</comments>
      <category>ubuntu</category>
      <category>firefox</category>
      <trackback:ping>http://www.ubuntusolutions.org/trackbacks?article_id=22</trackback:ping>
      <link>http://www.ubuntusolutions.org/2009/07/ubuntu-firefox-3-5-install-use-ubuntu-mozilla-security.html</link>
    </item>
    <item>
      <title>Installing Firefox 3.5 the right way in Ubuntu Jaunty</title>
      <description>&lt;p&gt;&lt;strong&gt;Important update&lt;/strong&gt;:&lt;strong&gt; The official Firefox-3.5 is now available in the universe repositories. You don't need to do any of the following, just &amp;quot;apt-get install firefox-3.5&amp;quot;. No need for any ubuntu-mozilla-* line in /etc/apt/sources.list.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;To uninstall firefox-3.5 that was setup using ubuntu-mozilla-*, follow the instructions at &lt;/strong&gt;&lt;a href="http://www.ubuntusolutions.org/2009/07/ubuntu-firefox-3-5-install-use-ubuntu-mozilla-security.html"&gt;&lt;strong&gt;ubuntu-mozilla-security&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Only follow the instructions below if you want to be on the bleeding edge.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Firefox 3.5 was officially released yesterday and it brings significant improvements in terms of speed, tab management and support of HTML5. Ubuntu does not automatically propose the upgrade so you need to help the system find the newer packages. Let's start by listing the least effective ways of getting those packages.&lt;/p&gt;
&lt;h1&gt;Installing from Canonical repositories&lt;/h1&gt;
&lt;p&gt;When searching inside of Synaptic Package Manager or using apt-cache, you are going to find firefox-3.5. Unfortunately, it's been there since the release of Jaunty and it has not been updated since then. At the moment, only the beta 4 for is available and believe me you don't want it.&lt;/p&gt;
&lt;pre&gt;
$ apt-cache showpkg firefox-3.5
Package: firefox-3.5
Versions:
3.5~b4~hg20090330r24021+nobinonly-0ubuntu1 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_jaunty_universe_binary-i386_Packages)
 Description Language:
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_jaunty_universe_binary-i386_Packages
                  MD5: b670b07084b5a79b912d14c4307acda4

&lt;/pre&gt;
&lt;h1&gt;Installing from mozilla.org&lt;/h1&gt;
&lt;p&gt;That's a better option. The process is the following:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;download the .tar.bz2 file&lt;/li&gt;
    &lt;li&gt;uncompress it under ~/firefox&lt;/li&gt;
    &lt;li&gt;make sure no other instance is already running&lt;/li&gt;
    &lt;li&gt;start firefox 3.5 by running &amp;quot;~/firefox/firefox&amp;quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It works fine but there are several problems with this approach:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;It completely shortcircuits the package manager which means that you will have to install future updates independently of the rest of the system.&lt;/li&gt;
    &lt;li&gt;When Ubuntu gets upgraded, it's very likely this firefox installation will stop working as it depends on libraries that will have changed version.&lt;/li&gt;
    &lt;li&gt;This firefox installation will the same ~/.mozilla directory to store your personal settings as the Ubuntu version of Firefox (3.0.11 as of today). Confusion and pain will inevitably follow. Unfortunately the last installation option described below has that same disadvantage.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now the better solution.&lt;/p&gt;
&lt;h1&gt;Setting up the ubuntu-mozilla-daily repository&lt;/h1&gt;
&lt;p&gt;You can add to your system a repository maintained by the mozilla developers.&lt;/p&gt;
&lt;p&gt;Add the following line at the bottom of /etc/apt/sources.list:&lt;/p&gt;
&lt;pre style="overflow: auto;"&gt;
deb &lt;a title="http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu" href="http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu"&gt;http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu&lt;/a&gt; jaunty main
&lt;/pre&gt;
&lt;p&gt;Let Ubuntu know the identification key of this repository:&lt;/p&gt;
&lt;pre style="overflow: auto;"&gt;
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 247510BE
&lt;/pre&gt;
&lt;p&gt;Refresh your system cache:&lt;/p&gt;
&lt;pre&gt;
sudo apt-get update
&lt;/pre&gt;
&lt;p&gt;Now, same as with the first option, the package that you want is firefox-3.5. The difference is that now, the version available is the right one.&lt;/p&gt;
&lt;pre&gt;
$ apt-cache showpkg firefox-3.5
Package: firefox-3.5
Versions:
3.5.1~hg20090629r26036+nobinonly-0ubuntu2~umd1~jaunty (/var/lib/apt/lists/ppa.launchpad.net_ubuntu-mozilla-daily_ppa_ubuntu_dists_jaunty_main_binary-i386_Packages)
 Description Language:
                 File: /var/lib/apt/lists/ppa.launchpad.net_ubuntu-mozilla-daily_ppa_ubuntu_dists_jaunty_main_binary-i386_Packages
                  MD5: b670b07084b5a79b912d14c4307acda4

&lt;/pre&gt;
&lt;p&gt;You need to setup this package, latex-xft-fonts and also firefox-3.5-gnome-support&lt;/p&gt;
&lt;pre&gt;
$ apt-get install firefox-3.5 firefox-3.5-gnome-support latex-xft-fonts
&lt;/pre&gt;
&lt;p&gt;At this point, there are 2 different versions of Firefox coexisting on the system, 3.0.11 and 3.5.1. When you run &amp;quot;firefox&amp;quot; from the command line or when you select it from the Applications menu, version 3.0.11 is fired up. It might be convenient to make the newer version the default:&lt;/p&gt;
&lt;pre&gt;
$ sudo su
$ cd /usr/bin
$ ll firefox*
lrwxrwxrwx 1 root root 11 2009-06-22 16:45 firefox -&amp;gt; firefox-3.0
lrwxrwxrwx 1 root root 32 2009-06-22 16:45 firefox-3.0 -&amp;gt; ../lib/firefox-3.0.11/firefox.sh
lrwxrwxrwx 1 root root 34 2009-07-01 21:17 firefox-3.5 -&amp;gt; ../lib/firefox-3.5.1pre/firefox.sh
$ rm firefox
$ ln -s firefox-3.5 firefox&lt;/pre&gt;
&lt;p&gt;The newly installed version is branded &amp;quot;Shiretoko&amp;quot;. That's the name used to identify 3.5 during development.&lt;/p&gt;
&lt;p&gt;By using this technique, you're guaranteed that Firefox will get updated regularly through the Ubuntu package manager and that compatibility with system libraries will be preserved.&lt;/p&gt;
&lt;p&gt;The downside of this is that you will get a little more updates than the average users: fixes to 3.5 will be dropped here first before they are made available to all. As a consequence, it's not impossible that you will be among the first to find regression bugs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;: &lt;a href="http://www.asoftsite.org/s9y/archives/160-FAQ-Where-can-I-get-firefox-3.5-for-Ubuntu.html"&gt;http://www.asoftsite.org/s9y/archives/160-FAQ-Where-can-I-get-firefox-3.5-for-Ubuntu.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 7/3/2009&lt;/strong&gt;: &lt;a href="http://www.ubuntusolutions.org/2009/07/ubuntu-firefox-3-5-install-use-ubuntu-mozilla-security.html"&gt;safer ubuntu-mozilla-security repository?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

</description>
      <pubDate>Wed, 01 Jul 2009 20:45:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:3df18f87-cd23-4377-a000-54341b7c859c</guid>
      <comments>http://www.ubuntusolutions.org/2009/07/installing-firefox-3-5-the-right-way-on-ubuntu-jaunty.html#comments</comments>
      <category>ubuntu</category>
      <category>firefox</category>
      <category>jaunty</category>
      <category>firefox</category>
      <link>http://www.ubuntusolutions.org/2009/07/installing-firefox-3-5-the-right-way-on-ubuntu-jaunty.html</link>
    </item>
    <item>
      <title>How to make the Acer Aspire One faster</title>
      <description>&lt;h2&gt;Using an SD card to run Ubuntu&lt;/h2&gt;
&lt;p&gt;The Acer Aspire One 110 is notorious for its small and sluggish SSD disk (SSDPAMM0008G1EA). &lt;a href="http://www.ubuntusolutions.org/2009/01/why-is-firefox-so-slow-on-acer-aspire.html"&gt;Firefox is so slow it seems web pages will never finish loading&lt;/a&gt; and you'd better not be in a hurry when starting the package manager or setiing up Ubuntu updates. I wanted to find a solution that wouldn't involve tearing the motherboard apart and I found one. It cost me about $40 and a couple of hours of work.&lt;/p&gt;
&lt;p&gt;The idea is to use a fast SD card as the primary drive of the laptop by installing Ubuntu on it, the SSD becomes an extra storage device. As you will see below, the SD card shows more balanced performances than the SSD and significantly faster write speeds.&lt;/p&gt;
&lt;p&gt;I chose to buy the &lt;a href="http://www.amazon.com/gp/product/B0010Z28XG"&gt;Transcend 16 GB SDHC Class 6 memory card&lt;/a&gt;. Note that it is sold with an USB adapter that comes very handy when installing the OS on the AAO.&lt;/p&gt;
&lt;h2&gt;Setup&lt;/h2&gt;
&lt;p&gt;There is just one problem with the setup: the bios on the Acer Aspire One is unable to boot from the SD card. That means that you can't just setup Ubuntu on it and restart. The workaround is to let the laptop boot from the SSD: the bios reads the MBR and starts grub on the SSD. The initrd kernel image is also on the SSD and that kernel is capable of mounting the SD card. Only after this is done can the regular boot process resume and the actual kernel get loaded from the SD card.&lt;/p&gt;
&lt;p&gt;I followed the very good installation instructions I found on &lt;a href="http://www.osnews.com/story/20743/Eeebuntu_2_0_SD_Card_Installation_on_the_Aspire_One"&gt;osnews.com&lt;/a&gt;. They are very detailed, I followed them point by point and I didn't run into any issue. Here is a slightly modified list of steps that goes straight to the point:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Install Ubuntu on the SSD if it's not already there. In my case it was there so I could skip that step. I found the version of linux present on the SSD doesn't really matter, it will just be used for its /boot directory and grub.&lt;/li&gt;
    &lt;li&gt;Boot from a USB drive where you can Install Ubuntu from. I used the 9.04 alternate CD. I had plugged it in the USB slot on the right of the AAO and I had the SD card in the USB adapter&amp;nbsp; on the left of the AAO. It might be possible to just stick the SD card directly on the left SD slot on the left, I think the 9.04 install USB key would be able to find it but I haven't tried and you will need the adapter on step 4 anyway.&lt;/li&gt;
    &lt;li&gt;Proceed with the actual installation to the SD card from the USB drive.&lt;/li&gt;
    &lt;li&gt;Reboot from the newly installed SD card (inside the USB adapter: there's no way around this for this step). Mount the old SSD on /ssd&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
mount -t ext2 /dev/sda1 /ssd&lt;/pre&gt;
&lt;ul&gt;
    &lt;li&gt;Now you must reconfigure how initrd.img files are generated. The goal here is to include support for the SD card reader in the initrd. Without it, you won't be able to access the card from grub. Edit /etc/initramfs-tools/modules on the SSD card and add those 4 lines:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
mmc_core
mmc_block
sdhci
sdhci-pci &lt;/pre&gt;
&lt;ul&gt;
    &lt;li&gt;Regenerate the latest initrd kernel image and copy it inside of the SSD /boot directory.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
update-initramfs -u 
cp /boot/initrd.img-2.6.28-12-generic /ssd/boot
&lt;/pre&gt;
&lt;ul&gt;
    &lt;li&gt;Edit /ssd/boot/grub/menu.lst on the SSD drive. There you will create a grub menu entry that points at a kernel on the SD card. Replace the UUID below with yours.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
title           Ubuntu 9.04, kernel 2.6.28-12-generic-SDCard
uuid            5ce02d2f-1fee-4cc5-8c7d-bde5f19b26b8
kernel          /boot/vmlinuz-2.6.28-12-generic root=UUID=5ce02d2f-1fee-4cc5-8c7d-bde5f19b26b8 ro elevator=noop quiet splash
initrd          /boot/initrd.img-2.6.28-12-generic
quiet
&lt;/pre&gt;
&lt;p&gt;Note that the UUID on the &amp;quot;kernel&amp;quot; line is the UUID of the SD card. So in the /boot directory of the SD card, there must be a vmlinuz file that matches the initrd file from the SSD card.&lt;/p&gt;
&lt;p&gt;That's it, you can reboot one last time, select&amp;nbsp; &amp;quot;Ubuntu 9.04, kernel 2.6.28-12-generic-SDCard&amp;quot; from the grub menu and if the gods are with you, you will load the OS from the SD card. At this point you will enjoy an Ubuntu setup that will feel twice as fast as the old one with 3 times more storage space.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Beware&lt;/strong&gt;: anytime you get a new kernel, by default it's only installed on the SD card but you need it on the SSD drive. So don't forget to copy the new initrd.img to /ssd/boot and to update /ssd/boot/grub/menu.lst whenever needed or you won't be able to use the new kernel.&lt;/p&gt;
&lt;h2&gt;Disk performance measures&lt;/h2&gt;
&lt;p&gt;Now that is just a feeling at this point. Here is how to back it with concrete numbers. I found the &lt;a href="http://it.toolbox.com/blogs/database-soup/testing-disk-speed-the-dd-test-31069"&gt;dd test&lt;/a&gt; page very helpful for this experiment. One can easily measure the disk&amp;nbsp; read speed with hdparm but that ells you nothing about the write speed.&lt;/p&gt;
&lt;pre&gt;
$ hdparm -tT /dev/mmcblk0p1

/dev/mmcblk0p1:
 Timing cached reads:   1144 MB in  2.00 seconds = 572.07 MB/sec
 Timing buffered disk reads:   40 MB in  3.16 seconds =  12.67 MB/sec
&lt;/pre&gt;
&lt;p&gt;So the best way to get both read and write speed is the following:&lt;/p&gt;
&lt;p&gt;To measure the sequential write speed, write a large file to disk while measuring the time it takes. Note that the sync command is essential to guarantee all the data gets written instead of staying in some cache. Do not trust the throughput reported by dd, instead divide the size of the file by the duration reported by &amp;quot;time&amp;quot;. For example, here is the test on the SD card (it generates a 160 MB file):&lt;/p&gt;
&lt;pre&gt;
$ time sh -c &amp;quot;dd if=/dev/zero of=ddfile count=20000 bs=8k &amp;amp;&amp;amp; sync&amp;quot;

20000+0 records in
20000+0 records out
163840000 bytes (164 MB) copied, 13.4757 s, 12.2 MB/s

real    0m18.885s
user    0m0.020s
sys     0m0.640s&lt;/pre&gt;
&lt;p&gt;To measure the read speed, read the same large file from disk:&lt;/p&gt;
&lt;pre&gt;
$ time dd if=ddfile of=/dev/null bs=8k                
20000+0 records in
20000+0 records out
163840000 bytes (164 MB) copied, 9.96247 s, 16.4 MB/s

real    0m9.974s
user    0m0.016s
sys     0m0.588s&lt;/pre&gt;
&lt;p&gt;I ran that test on the SD card, on the SSD and on another Acer Aspire One&amp;nbsp; (AOA 150) with a regular hard disk.&lt;/p&gt;
&lt;table width="350" cellspacing="1" cellpadding="1" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
            &lt;td&gt;&lt;strong&gt;SD Card&lt;br /&gt;
            &lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;&lt;strong&gt;SSD&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;&lt;strong&gt;AOA150&lt;/strong&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;Read speed&lt;/strong&gt; (MB/s)&lt;/td&gt;
            &lt;td&gt;16.4&lt;/td&gt;
            &lt;td&gt;26.5&lt;/td&gt;
            &lt;td&gt;62.2&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;Write speed&lt;/strong&gt; (MB/s)&lt;/td&gt;
            &lt;td&gt;8.42&lt;/td&gt;
            &lt;td&gt;2.31&lt;/td&gt;
            &lt;td&gt;51.6&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As you can see although the SD read speed is just 60% of the SSD read speed, the&lt;strong&gt; write speed is almost 4 times higher on the SD card &lt;/strong&gt;and for normal usage of a laptop that write speed increase changes everything. It worked so well, I decided to use Gnome on this machine and it appears to go twice as fast as Xfce was going on the SSD. Not that the Acer Apire One got magically turned into a Ferrari but with that SD card, it became a pretty decent Toyota!&lt;/p&gt;

</description>
      <pubDate>Sat, 16 May 2009 18:33:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:fcd55a1c-5a55-4cfd-8bd9-73a9bb755587</guid>
      <comments>http://www.ubuntusolutions.org/2009/05/how-to-make-the-acer-aspire-one-faster.html#comments</comments>
      <category>ubuntu</category>
      <category>aao</category>
      <category>ubuntu</category>
      <category>performance</category>
      <category>aao</category>
      <link>http://www.ubuntusolutions.org/2009/05/how-to-make-the-acer-aspire-one-faster.html</link>
    </item>
    <item>
      <title>Fix for Firefox flashing when in full screen</title>
      <description>&lt;p&gt;Since Jaunty, when Firefox is displayed in full screen (F11), any of the following actions will result in Firefox disappearing for a second and the background desktop image replacing it:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;right click&lt;/li&gt;
    &lt;li&gt;alt-tab&lt;/li&gt;
    &lt;li&gt;hovering over a link with a tool tip&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That happens if compiz is in use and I verified the problem both on machines using Intel and Nvidia video cards.&lt;/p&gt;
&lt;p&gt;The fix is easy:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;go to System -&amp;gt; Preferences -&amp;gt; CompizConfig Settings Manager -&amp;gt; General&lt;/li&gt;
    &lt;li&gt;uncheck &amp;quot;Unredirect Fullscreen Windows&amp;quot;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <pubDate>Mon, 11 May 2009 18:52:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:bbe18077-bf6c-40c7-b947-196fbfb90375</guid>
      <comments>http://www.ubuntusolutions.org/2009/05/fix-for-firefox-flashing-when-in-full-screen.html#comments</comments>
      <category>ubuntu</category>
      <category>compiz</category>
      <category>nvidia</category>
      <category>firefox</category>
      <category>intel</category>
      <category>nvidia</category>
      <category>compiz</category>
      <link>http://www.ubuntusolutions.org/2009/05/fix-for-firefox-flashing-when-in-full-screen.html</link>
    </item>
  </channel>
</rss>

