<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0"><channel><title>Peng.u.i.n</title><link>http://blog.pengdeng.com/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/d6g" /><description></description><language>en</language><managingEditor>noreply@blogger.com (Peng)</managingEditor><lastBuildDate>Fri, 12 Feb 2010 22:31:03 PST</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">55</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">25</openSearch:itemsPerPage><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="d6g" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc-sa/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><item><title>Do 0.8.2 Released!</title><link>http://blog.pengdeng.com/2009/06/do-082-released.html</link><category>Gnome Do</category><category>release</category><author>noreply@blogger.com (Peng)</author><pubDate>Tue, 30 Jun 2009 04:23:16 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-295825553189235562</guid><description>&lt;p class="center"&gt;&lt;img src="http://lh4.ggpht.com/_4F2P0FQZ3bE/SkntH6jDcTI/AAAAAAAABbg/Icfr4LRrPFo/s400/screenshot3.png" alt="Do 0.8.2 Docky" title="" /&gt;&lt;/p&gt;

&lt;p&gt;After 3 months of work, now here is the &lt;a href="https://launchpad.net/do/+announcement/3094"&gt;0.8.2 release&lt;/a&gt; of
our beloved &lt;a href="http://gnomedo.com"&gt;GNOME Do&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;With this release, a lot of bugs both from do-core and from plugins
are fixed, the Docky interface also is enhanced, a couple of docklets
are added as you can see in the screenshot above. You can now install
the &lt;code&gt;gnome-do-docklet&lt;/code&gt; package to get these docklets. (You need to
enable them in the &lt;em&gt;Plugin&lt;/em&gt; page of the &lt;em&gt;Preferences&lt;/em&gt; dialog, and then
activate them in the &lt;em&gt;Appearance&lt;/em&gt; page &amp;#8212; well, they only work for
docky)&lt;/p&gt;

&lt;p&gt;Here are some highlights I can think about among all the
fixes/improvements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Repository-less plugin system.&lt;/strong&gt; The plugin installation is much
simplified thanks to &lt;a href="http://www.lamalex.net/"&gt;Alex&lt;/a&gt;&amp;#8217;s non-repository fix. Now the
plugin files will not be stored as copies in your home folder, which
means in the future when the plugins package gets updated, the
plugins you are using will be automatically the newest.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;img src="http://lh5.ggpht.com/_4F2P0FQZ3bE/SknuGCtX1eI/AAAAAAAABbo/Qhnc0HlnpYU/s288/screenshot4.png" alt="Docklets" title="" style="float: right; margin: 0 0 1em 1em" /&gt;&lt;p&gt;&lt;strong&gt;Docklets!&lt;/strong&gt;. &lt;a href="http://jassmith.wordpress.com/"&gt;Jason&lt;/a&gt; has mentioned before it won&amp;#8217;t be hard to
write docklet because the framework is already there. So here we are
with 5 docklets available: Battery Monitor, CPU Monitor, Switcher,
Volume Control and Weather. At least 2 more are coming soon, namely
the GMail and NetworkManager docklet.&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;&lt;img src="http://lh6.ggpht.com/_4F2P0FQZ3bE/SknwTYm7wQI/AAAAAAAABb8/0BN0_lxcitw/s288/screenshot8.png" alt="Key bindings" title=""style="float: right; margin: 0 0 1em 1em"  /&gt;&lt;p&gt;&lt;strong&gt;Expanded keyboard shortcut options.&lt;/strong&gt; You can now customize almost
all major operations of Do with you own taste. For me, since I use
Emacs a lot, I&amp;#8217;d like to have the &lt;em&gt;Previous&lt;/em&gt;/&lt;em&gt;Next results&lt;/em&gt;
configured as &lt;code&gt;Ctrl-P&lt;/code&gt;/&lt;code&gt;Ctrl-N&lt;/code&gt; and &lt;em&gt;Browse into&lt;/em&gt;/&lt;em&gt;Step out of item&lt;/em&gt;
as &lt;code&gt;Alt-F&lt;/code&gt;/&lt;code&gt;Alt-B&lt;/code&gt;, so my right hand doesn&amp;#8217;t need to leave the home
row to reach the arrow keys.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;More &amp;#8220;browsable&amp;#8221; items.&lt;/strong&gt; You can browse into the &amp;#8220;Home Folder&amp;#8221;
item and mounted disk item (if you are using the &lt;em&gt;DiskMounter&lt;/em&gt;
plugin) with &amp;#8220;Right Arrow&amp;#8221; key (the default key binding for &lt;em&gt;Browse
into a item&lt;/em&gt;) now. The &lt;code&gt;~&lt;/code&gt; and &lt;code&gt;~user&lt;/code&gt; can be correctly expanded, so
you can also simply open or browse your home folder, other user&amp;#8217;s
home folder or any path containing them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enhanced Copy/Paste.&lt;/strong&gt; Copy/Paste is consistent now whether you
are using &lt;code&gt;Ctrl+C&lt;/code&gt; or the &amp;#8216;Copy to Clipboard&amp;#8217; action. The text
getting copied will depend on the type of the item you are
copying. For example, if you are copying a URL item, you will always
have the URL copied to the clipboard, no matter how the item&amp;#8217;s title
and description looks like.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configuration Page for Docky.&lt;/strong&gt; Docky has a simplified menu on the
Do item on the dock, and most of the configuration options have been
moved to the Appearance page of the Preferences dialog.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dropbox Plugin.&lt;/strong&gt; We have a new Dropbox plugin written by &lt;a href="https://code.launchpad.net/~stephen-elson/"&gt;Stephen
Elson&lt;/a&gt;. We all love Dropbox for its usefulness and convenience,
with the plugin, you can share or synchronize your files even more
easily.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Improved RTM Plugin.&lt;/strong&gt; The RTM plugin should be stable enough for
most people no matter if you have like 100 tasks in your account,
and a lot of features are added, for details please read my &lt;a href="http://pengdeng.com/blog/2009/06/11/remember-the-milk-plugin-for-gnome-do-updates/"&gt;other
post&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are of course many other fixes/improvements I can not remember
well, please jump to the &lt;a href="http://groups.google.com/group/gnome-do/msg/5df50d5b62286c12"&gt;mailing list&lt;/a&gt; or &lt;a href="https://launchpad.net/do/+announcement/3094"&gt;release
announcement&lt;/a&gt; for more information.&lt;/p&gt;

&lt;p&gt;As mentioned in &lt;a href="http://groups.google.com/group/gnome-do/msg/7780cc78a619ebe0"&gt;another post&lt;/a&gt; in the mailing list, we will have
a minor release very soon (in 1&amp;#8212;2 weeks) to address some bugs found
out during the use of this new version.  A few other improvements may
also be included by then (like the GMail docklets :). Stay tuned!&lt;/p&gt;

&lt;p class="important"&gt;&lt;strong&gt;Note&lt;/strong&gt;: You need to enable the &lt;a href="https://launchpad.net/~do-core/+archive/ppa"&gt;Do-Core PPA&lt;/a&gt; to get the new
0.8.2 packages. And currently only Karmic and Jaunty platform have the
&lt;code&gt;gnome-do&lt;/code&gt; and &lt;code&gt;gnome-do-plugins&lt;/code&gt; packages ready, the
&lt;code&gt;gnome-do-docklets&lt;/code&gt; may need some more time to get in, as well as
packages for other platform (intrepid/hardy, due to their relatively
old mono version).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-295825553189235562?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=AUgJL980DsU:cuPdR4imba0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=AUgJL980DsU:cuPdR4imba0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=AUgJL980DsU:cuPdR4imba0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=AUgJL980DsU:cuPdR4imba0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=AUgJL980DsU:cuPdR4imba0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=AUgJL980DsU:cuPdR4imba0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/AUgJL980DsU" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-30T13:23:16.655+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_4F2P0FQZ3bE/SkntH6jDcTI/AAAAAAAABbg/Icfr4LRrPFo/s72-c/screenshot3.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Disable gnome-screensaver while using mplayer</title><link>http://blog.pengdeng.com/2009/06/disable-gnome-screensaver-while-using.html</link><category>mplayer</category><author>noreply@blogger.com (Peng)</author><pubDate>Sat, 02 Jan 2010 04:09:23 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-2206697106383531489</guid><description>&lt;p&gt;Just a quick post about an ignoring problem I had with Ubuntu 9.04
(Jaunty): I am a big fan of mplayer and it is the only player that can
play 720p HD movie smoothly without having CPU running at top speed (2
GHz) on my 3.5 years old laptop (Thinkpad T43). However starting with
9.04, the screensaver keeps coming up while mplayer is playing &amp;#8212; I
don&amp;#8217;t remember this uses to happen. I have &lt;code&gt;stop-xscreensaver="yes"&lt;/code&gt;
inside &lt;code&gt;~/.mplayer/config&lt;/code&gt; but this seems not doing the trick.&lt;/p&gt;

&lt;p&gt;After checking the &lt;a href="http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html"&gt;manual&lt;/a&gt; of mplayer, I managed to work this
around by putting&lt;/p&gt;

&lt;pre class="brush: bash"&gt;
heartbeat-cmd="gnome-screensaver-command -p"
&lt;/pre&gt;

&lt;p&gt;into the config file.  The heart beat command will run every 30
seconds, and &lt;code&gt;gnome-screensaver-command -p&lt;/code&gt; will poke the screen saver
daemon to let it know we are still up to something (not idle).&lt;/p&gt;

&lt;p&gt;Note: maybe it is all because I&amp;#8217;m using the latest svn version of
mplayer packaged on a PPA &amp;#8212; too lazy to test with the original
version from Ubuntu&amp;#8217;s repo for the time being, please leave a comment
if you are using the latter and this doesn&amp;#8217;t affect you, thanks.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-2206697106383531489?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=zbYaX7TGTik:DzK1OTZsA4k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=zbYaX7TGTik:DzK1OTZsA4k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=zbYaX7TGTik:DzK1OTZsA4k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=zbYaX7TGTik:DzK1OTZsA4k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=zbYaX7TGTik:DzK1OTZsA4k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=zbYaX7TGTik:DzK1OTZsA4k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/zbYaX7TGTik" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-02T13:09:23.106+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Remember The Milk plugin for GNOME Do Updates</title><link>http://blog.pengdeng.com/2009/06/remember-milk-plugin-for-gnome-do.html</link><category>Gnome Do</category><category>Remember The Milk</category><author>noreply@blogger.com (Peng)</author><pubDate>Thu, 11 Jun 2009 08:01:12 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-8140277794369943199</guid><description>&lt;p&gt;After I finished my master thesis, I&amp;#8217;ve been working on some changes
to the RTM and Ping.FM plugin. With this post I&amp;#8217;d like to give an
simple update to the RTM plugin, by listing some of the new features
that the new version will offer and a few bugs that has been/will be
solved. This new version will (hopefully) be shipped with the up
coming release of Do (0.8.2).&lt;/p&gt;

&lt;div style="text-align: center; margin: 0 auto; width: 400px"&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.com&amp;captions=1&amp;hl=en_US&amp;feat=flashalbum&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fdengpeng%2Falbumid%2F5346083783699837009%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/div&gt;

&lt;h4&gt;Changes behind the scene&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Re-factored internal data structure.&lt;/strong&gt; The data structure to store
tasks/lists are much simplified which allows more features to be
added relatively with less efforts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Throttling Control.&lt;/strong&gt; Added self-control inside RtmNet API to
avoid server side throttling. Now we will send request to RTM server
with interval no less than 1 second. Thanks to &lt;a href="http://www.codeplex.com/ironcow/"&gt;IronCow&lt;/a&gt; for the
inspiration!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Improved synchronization with RTM server.&lt;/strong&gt; Ensure synchronized
content between Do universe (items indexed by Do) and your account
in the cloud. If you modified any tasks elsewhere, the changes will
be noticed by Do automatically. Obsolete items (deleted/completed)
will not be left inside Do universe.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;New features and improvements&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Directly indexed tasks.&lt;/strong&gt; Now the tasks are first class citizen in
Do universe which means they are accessible directly by typing the
name of a task.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;New ways to navigator to tasks.&lt;/strong&gt; There are 2 new item sources
which means in addition to navigating to a task via the list it
belongs to, you can also access tasks by their locations or tags.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Expandable task item.&lt;/strong&gt; Each of the task can be expanded (by using
&amp;#8220;right arrow&amp;#8221; key with default key bindings) to show some sub-items
related to the task (if it has any). e.g. tags, location, estimated
time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tags/Locations/Notes/Estimated Time support.&lt;/strong&gt; You can easily
add/remove tags, locations, notes and set estimated time now. They
are also indexed and shown as sub-items of a task.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;For adding tags, both hand typing (divided by a comma) and
selecting from a existing tag list are supported.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For adding notes, you can separate the title and body of a task by
either a &amp;#8220;|&amp;#8221; character or a new line.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The location associated with a task can be open in Google maps
according to its latitude/longitude information&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;List actions.&lt;/strong&gt; 3 new actions are added to provide functionality
to create, rename and delete a list (except the reserved ones by
RTM).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;4 meta lists.&lt;/strong&gt; 4 &amp;#8220;smart&amp;#8221; list to offer easy access to tasks due
today/tomorrow/in 1 week and overdue tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configurable overdue task notification interval.&lt;/strong&gt; It was annoying
before when you were seeing the notifications every 2 minutes once
you had overdue tasks, so I add a configuration option in the
preferences dialog to let you choose the interval between each
notification, the default value is 15 minutes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Bugs fixed&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://bugs.launchpad.net/do-plugins/+bug/351564"&gt;Bug #351564: RTM blocks startup, and crashes when internet
is not available&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://bugs.launchpad.net/do-plugins/+bug/324980"&gt;Bug #324980: Remember the Milk not connecting with delayed
network connection&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Though I think it is ideal that the Universe Manager in Do core will
be capable of handling plugin activation depending on the network
status, I let RTM try re-connecting during universe update if it has
not yet established a connection to RTM server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://bugs.launchpad.net/do-plugins/+bug/314798"&gt;Bug #314798: after RTM plugin install: Do crashes after first
character entered&lt;/a&gt; and &lt;a href="https://bugs.launchpad.net/do-plugins/+bug/370279"&gt;Bug #370279: RTM plugin does not show
the list of tasks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These 2 bugs are actually connected &amp;#8212; the latter is due to a
temporary work around (which didn&amp;#8217;t really fix the problem) to get
rid of the crash in the former bug. The symptom is, when the tasks
in an RTM account to be indexed are of large amount (40+), the XML
received from RTM server is simply truncated at some random point,
so you will either see Do crashes because the unfinished XML causes
a parser exception (Bug #314798) or Do indexes no tasks after I only
catch the exception which avoid the crash but can not help
recovering the task list.&lt;/p&gt;

&lt;p&gt;I am not able to fix this bug for quite while simply because I
cannot reproduce it in my system so I didn&amp;#8217;t know in what way the
XML became invalid, and testing with other users may expose their
privacy to me, I cannot complain if no one would like to send me the
problematic XML. Fortunately I recently received great help from
Arnaud and Knorcedger who have been having this issue and are kindly
enough to share their private info with me only to help me
debugging. I would like to thank them for their support without
which I don&amp;#8217;t know when I could figure out where is wrong with the
code.  So I tried several different way to track down the real
reason of the issue, and eventually it turns out it was the
slightly-mistyped request URL in the original RtmNet API this plugin
uses that causes the big trouble.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;About Synchronization&lt;/h4&gt;

&lt;p&gt;One thing you may notice which behaves not as the same as the old
version is that any change you have made to your RTM data (tasks,
lists, tags &amp;#8230;) will not be seen synchronized immediately inside Do
universe. Normally you need to wait &lt;strong&gt;2 minutes&lt;/strong&gt; (10 minutes if you
are using laptop and on battery) before any changes to be reflected
inside Do. This is actually a by-product of ensuring better
synchronization, because modifying data out of Do&amp;#8217;s update cycles
(what we use to do) can potentially leave obsolete data permanently
inside Do. I suppose most the users can wait that 2 minutes, but in
case you just need to access an item you&amp;#8217;ve just changed, you can
force Do to do a universe update by open the &lt;em&gt;Preferences&lt;/em&gt; dialog and
close it, then after a second or two, you should see the changes.&lt;/p&gt;

&lt;h4&gt;Test&lt;/h4&gt;

&lt;p&gt;You can test this new version by either compiling the code yourself or
downloading a pre-compiled DLL file. Please keep in mind this is still
a &lt;strong&gt;beta&lt;/strong&gt; software and may still have bugs. So please feel free to
let me know by emailing or leaving comments here if there is any
problem.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Compile from source&lt;/p&gt;

&lt;p&gt;You can compile the source code pulled from &lt;a href="https://code.launchpad.net/~d6g/do-plugins/rtm-1.5"&gt;this Launchpad
branch&lt;/a&gt;.  It is important to know you need to also have the
latest Do compiled from the trunk code and installed. Please refer
the &lt;a href="http://do.davebsd.com/wiki/index.php?title=Installing_Do#From_Source"&gt;wiki page&lt;/a&gt; on how to compile and install Do from source.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pre-compiled Binary&lt;/p&gt;

&lt;p&gt;To save you some time, there is a pre-compiled binary DLL file you
can use. The download address is:
&lt;a href="http://dl.getdropbox.com/u/110544/do-plugins/edge/RTM.dll"&gt;http://dl.getdropbox.com/u/110544/do-plugins/edge/RTM.dll&lt;/a&gt;. It has
been tested with both GNOME Do 0.8.1.3 and the latest bzr code. &lt;/p&gt;

&lt;p&gt;To use it with Do 0.8.1.3, you need to make sure you &lt;strong&gt;clean&lt;/strong&gt; the
old DLL installed in you home folder, the safest steps to do that
are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open the Preferences dialog and deactivate the Remember The Milk
plugin.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Remove the folder
&amp;#8220;&lt;code&gt;~/.local/share/gnome-do/plugins-0.8.1.3/addins/Do.RememberTheMilk.1.0/&lt;/code&gt;&amp;#8221;
and its content&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Remove the file
&amp;#8220;&lt;code&gt;~/.local/share/gnome-do/plugins-0.8.1.3/addin-db-001/addin-data/global/Do.RememberTheMilk,1.0.maddin&lt;/code&gt;&amp;#8221;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to the folder
&amp;#8220;&lt;code&gt;~/.local/share/gnome-do/plugins-0.8.1.3/addin-db-001/addin-dir-data/&lt;/code&gt;&amp;#8221;
and remove the file whose name contains &amp;#8220;&lt;code&gt;Do.RememberTheMilk.1.0&lt;/code&gt;&amp;#8221;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then you can copy the RTM.dll file into
&amp;#8220;&lt;code&gt;~/.local/share/gnome-do/plugins-0.8.1.3/&lt;/code&gt;&amp;#8221;, start Do, you
should now have the 1.5 version of Remember The Milk in use.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-8140277794369943199?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=MoDpaC8Cr-A:2HrQujHMea0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=MoDpaC8Cr-A:2HrQujHMea0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=MoDpaC8Cr-A:2HrQujHMea0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=MoDpaC8Cr-A:2HrQujHMea0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=MoDpaC8Cr-A:2HrQujHMea0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=MoDpaC8Cr-A:2HrQujHMea0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/MoDpaC8Cr-A" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-11T17:01:12.760+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>Essential LaTeX packages for Producing Nice Looking Papers</title><link>http://blog.pengdeng.com/2009/05/essential-latex-packages-for-producing.html</link><category>LaTeX</category><author>noreply@blogger.com (Peng)</author><pubDate>Thu, 21 May 2009 15:08:03 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-8880924661753978369</guid><description>&lt;p&gt;Finally I&amp;#8217;ve finished my Master thesis and presentation. &amp;#8212; although I
was required to use a PPT template for my presentation thus I couldn&amp;#8217;t
use Beamer, I finished the whole thesis using LaTeX/Metapost, and this
time I become completely a fan of MetaPost and learned again a little
more about LaTeX, especially the convenience brought by several useful
packages. Here I note them down together with some simple examples. In
case you need to write a paper or thesis, they may help you a lot to
produce a decent looking document.&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=graphicx"&gt;graphicx&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;This is a very common package to include images into the document. And
quite often, you may need to let the package look for image files in
directories not the same as where the .tex file is stored. Therefore
you need this small trick at the preamble part:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; \graphicspath{{metapost/}{gnuplot/}{figures/}}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Here I just let it look for images from 3 sub-directories, you can
also use absolute path.&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://www.ams.org/tex/amslatex.html"&gt;amssymb, amsmath, amsthm&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;These 3 packages are essential if what you plan to write about
contains lots of mathematic equations, definitions etc. They offer
features to align/position the equations nicely and also allow you to
define you own theorem/theorem style. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;% define new theorem style and new theorem
\newtheoremstyle{example}%
{}{}{}{\parindent}{\bfseries}{:}{.5em}{}%

\theoremstyle{example}
\newtheorem{ex}{Example}[chapter]
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;&lt;a href="http://www.ctan.org/tex-archive/macros/latex/contrib/listings/"&gt;listings&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;If you like me need to include some source code snippet into the text,
this package can help you format the code properly according to the
programming language. &lt;/p&gt;

&lt;p&gt;By default it doesn&amp;#8217;t use a monospaced font, which I feel a bit
weird, so I changed it globally at the preamble part&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;\lstset{language=C,basicstyle=\ttfamily,captionpos=b,tabsize=4,showspaces=false}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can notice I also define the default lanuage as &lt;strong&gt;C&lt;/strong&gt; so it will
use special font style for key words in C.&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/"&gt;subfig&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;Sometimes you need to have to graphs in one figure shown as (a) and
(b), this package allows you to flexibly control the sub-figures
including their captions, it also provide a command to let you refer
to a specific sub-figure when you need to.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;\begin{figure}
  \centering
  \subfloat[][Load]{\includegraphics[scale=1]{mt-load}}%
  \qquad
  \subfloat[][Load and Store]{\includegraphics[scale=1]{mt-load-store}}
  \caption{Multi-thread Data Load/Store (Data item size: 128 Byte)}
  \label{fig:mt-load}
\end{figure}
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;&lt;a href="http://www.ctan.org/tex-archive/macros/latex/contrib/fancyref/"&gt;fancyref&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;If you would like to save the effort of typing in all the
&amp;#8220;chapter/section/page&amp;#8221; text before you use the &lt;code&gt;\ref&lt;/code&gt; command, and if
you would like to make them fancier, e.g. &lt;strong&gt;section&lt;/strong&gt; 4.2.3 &lt;strong&gt;on page
14&lt;/strong&gt; (text in bold are added automatically by the package), you can
try this package out. It just needs you to prefix all you labels
according to the type of environments they point at. For example, by
default &lt;code&gt;chap:&lt;/code&gt; for chapter, &lt;code&gt;fig:&lt;/code&gt; for figure etc.&lt;/p&gt;

&lt;p&gt;Moreover,  you can to define new prefixes for the environments
&lt;em&gt;fancyref&lt;/em&gt; doesn&amp;#8217;t know. In my case, it doesn&amp;#8217;t cover the &lt;code&gt;lstlisting&lt;/code&gt;
environment and &lt;code&gt;example&lt;/code&gt; theorem. So I have them defined as&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;\newcommand*{\fancyreflstlabelprefix}{lst}
\frefformat{\fancyrefdefaultformat}{\fancyreflstlabelprefix}{list\fancyrefdefaultspacing#1}
\Frefformat{\fancyrefdefaultformat}{\fancyreflstlabelprefix}{List\fancyrefdefaultspacing#1}
\newcommand*{\fancyrefexlabelprefix}{ex}
\frefformat{\fancyrefdefaultformat}{\fancyrefexlabelprefix}{example\fancyrefdefaultspacing#1}
\Frefformat{\fancyrefdefaultformat}{\fancyrefexlabelprefix}{Example\fancyrefdefaultspacing#1}
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;&lt;a href="http://www.ctan.org/tex-archive/macros/latex/contrib/booktabs/"&gt;booktabs&lt;/a&gt;, &lt;a href="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=longtable"&gt;longtable&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;These 2 packages will help you make better looking tables, the first
will provide commands for different borders (top/middle/bottom) and
the width of them are adjusted to make the table look more
professional. &lt;code&gt;longtable&lt;/code&gt;, as the name suggested, will help you fit
long table across pages with optionally repeated header anf footer.&lt;/p&gt;

&lt;p&gt;Besides these packages, I also practices this time to organize the
whole document more effeciently by writing each chapter in a
independent file and use the &lt;code&gt;\input&lt;/code&gt; command of LaTeX to include them
in the main (master) .tex file. This will let you better control the
structure of the document and easily product partial document with
selected chapters. Also the &lt;a href="http://www.gnu.org/software/auctex/"&gt;AUCTeX&lt;/a&gt; package for Emacs has support
to such multi-file arrangement. It can write some meta information
inside the slave tex files (files you include), then let you jump from
a slave file directly to the master one, and you can also compile the
whole document right inside the slave file. (&lt;code&gt;C-c C-c&lt;/code&gt;).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-8880924661753978369?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=n0oiGwQ8hQI:bBD7OmB1OXQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=n0oiGwQ8hQI:bBD7OmB1OXQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=n0oiGwQ8hQI:bBD7OmB1OXQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=n0oiGwQ8hQI:bBD7OmB1OXQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=n0oiGwQ8hQI:bBD7OmB1OXQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=n0oiGwQ8hQI:bBD7OmB1OXQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/n0oiGwQ8hQI" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T00:08:03.508+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>RTM Plugin @ RTM</title><link>http://blog.pengdeng.com/2009/03/rtm-plugin-rtm.html</link><category>Gnome Do</category><category>Remember The Milk</category><category>plugin</category><author>noreply@blogger.com (Peng)</author><pubDate>Wed, 18 Mar 2009 05:35:34 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-232284674536332861</guid><description>&lt;p class="center"&gt;&lt;img src="http://blog.rememberthemilk.com/wp-content/themes/RememberTheMilk/images/logo.png" alt="rmilk" title="" /&gt;&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s a great day today. It&amp;#8217;s sunny (though still cold, but I have to
appreciate the sunshine since I&amp;#8217;m in Germany.), and I found out just
after getting up this morning that &lt;a href="http://do.davebsd.com/wiki/index.php?title=Remember_The_Milk_Plugin"&gt;Remember the Milk Plugin for GNOME
Do&lt;/a&gt; is &lt;a href="http://blog.rememberthemilk.com/2009/03/remember-the-milk-with-gnome-do/"&gt;introduced&lt;/a&gt; at RTM&amp;#8217;s official blog, together with
the &lt;a href="http://www.youtube.com/watch?v=7X2a68X7Aq0"&gt;screencast&lt;/a&gt;. I am trilled.&lt;/p&gt;

&lt;p&gt;I haven&amp;#8217;t been able to work on GNOME Do/Plugins too much recently due
to the fact it&amp;#8217;s close to the deadline to submit my Master Thesis and
another paper.  I have planned some changes to RTM plugin, including
new features suggested &lt;a href="https://bugs.edge.launchpad.net/do-plugins/+bug/327261"&gt;here&lt;/a&gt; and an approach to display the
notes/tags/location etc. These things will probably be implemented
slowly (most likely after next month). But luckily enough,
&lt;a href="https://edge.launchpad.net/~jpds"&gt;Jonathan&lt;/a&gt; has joined the fun and started contributing some code.&lt;/p&gt;

&lt;p&gt;Stay tuned, Do and RTM lovers!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-232284674536332861?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Qn1reA-EMMg:1q1uQFgf0SE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Qn1reA-EMMg:1q1uQFgf0SE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=Qn1reA-EMMg:1q1uQFgf0SE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Qn1reA-EMMg:1q1uQFgf0SE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=Qn1reA-EMMg:1q1uQFgf0SE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Qn1reA-EMMg:1q1uQFgf0SE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/Qn1reA-EMMg" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-18T13:35:34.846+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">32</thr:total></item><item><title>GNOME Do 0.8.1</title><link>http://blog.pengdeng.com/2009/03/gnome-do-081.html</link><category>Gnome Do</category><category>release</category><author>noreply@blogger.com (Peng)</author><pubDate>Fri, 13 Mar 2009 19:16:39 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-2002090852071054013</guid><description>&lt;p class="center"&gt;&lt;img src="http://jassmith.files.wordpress.com/2009/03/docky081.png?w=450&amp;h=114" alt="GNOME Do 0.8.1" /&gt;&lt;/p&gt;
&lt;p&gt;GNOME Do had a breath-taking &lt;a href="http://b.pengdeng.com/2009/01/do-08-rock-out-with-your-dock-out.html"&gt;release&lt;/a&gt; last month with the
fantastic Docky interface, and now one month later, we have a new
minor release with a lot of small fixes &amp;#8212; 0.8.1. There are a couple
of visible and functional changes to docky and many bug fixes.  Please
step by &lt;a href="http://jassmith.wordpress.com/2009/03/13/gnome-do-081-released/"&gt;Jason&amp;#8217;s blog&lt;/a&gt; and the &lt;a href="http://do.davebsd.com/wiki/index.php?title=0.8.1_Release_Notes"&gt;release note&lt;/a&gt; for details of
this release.&lt;/p&gt;

&lt;p&gt;I didn&amp;#8217;t have too much time coding recently due to my thesis work and
also a paper to submit. Nevertheless, I am completely sure Do will get
better every day (sometimes even every hour :) !&lt;/p&gt;

&lt;p&gt;Congrats!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-2002090852071054013?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ziuMPz6Jip0:pIutMiHDM0w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ziuMPz6Jip0:pIutMiHDM0w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=ziuMPz6Jip0:pIutMiHDM0w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ziuMPz6Jip0:pIutMiHDM0w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=ziuMPz6Jip0:pIutMiHDM0w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ziuMPz6Jip0:pIutMiHDM0w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/ziuMPz6Jip0" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-14T03:16:39.473+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Repairing Corrupt RAID 1 Partitions</title><link>http://blog.pengdeng.com/2009/03/repairing-corrupt-raid-1-partitions.html</link><category>raid1</category><category>file system</category><category>partitiion</category><category>md</category><author>noreply@blogger.com (Peng)</author><pubDate>Fri, 13 Mar 2009 08:16:24 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-4462592850508940384</guid><description>&lt;p&gt;The lab computer I am using has a raid configuration consists of 2
500GB SATA hard disk. When I installed Fedora on the PC, I also setup
it in a way that my &lt;code&gt;/boot&lt;/code&gt;, &lt;code&gt;/&lt;/code&gt; and swap partitions are all MD
devices. I &lt;a href="http://twitter.com/d6g/status/1240870162"&gt;mentioned&lt;/a&gt; before, that this system has had a failure
due to corrupt superblock. Yet I haven&amp;#8217;t figured out the reason, the
same situation happened again yesterday. I think I have to note the
steps of repairing it down because I&amp;#8217;ve already a bit confused
yesterday as to how I did it the first time.&lt;/p&gt;

&lt;p&gt;The failure is during booting. The normal procedure will be interrupt with
error messages similar to this:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;mdadm: WARNING /dev/sda6 and /dev/sdb6 appear to have very similar
superblocks.  If they are really different, please &amp;#8212;zero the
superblock on one If they are the same or overlap, please remove one
from the DEVICE list in mdadm.conf.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And following that will be a &amp;#8220;failed to mount /root fs&amp;#8221; error.&lt;/p&gt;

&lt;p&gt;First of all, this is a RAID 1 configuration with 3 MD devices: &lt;code&gt;md0&lt;/code&gt;,
&lt;code&gt;md1&lt;/code&gt; and &lt;code&gt;md2&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;md0&lt;/code&gt; consists of &lt;code&gt;sda6&lt;/code&gt; and &lt;code&gt;sdb6&lt;/code&gt; and is mounted to /boot&lt;/li&gt;
&lt;li&gt;&lt;code&gt;md1&lt;/code&gt; consists of &lt;code&gt;sda7&lt;/code&gt; and &lt;code&gt;sdb7&lt;/code&gt; and is mounted to /&lt;/li&gt;
&lt;li&gt;&lt;code&gt;md2&lt;/code&gt; consists of &lt;code&gt;sda8&lt;/code&gt; and &lt;code&gt;sdb8&lt;/code&gt; and is used as swap&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;sda6&lt;/code&gt;, &lt;code&gt;sdb6&lt;/code&gt;, &lt;code&gt;sda7&lt;/code&gt;, &lt;code&gt;sdb7&lt;/code&gt; are all of type &lt;code&gt;ext3&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Since it&amp;#8217;s RAID 1, the content on both of the partitions associated
with each MD device should be the same, and it seems the superblock
appears to be different (&amp;#8220;very similar&amp;#8221;), so when the MD device try to
assemble them, it fails. Therefore, without any activated MD devices,
no surprise that the root filesystem can not mount. (I guess other two
MD devices didn&amp;#8217;t work either at that time.)&lt;/p&gt;

&lt;p&gt;I booted to the rescue system provided by Fedora installation
kernel. It can be reached from the installation media (CD, DVD) or
GRUB if your &lt;code&gt;/boot&lt;/code&gt; folder has the &lt;code&gt;vmlinuz&lt;/code&gt; and &lt;code&gt;initrd&lt;/code&gt; images
needed for a hard disk installation. If it is CD/DVD, enter &lt;code&gt;linux
rescue&lt;/code&gt; when you start it, in the case of GRUB, the lines to start
look like this: (you can enter it line-by-line after you press &lt;code&gt;c&lt;/code&gt;)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root (hd0,5)
kernel vmlinuz-install rescue
initrd initrd-install.img
boot
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Once in the command line interface after the rescue system is
booted. You may or may not have the &lt;code&gt;/dev/md*&lt;/code&gt; devices, but I guess
that doesn&amp;#8217;t matter. What matters is you should have the &lt;code&gt;mdadm&lt;/code&gt;
command and you know where is the original &lt;code&gt;mdadm.conf&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;The first thing is to get the make &lt;code&gt;mdadm.conf&lt;/code&gt; file
accessible. So I mounted one of the root partitions (e.g. /dev/sdb7) to
&lt;code&gt;/mnt/sda7&lt;/code&gt;. At these time if you issue command like&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;mdadm -D /dev/md0 --config /mnt/sdb7/etc/mdadm.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;you will be told the MD device is not active. But if you try to assemble
it using&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;mdadm -A /dev/md0 --config /mnt/sdb7/etc/mdadm.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;you will get the same warning message during booting process.&lt;/p&gt;

&lt;p&gt;My trick here is, since MD knows how to synchronize two partitions if
their contents are different and are supposed to be consistent, I can
active an MD device with only one of the partition, so I won&amp;#8217;t get the
warning and at least the MD device will be up running, then I hot plug
the other partition and rest of the work would leave to the MD system.&lt;/p&gt;

&lt;p&gt;I don&amp;#8217;t know if there is a one-liner for assembling MD device with
selective partition, but I do know if the device is &amp;#8220;busy&amp;#8221;, it won&amp;#8217;t
be assembled. So I mount &lt;code&gt;/dev/sdb6&lt;/code&gt; and &lt;code&gt;/dev/sdb8&lt;/code&gt;(using &lt;code&gt;swapon
/dev/sdb8&lt;/code&gt;) too and then try assembling all MD devices again. This
time all MD devices is activated with only one of their
partitions. Then we can unmount the intentionally occupied partitions,
mount the &lt;code&gt;/dev/md1&lt;/code&gt; device (so we still have access to the
&lt;code&gt;mdadm.conf&lt;/code&gt; file, of course you can alternatively copy that file to
the current system to avoid this mounting operation) and use the
following command to add them to their respective MD devices.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;mdadm /dev/md0 --add /dev/sdb6 --config /mnt/md1/etc/mdadm.conf
mdadm /dev/md1 --add /dev/sdb6 --config /mnt/md1/etc/mdadm.conf
mdadm /dev/md2 --add /dev/sdb6 --config /mnt/md1/etc/mdadm.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now only one step is left: waiting. Depending on how large your
partitions are, the re-synchronizing process could take hours. (My
root partition is 90GB and it took around half an hour to finish the
synchronizing.) You can check the progress by checking the content of
file &lt;code&gt;/proc/mdstat&lt;/code&gt;. When it&amp;#8217;s done, reboot and Viola, problem solved.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-4462592850508940384?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=V4M5igCl-ZU:EFBwmlG9Lt4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=V4M5igCl-ZU:EFBwmlG9Lt4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=V4M5igCl-ZU:EFBwmlG9Lt4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=V4M5igCl-ZU:EFBwmlG9Lt4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=V4M5igCl-ZU:EFBwmlG9Lt4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=V4M5igCl-ZU:EFBwmlG9Lt4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/V4M5igCl-ZU" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-13T16:16:24.938+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Using mailer.py to send SVN Commit Notificaiton Email</title><link>http://blog.pengdeng.com/2009/02/using-mailerpy-to-send-svn-commit.html</link><category>email</category><category>subversion</category><category>script</category><author>noreply@blogger.com (Peng)</author><pubDate>Thu, 12 Feb 2009 14:35:44 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-3871231473145426046</guid><description>&lt;p&gt;Yesterday when I tried to find a way to get the SVN server send out
an email whenever there is a commit, I first came
across &lt;a href="http://subversion.tigris.org/tools_contrib.html#hook_scripts"&gt;commit-email.pl&lt;/a&gt;
via Google. But it turned out that script is deprecated and the
newer/cooler version
is &lt;a href="http://subversion.tigris.org/tools_contrib.html#hook_scripts"&gt;mailer.py&lt;/a&gt;. However
there is not so much information on how to use the latter although it
is not so complicated, so here is a quick note.&lt;/p&gt;

&lt;p&gt;To get the script, there is a package in the repo
called &lt;code&gt;subversion-tools&lt;/code&gt;, it will install a couple of
scripts inside &lt;code&gt;/usr/share/subversion/hook-scripts/&lt;/code&gt; and
one of them is &lt;code&gt;mailer.py&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mailer.py&lt;/code&gt; needs an configuration file, and if not
specified, it will search for a file called &lt;code&gt;mailer.conf&lt;/code&gt;
in your svn repo&amp;#8217;s &lt;code&gt;conf&lt;/code&gt; folder. You can find an
example configuration file inside the same folder where
the &lt;code&gt;mailer.py&lt;/code&gt; script stays. I copied that example
to &lt;code&gt;/var/svn/repos/conf/&lt;/code&gt; (you may want to change it to
match your svn repo path) and changed the content to match the setting
I prefer. There are plenty of comments inside the file so you will
mostly figure out everything easily. A stripped version of
my &lt;code&gt;mailer.conf&lt;/code&gt; looks as following: &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[general]
mail_command = /usr/sbin/sendmail
smtp_hostname = localhost

[defaults]
diff = /usr/bin/diff -u -L %(label_from)s -L %(label_to)s %(from)s %(to)s
commit_subject_prefix = [SVN-Commit]
propchange_subject_prefix =
lock_subject_prefix =
unlock_subject_prefix =
from_addr = admin@mydomain.com
to_addr = receiver1@mydomain.com receiver2@mydomain.com
reply_to =
generate_diffs = add copy modify
commit_url = https://trac.mydomain.com/changeset/%(rev)s
show_nonmatching_paths = yes

[maps]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When the configuration file is in place, the next thing needs to be
done is enable the actual hook. You will find several script template
inside the &lt;code&gt;hooks&lt;/code&gt; folder of your svn repo. Rename the one
called &lt;code&gt;post-commit.tmpl&lt;/code&gt; to &lt;code&gt;post-commit&lt;/code&gt; and
make it &lt;strong&gt;executable&lt;/strong&gt;. The content of it is very simple,
just replace the last line with &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/usr/share/subversion/hook-scripts/mailer/mailer.py commit "$REPOS" "$REV"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That&amp;#8217;s it. Next time when some one commits some code, the
post-commit hook will trigger the &lt;code&gt;mailer.py&lt;/code&gt; script and
all the addresses in the &lt;code&gt;to_addr&lt;/code&gt; field of the
configuration file will receive an notification email.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-3871231473145426046?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=9EzBJ2WORBw:6ax0k0FhYMA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=9EzBJ2WORBw:6ax0k0FhYMA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=9EzBJ2WORBw:6ax0k0FhYMA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=9EzBJ2WORBw:6ax0k0FhYMA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=9EzBJ2WORBw:6ax0k0FhYMA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=9EzBJ2WORBw:6ax0k0FhYMA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/9EzBJ2WORBw" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-12T23:35:44.872+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>A quick follow-up to Do/Docky</title><link>http://blog.pengdeng.com/2009/01/quick-follow-up-to-dodocky.html</link><category>Gnome Do</category><category>Docky</category><category>Remember The Milk</category><category>plugin</category><category>Bug</category><category>Compiz</category><author>noreply@blogger.com (Peng)</author><pubDate>Fri, 30 Jan 2009 02:32:10 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-6777687285039030361</guid><description>&lt;p class='center'&gt;&lt;img title='' alt='Magic Lamp &amp;amp; Docky' src='http://lh4.ggpht.com/_4F2P0FQZ3bE/SYJxbK5JIBI/AAAAAAAABQE/MHPYxHfzUGw/s400/2009-01-30-041417_1920x1200_scrot.png'/&gt;&lt;/p&gt;

 &lt;p&gt;If you just started using Do with Docky, maybe there are two or three
 small things you want to know:&lt;/p&gt;

 &lt;ol&gt;
   &lt;li&gt;&lt;p&gt;Adjust the dock size and zoom ratio precisely.&lt;/p&gt;

   &lt;p&gt;This can be done using &lt;code&gt;gconf-editor&lt;/code&gt; a.k.a “Configuration
   Editor”. Go to &lt;strong&gt;&lt;code&gt;apps/gnome-do/Docky/Utiliteis/DockPreferences&lt;/code&gt;&lt;/strong&gt;,
   on the right side, you can find &lt;strong&gt;IconSize&lt;/strong&gt; and &lt;strong&gt;ZoomPercent&lt;/strong&gt;. I
   like to have 48 for the former, which is the smallest size that
   allows summon mode to have 2 lines. And I use 1.5 for the latter
   cause default 2.0 feels just too huge to me ;)&lt;/p&gt;&lt;/li&gt;
   &lt;li&gt;&lt;p&gt;If you have encountered &lt;a href='http://b.pengdeng.com/2008/10/remember-milk-plugin-for-gnome-do-video.html?showComment=1233205260000#c614127306225732462'&gt;this issue&lt;/a&gt; with &lt;strong&gt;Remember The Milk&lt;/strong&gt;
   plugin I coded, there is already a quick fix but it is too late to
   get it included in the final release. Though you can find the DLL
   file with the fix here if you really need it:
   &lt;a href='http://dl.getdropbox.com/u/110544/do-plugins/RTM.dll'&gt;http://dl.getdropbox.com/u/110544/do-plugins/RTM.dll&lt;/a&gt;. Overwrite
   the file
   &lt;code&gt;~/.local/share/gnome-do/plugins-0.8.0/addins/Do.RememberTheMilk.1.0/RTM.dll&lt;/code&gt;
   with the new one.&lt;/p&gt;&lt;/li&gt;
   &lt;li&gt;&lt;p&gt;Now that you have &lt;em&gt;the dock&lt;/em&gt;, you may miss the “Genie” effect for
   minimizing windows like how windows are minimized in Mac OS
   X. Since “Genie” is &lt;a href='http://www.appleinsider.com/articles/04/10/06/apple_receives_patent_for_genie_dock_effect.html'&gt;protected by patent&lt;/a&gt;, Compiz decides to
   disable the option to set “max wave size” of its “Magic Lamp”
   effect to 0 so that you can not mimic the “Genie” effect with
   it. While I use to recompile the whole compiz package to get around
   this limitation, there is easier way to do this if you know how to
   &lt;a href='http://www.google.com/search?q=compiz+magic+lamp+0+waves'&gt;search in Google&lt;/a&gt;. Just in case you need a HEX editor, Emacs’s
   &lt;strong&gt;hexl-mode&lt;/strong&gt; can actually handle it pretty well.&lt;/p&gt;&lt;/li&gt;
 &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-6777687285039030361?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Yf7d6aqFcSw:mw_ZQpvbZyI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Yf7d6aqFcSw:mw_ZQpvbZyI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=Yf7d6aqFcSw:mw_ZQpvbZyI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Yf7d6aqFcSw:mw_ZQpvbZyI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=Yf7d6aqFcSw:mw_ZQpvbZyI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Yf7d6aqFcSw:mw_ZQpvbZyI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/Yf7d6aqFcSw" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-30T11:32:10.732+01:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_4F2P0FQZ3bE/SYJxbK5JIBI/AAAAAAAABQE/MHPYxHfzUGw/s72-c/2009-01-30-041417_1920x1200_scrot.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><title>Do 0.8: Rock out with your dock out</title><link>http://blog.pengdeng.com/2009/01/do-08-rock-out-with-your-dock-out.html</link><category>Gnome Do</category><category>Docky</category><category>release</category><author>noreply@blogger.com (Peng)</author><pubDate>Fri, 30 Jan 2009 02:32:29 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-7259656160996611028</guid><description>&lt;p class="center"&gt;&lt;a href="http://lh6.ggpht.com/_4F2P0FQZ3bE/SWoJZLoXGqI/AAAAAAAABNw/aeNSuz0hqWk/docky1.png"&gt;&lt;img src="http://lh6.ggpht.com/_4F2P0FQZ3bE/SWoJZLoXGqI/AAAAAAAABNw/aeNSuz0hqWk/s400/docky1.png" alt="Docky" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today is a big day for all Do users and developers, cause 0.8 a.k.a
&amp;#8220;Rock Out With Your Dock Out (ROWYDO)&amp;#8221; is &lt;em&gt;finally&lt;/em&gt; &lt;a href="http://do.davebsd.com/release.shtml"&gt;released&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;As some of you have already known from the alpha/beta testing, the
biggest highlight of this release is this awesome new UI &amp;#8212;
&amp;#8220;Docky&amp;#8221;. Docky is another interface for Do, yet it introduces an
entirely new way to use Do. It preserves all Do&amp;#8217;s original
functionalities and keyboard-based interaction philosophy while it
provides a smooth dock with parabolic effect which introduces
mouse-based interaction to Do and makes it very enjoyable to play with
your most frequently used applications, directories etc. You can find
more information about Docky here at &lt;a href="http://do.davebsd.com/wiki/index.php?title=Docky"&gt;this wiki page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The new Do also has a lot of improvements over the previous
version. Many bugs have been fixed and a new architecture has been applied,
which make Do more stable, consume less memory and have the potential
to be cross-platform in the future.&lt;/p&gt;

&lt;p&gt;There are certainly also improvements to plugins and many more new
plugins become available. Twitter plugin has been renamed to
&amp;#8220;Microblogging&amp;#8221;, with the new ability to post to Identi.ca; &lt;em&gt;&lt;a href="http://do.davebsd.com/wiki/index.php?title=RememberTheMilk_Plugin"&gt;Remember
the Milk&lt;/a&gt;&lt;/em&gt; and &lt;em&gt;Ping.FM&lt;/em&gt; plugins are also included as communicty
plugins in this release :). You probably would be surprised while
looking through the list of all these useful plugins &amp;#8212; almost 70 of
them :).&lt;/p&gt;

&lt;p&gt;If you want to find more more about this release, please check out
&lt;a href="http://blog.davebsd.com/2009/01/29/gnome-do-08-rock-out-with-your-dock-out/"&gt;David&lt;/a&gt;, &lt;a href="http://jassmith.wordpress.com/2009/01/29/gnomedo080release"&gt;Jason&lt;/a&gt;, &lt;a href="http://www.lamalex.net/2009/01/hide-your-daughters-gnome-do-08-is-released/"&gt;Alex&lt;/a&gt;, &lt;a href="http://www.cimitan.com/blog/2009/01/30/do-it-yes-go-and-download-do-08/"&gt;Cimi&lt;/a&gt;, &lt;a href="http://kallepersson.se/blog/2009/01/29/do-08-is-released/"&gt;Kalle&lt;/a&gt; or &lt;a href="http://mrooney.blogspot.com/2009/01/gnome-do-08-released-awesomeness-ensues.html"&gt;Michael's&lt;/a&gt; blogs.  To start using the
new Do, add &lt;a href="https://launchpad.net/~do-core/+archive/ppa"&gt;Do&amp;#8217;s PPA&lt;/a&gt; to your software package repositories, and
update/install &amp;#8220;&lt;code&gt;gnome-do&lt;/code&gt;&amp;#8221; and &amp;#8220;&lt;code&gt;gnome-do-plugins&lt;/code&gt;&amp;#8221; . If you don't use Ubuntu, check out the &lt;a href="http://do.davebsd.com/download.shtml"&gt;download&lt;/a&gt; page for more specific information for your distribution. You can also
compile it yourself from the source code according to the
&lt;a href="http://do.davebsd.com/wiki/index.php?title=Installing_Do"&gt;installation guide&lt;/a&gt;. If you encounter any problem while using
Do, please report it via the &lt;a href="http://bugs.launchpad.net/do"&gt;bug track&lt;/a&gt; at Launchpad (while if
it&amp;#8217;s a plugin bug, you should file it &lt;a href="http://bugs.launchpad.net/do-plugins"&gt;here&lt;/a&gt; instead), or discuss
it with other Do user and Do developers at the IRC channel
(irc.freenode.net, #gnome-do).&lt;/p&gt;

&lt;p&gt;For all these awesomeness, I want to thank everyone who has
contributed to and supported this project, especially our core
developers!  David, Jason, Alex, you guys really make Do one of the best
apps in my system and an essential program to my every day use! I&amp;#8217;m
also very happy to contribute some code to Do, it just feels so right
to do something useful to an app that brings so much convenience to my
life.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-7259656160996611028?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Z7seWfz44_E:WsD_Q-obg6Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Z7seWfz44_E:WsD_Q-obg6Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=Z7seWfz44_E:WsD_Q-obg6Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Z7seWfz44_E:WsD_Q-obg6Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=Z7seWfz44_E:WsD_Q-obg6Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Z7seWfz44_E:WsD_Q-obg6Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/Z7seWfz44_E" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-30T11:32:29.080+01:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_4F2P0FQZ3bE/SWoJZLoXGqI/AAAAAAAABNw/aeNSuz0hqWk/s72-c/docky1.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Manually Make an External Disk Bootable Using GRUB</title><link>http://blog.pengdeng.com/2009/01/manually-make-external-disk-bootable.html</link><category>MBR</category><category>GRUB</category><category>Linux</category><category>Boot</category><category>Installation</category><category>Hard disk</category><author>noreply@blogger.com (Peng)</author><pubDate>Wed, 28 Jan 2009 06:18:43 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-650343142484897189</guid><description>&lt;p&gt;Yesterday I was facing a corrupt Linux system which needs a
 re-installation. I didn’t have the right to modify the boot order
 stored in the BIOS and the only thing boots before internal hard drive
 is the USB device. I had an external hard disk handy but I was
 surprised that the USB start-up disk creation tool in Ubuntu didn’t
 recognize my disk — does it only support flash memory devices? I then
 decided to manually make the USB hard disk bootable and boot it into
 Ubuntu’s hard disk installation kernel. Since it took me some effort to
 get to the preferable result from Google, I put the steps here in case
 anyone including myself needs it in the future.&lt;/p&gt;

 &lt;p&gt;Prerequisite: A running Linux system to format the external disk,
 transfer files and setup GRUB. I use my Ubuntu laptop here.&lt;/p&gt;

 &lt;ol&gt;
   &lt;li&gt;&lt;p&gt;&lt;strong&gt;Create a partition on the external disk&lt;/strong&gt;&lt;/p&gt;

   &lt;p&gt;The size should be enough to contain an Ubuntu alternative
   installation images plus GRUB files and kernel images, 800 MB would
   be a safe guess. (If you want to install any other distribution
   e.g. Fedora, the size should be adjusted to be capable of storing
   the CD/DVD image size of that distribution). The format I used was
   &lt;strong&gt;ext3&lt;/strong&gt;, I think any file system that GRUB supports and the
   installation kernel can search the CD/DVD image from should be
   OK. To create the partition, I used GParted, while you can use any
   of the partition tool that fits your taste. After creating the
   partition, you should know the device id of it (e.g. /dev/sdb1) and
   mount it to you system if it is not automatically mounted.&lt;/p&gt;&lt;/li&gt;
   &lt;li&gt;&lt;p&gt;&lt;strong&gt;Setup the directory structure and copy necessary files&lt;/strong&gt;&lt;/p&gt;

   &lt;ul&gt;
  &lt;li&gt;&lt;p&gt;First copy the alternative installation image onto the newly
  created partition.&lt;/p&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;Then create a &lt;em&gt;boot&lt;/em&gt; folder containing a &lt;em&gt;grub&lt;/em&gt; folder. You can
  use command &lt;code&gt;mkdir -p /boot/grub&lt;/code&gt; to do it in one pass. If there
  is any problem performing write operation in the partition,
  change the owner of the mount point of this partition to
  yourself. (&lt;code&gt;sudo chown -R user:user /media/&amp;lt;mount point of the
  partition&amp;gt;&lt;/code&gt;)&lt;/p&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;Now you can copy all GRUB files to &lt;code&gt;/boot/grub&lt;/code&gt; from
  &lt;code&gt;/usr/lib/grub/i386-pc/&lt;/code&gt; of your running Ubuntu system. You can
  also create a menu.lst file here which makes it automatically
  boot the installation kernel files, but it is not necessary as
  you can simply issue the 4 lines of commands after booted into
  the GRUB console. (see the last paragraph of this post)&lt;/p&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;Last files to copy are the kernel images, normally &lt;strong&gt;vmlinuz&lt;/strong&gt;
  and &lt;strong&gt;initrd.gz&lt;/strong&gt;. They can be downloaded from Ubuntu’s repo at
  &lt;a href='http://archive.ubuntu.com/ubuntu/dists/intrepid/main/installer-i386/current/images/hd-media/'&gt;http://archive.ubuntu.com/ubuntu/dists/intrepid/main/installer-i386/current/images/hd-media/&lt;/a&gt;
  and should be put into &lt;code&gt;/boot/&lt;/code&gt;. The release and the platform
  string should be changed according to the target system.&lt;/p&gt;&lt;/li&gt;
   &lt;/ul&gt;&lt;/li&gt;
   &lt;li&gt;&lt;p&gt;&lt;strong&gt;Setup GRUB&lt;/strong&gt;&lt;/p&gt;

   &lt;ul&gt;
  &lt;li&gt;&lt;p&gt;Enter the GRUB console as root.&lt;/p&gt;

  &lt;pre&gt;&lt;code&gt;$ sudo grub
  &lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;Change root to your new partition. (e.g. /dev/sdb1)&lt;/p&gt;

  &lt;pre&gt;&lt;code&gt;grub&amp;gt; root (hd1,1)
  &lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;Setup GRUB. This will look for the essential files in the
  partition and write proper data into the MBR of your external
  disk to make it bootable.&lt;/p&gt;

  &lt;pre&gt;&lt;code&gt;grub&amp;gt; setup (hd1)
  &lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;You should see some output of a successful installation and now
  it’s time to quit from the GRUB console and start installing a
  new system using this external hard disk.&lt;/p&gt;

  &lt;pre&gt;&lt;code&gt;grub&amp;gt; quit
  &lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
   &lt;/ul&gt;&lt;/li&gt;
 &lt;/ol&gt;

 &lt;p&gt;When the target PC starts with the external disk plugged, it will boot
 into the GRUB console, you can then use &lt;code&gt;root&lt;/code&gt;, &lt;code&gt;kernel&lt;/code&gt;, &lt;code&gt;initrd&lt;/code&gt; and
 &lt;code&gt;boot&lt;/code&gt; command to find and boot the kernel image files. Following is
 how I used the commands in details. Please be aware of the possibility
 that the hard disk order is not the same as on you other system. You
 might need some “heuristic” to get to the right partition. (&lt;code&gt;TAB&lt;/code&gt;
 rocks!)&lt;/p&gt;

 &lt;pre&gt;&lt;code&gt;root (hd0,1) &amp;lt;ENTER&amp;gt;
kernel /boot/vmlinuz &amp;lt;ENTER&amp;gt;
initrd /boot/initrd.gz &amp;lt;ENTER&amp;gt;
boot&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-650343142484897189?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=jTUGBByoZWE:tPH8aW8tY9k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=jTUGBByoZWE:tPH8aW8tY9k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=jTUGBByoZWE:tPH8aW8tY9k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=jTUGBByoZWE:tPH8aW8tY9k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=jTUGBByoZWE:tPH8aW8tY9k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=jTUGBByoZWE:tPH8aW8tY9k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/jTUGBByoZWE" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-28T15:18:43.051+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Simple Remote Control with Dropbox</title><link>http://blog.pengdeng.com/2008/12/simple-remote-control-with-dropbox.html</link><category>synchronization</category><category>Dropbox</category><category>shell script</category><category>remote control</category><author>noreply@blogger.com (Peng)</author><pubDate>Sun, 11 Jan 2009 09:05:03 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-3322777927751209764</guid><description>&lt;p class="center"&gt;&lt;img src="http://wiki.getdropbox.com/FrontPage?action=AttachFile&amp;do=get&amp;target=sandbox250px_small.jpg" alt="Dropbox" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.getdropbox.com/home"&gt;Dropbox&lt;/a&gt; is a fantastic application for unobstructive
synchronization of files between multiple computers running different
operating systems. Everything happens seamlessly behind the scene. The
more I use it the more I feel thankful to the creators and devs.
Today I found out a new use of Dropbox &amp;#8212; a simple remote control
tool. All you need is Dropbox and some shell scripts.&lt;/p&gt;

&lt;h4&gt;The Scenario&lt;/h4&gt;

&lt;p&gt;Why I would have come up with such an idea? The story is: I have a PC
at home which I would like to access from the lab in the institute. It
is reachable only if it&amp;#8217;s connected to the VPN network in the
campus. However, the VPN connection is sometimes not very stable and
could die with no reason, not to say the server will automatically
terminate a connection from outside of the university every 4 hours.&lt;/p&gt;

&lt;p&gt;Therefore I really want to find a way to remotely issue commands on my
home PC (which is unreachable), let it connect to the VPN network and
report the IP address to me. With Dropbox, its very easy to do.&lt;/p&gt;

&lt;h4&gt;The Solution&lt;/h4&gt;

&lt;p&gt;I create a cron job on the home PC, which checks a text file
(&lt;code&gt;command.txt&lt;/code&gt;) inside my Dropbox folder every minute, when its not
empty, execute the content of the file (and clear the file). On the
lab PC, I can simply put the command I want to execute into the same
file &amp;#8212; since its synchronized seconds after I made the modification,
it will soon be executed at home. And for reporting IP address, I
wrote a wrapper script which runs on home PC to check the VPN status
after connecting and redirect the IP address information into another
text file (&lt;code&gt;ip.txt&lt;/code&gt;) inside Dropbox folder. So when I am in the lab, I
put the VPN wrapper script&amp;#8217;s name inside the &lt;code&gt;command.txt&lt;/code&gt;, maximum a
minute later, I check the ip.txt. Now I can ssh to my home PC and do
what ever I want.&lt;/p&gt;

&lt;h4&gt;The Script&lt;/h4&gt;

&lt;p&gt;I put up together a script which does both the adding command and the
checking-then-running command job. I call it &amp;#8220;dbrun&amp;#8221; which is short for
&amp;#8220;Dropbox Run&amp;#8221;. It can be download &lt;a href="http://http://dl.getdropbox.com/u/110544/dbrun"&gt;here&lt;/a&gt; (right-click and save).&lt;/p&gt;

&lt;p&gt;Installation &amp;amp; Usage:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Make sure Dropbox daemon is up and running in both systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Put &lt;code&gt;dbrun&lt;/code&gt; in both the controlling and controlled systems. I
prefer the directory &lt;code&gt;~/.local/bin&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make it executable if it&amp;#8217;s not. &lt;code&gt;chmod +x dbrun&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a cron job to run &lt;code&gt;dbrun&lt;/code&gt; in a short interval (e.g. 1 min)
in the controlled system. I do this by creating a file &lt;code&gt;crontab&lt;/code&gt;
inside &lt;code&gt;~/.local/etc&lt;/code&gt; and then run &lt;code&gt;crontab ~/.local/etc/crontab&lt;/code&gt;.
The content of the file is:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/pdeng/.local/bin
*/1 *   *   *   *   dbrun
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You may have noticed since I put &lt;code&gt;dbrun&lt;/code&gt; in &lt;code&gt;~/.local/bin&lt;/code&gt;, I
include this directory in the &lt;code&gt;$PATH&lt;/code&gt; environment
variable. (Actually other scripts like my VPN wrapper is also
there, so I have to do this).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now to issue a command, run &lt;code&gt;dbrun 'new command'&lt;/code&gt; in the
controlling system, you will notice the Dropbox systray icon start
animating to indicate the synchronization of the modified
&lt;code&gt;command.txt&lt;/code&gt; file. The &amp;#8220;new command&amp;#8221; will be executed soon in the
controlled system.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The default location I use to store the &lt;code&gt;command.txt&lt;/code&gt; file in the
script is &lt;code&gt;~/Dropbox/command.txt&lt;/code&gt;. You can change it to whatever you
like by opening the script and changing the value of &lt;code&gt;cmdfile&lt;/code&gt;(around
line 11).&lt;/p&gt;

&lt;h3&gt;Security Concern&lt;/h3&gt;

&lt;p&gt;It is possible to modify the script to let it only run filtered safe
commands you selected yourself. But as long as you are not stupid
enough to mark the &lt;code&gt;command.txt&lt;/code&gt; as &amp;#8220;shared&amp;#8221; in your Dropbox and you
don&amp;#8217;t run the script as root, I don&amp;#8217;t see (for now) too much danger.
Maybe I am too naïve so please let me know in the comment if there is
any potential security issue that I overlooked. After all, I only let
it help getting my home PC reachable and SSH will be used to finish
all other things afterward.&lt;/p&gt;

&lt;p&gt;Update: I just did a quick check on Dropbox's wiki (didn't know about this wiki before) and there is already &lt;a href="http://wiki.getdropbox.com/TipsAndTricks/RemoteControl"&gt;a similar solution&lt;/a&gt; for remote control. The advantages of that one is a) it has smaller granularity as it runs in a big loop and check the file every 10 seconds. b) it redirect the output into another file which can be very useful sometimes. Maybe next I should do some search in Google before writing on my own, hehe ...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-3322777927751209764?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Mf--cZRh2mc:vtQD2GAnsLU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Mf--cZRh2mc:vtQD2GAnsLU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=Mf--cZRh2mc:vtQD2GAnsLU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Mf--cZRh2mc:vtQD2GAnsLU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=Mf--cZRh2mc:vtQD2GAnsLU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=Mf--cZRh2mc:vtQD2GAnsLU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/Mf--cZRh2mc" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-11T18:05:03.457+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Integrate Remember The Milk's Tasks into Evolution</title><link>http://blog.pengdeng.com/2008/12/integrate-remember-milks-tasks-into.html</link><category>Gnome</category><category>Evolution</category><category>Remember The Milk</category><author>noreply@blogger.com (Peng)</author><pubDate>Thu, 07 May 2009 12:44:42 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-471057675941090476</guid><description>&lt;p class="center"&gt;&lt;img src="http://lh5.ggpht.com/_4F2P0FQZ3bE/SUMJBgYf23I/AAAAAAAABCY/IfhkncC5u3Y/s800/clock-applet.png" alt="Clock applet with Remember the Milk task list" /&gt;&lt;/p&gt;

&lt;p&gt;Today&amp;#8217;s Lifehacker has an article about &lt;a href="http://lifehacker.com/5108371/integrate-googles-apps-into-evolution-for-linux"&gt;how to integrate Google&amp;#8217;s
Apps into Evolution&lt;/a&gt;, which reminds me I always want to integrate
Remember The Milk&amp;#8217;s task list into evolution and eventually let it
show in the nice looking drop down window of the clock applet on
GNOME&amp;#8217;s panel.&lt;/p&gt;

&lt;p&gt;It should be easy because with the latest (at least, don&amp;#8217;t know about
previous version) Evolution you can create new task list of the type
&amp;#8220;On The Web&amp;#8221;, for which you will need a webcal URL which you can find
at Remember The Milk&amp;#8217;s &lt;em&gt;Info&lt;/em&gt; page (Using the &lt;em&gt;Settings&lt;/em&gt; link in the
upper right corner of your RTM webpage, and you will see the &lt;em&gt;Info&lt;/em&gt;
tab).&lt;/p&gt;

&lt;p&gt;Well if you just fill in the URL and your username, you probably will
get an error about some sort of authorization problem. Here is the
workaround: simply add username &amp;amp; password combination into the
address string as seen in the picture below.&lt;/p&gt;

&lt;p class="center"&gt;&lt;img src="http://lh4.ggpht.com/_4F2P0FQZ3bE/SUMJBUP3u5I/AAAAAAAABCQ/zGHn9riI4e8/s800/rtm-revolution.png" alt="New Task List Settings" /&gt;&lt;/p&gt;

&lt;p&gt;After the task list is created, you will be asked for the password
again (you may want to choose remember it as well), and then you
should see all the tasks in you RTM account, incomplete or completed,
be retrieved from the server. And meanwhile in the drop down window of
the clock applet, all incomplete task should appear.&lt;/p&gt;

&lt;p&gt;Quite like how Evolution handled Google Calendar before, the RTM task
list is, for the time being, read-only, i.e. you can only see them but
not add/remove/mark as complete etc. However, for me, this is exactly
where &lt;a href="http://pengdeng.blogspot.com/2008/10/remember-milk-plugin-for-gnome-do-video.html"&gt;RTM plugin of GNOME Do&lt;/a&gt; should play its role, the integration
just gives me a better way to keep an eye on the tasks.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-471057675941090476?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=yN-NtxUhzBA:ROZ18XYd3z0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=yN-NtxUhzBA:ROZ18XYd3z0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=yN-NtxUhzBA:ROZ18XYd3z0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=yN-NtxUhzBA:ROZ18XYd3z0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=yN-NtxUhzBA:ROZ18XYd3z0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=yN-NtxUhzBA:ROZ18XYd3z0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/yN-NtxUhzBA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-07T21:44:42.181+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_4F2P0FQZ3bE/SUMJBgYf23I/AAAAAAAABCY/IfhkncC5u3Y/s72-c/clock-applet.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">11</thr:total></item><item><title>How to get high-resolution Netbeans icon on Linux</title><link>http://blog.pengdeng.com/2008/11/how-to-get-high-resolution-netbeans.html</link><category>Gnome Do</category><category>dock</category><category>icon</category><category>Netbeans</category><author>noreply@blogger.com (Peng)</author><pubDate>Fri, 21 Nov 2008 09:40:28 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-6739248097691095155</guid><description>&lt;p class='center'&gt;&lt;img title='' alt='Netbeans Icon' src='http://lh3.ggpht.com/_4F2P0FQZ3bE/SSbWq_tt8iI/AAAAAAAAA_0/lJlYbPffCWo/screenshot-gnomedo-dock-netbeans-02.png'/&gt;&lt;/p&gt;

   &lt;p&gt;I always like to have nice looking icons for my application
   launchers. Especially when using GNOME Do, launchers with icon
   smaller than 128x128 pixels looks always like shit.&lt;/p&gt;

   &lt;p&gt;So choosing a good icon theme is very important for me. I am currently
   using the “Gnome Brave” theme from &lt;a href='http://www.gnome-look.org/content/show.php/GNOME-colors?content=82562'&gt;Gnome-colors&lt;/a&gt; package, it
   provides a wide-range of scalable icons in SVG format, meaning these
   icons can fit into any size required.&lt;/p&gt;

   &lt;p&gt;However there are always some apps that the theme hasn’t cover, like
   eclipse, Netbeans etc. In this case, I have to look for good quality
   icons for them, which can be very hard sometimes.&lt;/p&gt;

   &lt;p&gt;I actually have been trying to find a high-res icon for my Netbeans
   but haven’t had any luck. But today when I searched again and came
   across some pictures of how Netbeans launcher looks on Mac’s dock, I
   saw a very large, slick icon. Then I looked into Netbeans folder and
   noticed there was a file with extension &lt;code&gt;.icns&lt;/code&gt;. It turned out this is
   one of the icon file formats used by Apple on Mac. And luckily enough,
   on Linux there is an utility, &lt;strong&gt;icns2png&lt;/strong&gt; which extracts the PNG
   files contained inside .icns file.&lt;/p&gt;

   &lt;p&gt;If you use Ubuntu/Debian, this tool is right in the repository so just
   install the &lt;strong&gt;icnsutils&lt;/strong&gt; package. Then by issuing the following
   command in a terminal, you can extract the 128x128-pixel 32-bit PNG
   file from the Netbeans.icns file:&lt;/p&gt;

   &lt;pre&gt;&lt;code&gt;icns2png -x -s 128 -d 32 netbeans.icns
   &lt;/code&gt;&lt;/pre&gt;

   &lt;p&gt;BTW: if you also need an icon for Eclipse, I found one with Tango
   style in SVG format here:
   &lt;a href='http://www.gnome-look.org/content/show.php?content=45585'&gt;http://www.gnome-look.org/content/show.php?content=45585&lt;/a&gt;&lt;/p&gt;

   &lt;p class='center'&gt;&lt;a href='http://lh4.ggpht.com/_4F2P0FQZ3bE/SSbWquiLsoI/AAAAAAAAA_s/2C4iarITh9Y/screenshot-gnomedo-dock-netbeans-01.png'&gt;&lt;img title='' alt='Netbeans on Do Dock' src='http://lh4.ggpht.com/_4F2P0FQZ3bE/SSbWquiLsoI/AAAAAAAAA_s/2C4iarITh9Y/s400/screenshot-gnomedo-dock-netbeans-01.png'/&gt;&lt;/a&gt;&lt;/p&gt;

   &lt;p&gt;And if you are curious what the app is in the screenshots, it is a new
   interface in development for GNOME Do, a dock implementation which
   also provides basic Do functionalities. It is so far the best dock
   I’ve ever used on Linux.&lt;/p&gt;
  
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I just updated the Gnome-colors theme and they include an tangoish Eclipse icon. So if you are using this theme, you can save some effort, but please notice, the one used by Gnome-colors is another version which doesn't have the 3 horizontal stripes in design.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-6739248097691095155?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=rKEkVJ6Kia8:iKBFTbgkMfk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=rKEkVJ6Kia8:iKBFTbgkMfk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=rKEkVJ6Kia8:iKBFTbgkMfk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=rKEkVJ6Kia8:iKBFTbgkMfk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=rKEkVJ6Kia8:iKBFTbgkMfk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=rKEkVJ6Kia8:iKBFTbgkMfk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/rKEkVJ6Kia8" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-21T18:40:28.148+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><title>Updates to Ping.FM and Remember The Milk plugin</title><link>http://blog.pengdeng.com/2008/11/updates-to-pingfm-and-remember-milk.html</link><category>Gnome Do</category><category>Ping.FM</category><category>Remember The Milk</category><category>plugin</category><author>noreply@blogger.com (Peng)</author><pubDate>Wed, 07 Jan 2009 07:19:37 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-3911099298044828656</guid><description>&lt;p&gt;Due to the recent changes to GNOME Do’s plugin API, I updated the code
   for &lt;strong&gt;Remember The Milk&lt;/strong&gt; and &lt;strong&gt;Ping.FM&lt;/strong&gt; plugin, mostly by using
   &lt;code&gt;IEnumerable&lt;/code&gt; to replace the arrays. &lt;/p&gt;

   &lt;p&gt;The new code has been pushed to their launchpad address respectively,
   but they won’t be compatible with the current release of GNOME Do, &lt;del&gt;and
   not even the code in &lt;em&gt;&lt;a href='https://code.launchpad.net/do/trunk'&gt;trunk&lt;/a&gt;&lt;/em&gt; can use this version. You may need
   them &lt;strong&gt;only&lt;/strong&gt; if you are using the code from “&lt;em&gt;&lt;a href='https://code.launchpad.net/~do-core/do/future'&gt;future&lt;/a&gt;&lt;/em&gt;” branch.&lt;/del&gt; You need this version only if your Do is compiled from the source code of current development version.&lt;/p&gt;

   &lt;p&gt;There are the compiled binaries from the latest code:&lt;/p&gt;

   &lt;ul&gt;
  &lt;li&gt;&lt;a href='http://dl.getdropbox.com/u/110544/do-plugins/PingFM.dll'&gt;Ping.FM.dll&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href='http://dl.getdropbox.com/u/110544/do-plugins/RTM.dll'&gt;RTM.dll&lt;/a&gt;&lt;/li&gt;
   &lt;/ul&gt;

   &lt;p&gt;Old versions (which should be used with all released versions of Do, recommended version is 0.6.0+ &lt;del&gt;except
   &lt;em&gt;future&lt;/em&gt;&lt;/del&gt;)&lt;/p&gt;

   &lt;ul&gt;
  &lt;li&gt;&lt;a href='http://dl.getdropbox.com/u/110544/do-plugins/old/PingFM.dll'&gt;Ping.FM.dll&lt;/a&gt; (rev 266)&lt;/li&gt;
  &lt;li&gt;&lt;a href='http://dl.getdropbox.com/u/110544/do-plugins/old/RTM.dll'&gt;RTM.dll&lt;/a&gt; (rev 271)&lt;/li&gt;
   &lt;/ul&gt;

   &lt;p&gt;When you decide to checkout the code and compile them yourself, you
   should use the arguements &lt;code&gt;-r revno:271&lt;/code&gt; for RTM and &lt;code&gt;-r revno:266&lt;/code&gt;
   for Ping.FM if your Do installation is not of development version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; David has merged the code of both RTM and Ping.FM plugin
into community plugin, so you now you can also check out the code at
&lt;code&gt;lp:do-plugins/community&lt;/code&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-3911099298044828656?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=HXRUS4YZ0OI:VwtCaNtFhQc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=HXRUS4YZ0OI:VwtCaNtFhQc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=HXRUS4YZ0OI:VwtCaNtFhQc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=HXRUS4YZ0OI:VwtCaNtFhQc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=HXRUS4YZ0OI:VwtCaNtFhQc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=HXRUS4YZ0OI:VwtCaNtFhQc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/HXRUS4YZ0OI" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-07T16:19:37.874+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>My Emacs Color Theme</title><link>http://blog.pengdeng.com/2008/11/my-emacs-color-theme.html</link><category>sunburst</category><category>emacs</category><author>noreply@blogger.com (Peng)</author><pubDate>Sun, 02 Nov 2008 09:10:16 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-8444960560137329706</guid><description>&lt;p class='center'&gt;&lt;img title='' alt='Emacs Sunburst' src='http://lh3.ggpht.com/_4F2P0FQZ3bE/SQ3bqqC3cpI/AAAAAAAAA9s/66NHwYC0x0I/screenshot-emacs-sunburst.png'/&gt;&lt;/p&gt;

 &lt;p&gt;This is my emacs color theme, adjust based on the &lt;a href='http://projects.serenity.de/textmate/'&gt;“Sunburst”&lt;/a&gt; theme
 for TextMate which is created by &lt;a href='http://wiki.macromates.com/Profiles/Soryu'&gt;Soryu&lt;/a&gt;.&lt;/p&gt;

 &lt;p&gt;The el file can be found here:
 &lt;a href='http://p3n9.kilu.de/color-theme-sunburst.el'&gt;http://p3n9.kilu.de/color-theme-sunburst.el&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-8444960560137329706?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ZLsuEJKaNLs:cNvahuTYr9g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ZLsuEJKaNLs:cNvahuTYr9g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=ZLsuEJKaNLs:cNvahuTYr9g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ZLsuEJKaNLs:cNvahuTYr9g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=ZLsuEJKaNLs:cNvahuTYr9g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ZLsuEJKaNLs:cNvahuTYr9g:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/ZLsuEJKaNLs" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-02T18:10:16.691+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>Remember The Milk plugin for GNOME Do (video)</title><link>http://blog.pengdeng.com/2008/10/remember-milk-plugin-for-gnome-do-video.html</link><category>Gnome Do</category><category>Video</category><category>Remember The Milk</category><category>plugin</category><author>noreply@blogger.com (Peng)</author><pubDate>Sat, 03 Jan 2009 07:25:04 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-4510118505861863975</guid><description>&lt;object width="480" height="360"&gt;&lt;param name="movie" value="http://www.youtube.com/v/7X2a68X7Aq0&amp;hl=en&amp;fs=1&amp;ap=%2526fmt%3D18"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/7X2a68X7Aq0&amp;hl=en&amp;fs=1&amp;ap=%2526fmt%3D18" type="application/x-shockwave-flash" allowfullscreen="true" width="480" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;Just finished it, more information about it is coming soon.&lt;/p&gt;

&lt;p&gt;Source code can be grabbed from here: &lt;a href="http://code.launchpad.net/~do-plugins/do-plugins/community" title="Code branch at Launchpad"&gt;http://code.launchpad.net/~do-plugins/do-plugins/community&lt;/a&gt;.

&lt;p&gt;Compiled binary (usage: download the .dll file and put in your &lt;strong&gt;&lt;code&gt;~/.local/share/gnome-do/plugins-0.x.x&lt;/code&gt;&lt;/strong&gt; folder and restart Do)&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;For GNOME Do version 0.6.*: &lt;a href="http://p3n9.kilu.de/do-plugins/old/RTM.dll"&gt;http://p3n9.kilu.de/do-plugins/old/RTM.dll&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;For GNOME Do compiled from bzr trunk code (using the new plugin API): &lt;a href="http://dl.getdropbox.com/u/110544/do-plugins/RTM.dll"&gt;http://dl.getdropbox.com/u/110544/do-plugins/RTM.dll&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-4510118505861863975?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=fxms3L80B1Q:60GkSD8_it8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=fxms3L80B1Q:60GkSD8_it8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=fxms3L80B1Q:60GkSD8_it8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=fxms3L80B1Q:60GkSD8_it8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=fxms3L80B1Q:60GkSD8_it8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=fxms3L80B1Q:60GkSD8_it8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/fxms3L80B1Q" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-03T16:25:04.920+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">19</thr:total></item><item><title>Do's Upcoming Feature Demo</title><link>http://blog.pengdeng.com/2008/10/dos-upcoming-feature-demo.html</link><category>Screencast</category><category>Gnome Do</category><category>Video</category><category>Youtube</category><author>noreply@blogger.com (Peng)</author><pubDate>Thu, 09 Oct 2008 15:26:32 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-4129820130332945875</guid><description>&lt;object width="480" height="360"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ygNd2pTp26E&amp;hl=en&amp;fs=1&amp;ap=%2526fmt%3D18"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ygNd2pTp26E&amp;hl=en&amp;fs=1&amp;ap=%2526fmt%3D18" type="application/x-shockwave-flash" allowfullscreen="true" width="480" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;Ha, My first Youtube video&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-4129820130332945875?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=RzS_4vYr95E:6n7Uil7GfJw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=RzS_4vYr95E:6n7Uil7GfJw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=RzS_4vYr95E:6n7Uil7GfJw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=RzS_4vYr95E:6n7Uil7GfJw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=RzS_4vYr95E:6n7Uil7GfJw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=RzS_4vYr95E:6n7Uil7GfJw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/RzS_4vYr95E" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-10T00:26:32.600+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>No more &lt; br / &gt;</title><link>http://blog.pengdeng.com/2008/10/no-more.html</link><category>Blogger</category><category>emacs</category><author>noreply@blogger.com (Peng)</author><pubDate>Thu, 09 Oct 2008 07:03:06 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-8637302279169865147</guid><description>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
      &lt;p&gt;Just realized I can turn off the “converting return character to &amp;lt;br
      /&amp;gt;” option at blogger’s setup page. It was a disaster for me if there
      is no such a thing because I like to write the post in Markdown format
      in Emacs and convert it to HTML then post. To make the content easy to
      read, the lines are normall truncated into a limited length. For the
      previous post, I have to connect all the lines into one line before
      posting, which sounds rediculous.&lt;/p&gt;

      &lt;p&gt;From now on, no more stupid BR’s, haha!&lt;/p&gt;

    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-8637302279169865147?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=W2zjvLkuOo8:s9xyBhh2tAE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=W2zjvLkuOo8:s9xyBhh2tAE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=W2zjvLkuOo8:s9xyBhh2tAE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=W2zjvLkuOo8:s9xyBhh2tAE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=W2zjvLkuOo8:s9xyBhh2tAE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=W2zjvLkuOo8:s9xyBhh2tAE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/W2zjvLkuOo8" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-09T16:03:06.176+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Test Post from Emacs</title><link>http://blog.pengdeng.com/2008/10/test-post-from-emacs_5124.html</link><category>emacs</category><category>Google</category><author>noreply@blogger.com (Peng)</author><pubDate>Thu, 09 Oct 2008 05:02:03 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-6449024758722372997</guid><description>&lt;p&gt;I’m now using &lt;a href='http://emacspeak.blogspot.com/2007/03/emacs-client-for-google-services.html'&gt;G-Client&lt;/a&gt;, an Emacs client for several Google service to try to post a test entry. It allows you to directly edit the xml which will be sent out. This looks tricky, but on the other hand, you are able to add labels to the post. This makes the whole thing more useful.&lt;/p&gt; &lt;p&gt;Well, let’s first see if it works before talking too much shit.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-6449024758722372997?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=1JP1QT3x6Cw:QV-CzASB_zk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=1JP1QT3x6Cw:QV-CzASB_zk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=1JP1QT3x6Cw:QV-CzASB_zk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=1JP1QT3x6Cw:QV-CzASB_zk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=1JP1QT3x6Cw:QV-CzASB_zk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=1JP1QT3x6Cw:QV-CzASB_zk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/1JP1QT3x6Cw" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-09T14:02:03.958+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Latest Looks of My Intrepid (Sreenshots)</title><link>http://blog.pengdeng.com/2008/10/latest-looks-of-my-intrepid-sreenshots.html</link><category>Gnome</category><category>Screeshot</category><category>Ubuntu</category><author>noreply@blogger.com (Peng)</author><pubDate>Thu, 09 Oct 2008 02:55:19 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-7368064618366861343</guid><description>&lt;p&gt;Thanks to the fabulous &lt;a href="https://wiki.ubuntu.com/Artwork/Incoming/DustTheme"&gt;Dust&lt;/a&gt; GTK theme and &lt;a href="http://www.gnome-look.org/content/show.php/GNOME-colors?content=82562"&gt;Gnome Brave&lt;/a&gt; icon
theme, plus the nice looking new wallpaper from Gnome 2.24, the
desktop looks really decent now. This color scheme gets along very
well with the upcoming Gnome Do HUD interface.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/dengpeng/SO3TMFeSBhI/AAAAAAAAA7A/5ocwhUPZBBA/intrepid-dust-gnome-color-1.jpg"&gt;&lt;img src="http://lh4.ggpht.com/dengpeng/SO3TMFeSBhI/AAAAAAAAA7A/5ocwhUPZBBA/s400/intrepid-dust-gnome-color-1.jpg" alt="Screenshot 1" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p style="text-align: center;"p&gt;&lt;a href="http://lh6.ggpht.com/dengpeng/SO3TMf7f1JI/AAAAAAAAA7I/Aj0IruwZdqU/intrepid-dust-gnome-color-2.jpg"&gt;&lt;img src="http://lh6.ggpht.com/dengpeng/SO3TMf7f1JI/AAAAAAAAA7I/Aj0IruwZdqU/s400/intrepid-dust-gnome-color-2.jpg" alt="Screenshot 2" title="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-7368064618366861343?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=jacJzEpuyyk:yjOshIdyvng:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=jacJzEpuyyk:yjOshIdyvng:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=jacJzEpuyyk:yjOshIdyvng:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=jacJzEpuyyk:yjOshIdyvng:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=jacJzEpuyyk:yjOshIdyvng:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=jacJzEpuyyk:yjOshIdyvng:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/jacJzEpuyyk" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-09T11:55:19.430+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/dengpeng/SO3TMFeSBhI/AAAAAAAAA7A/5ocwhUPZBBA/s72-c/intrepid-dust-gnome-color-1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>New Bluetooth Tools Arrived In Intrepid</title><link>http://blog.pengdeng.com/2008/10/new-bluetooth-tools-arrived-in-intrepid.html</link><category>Intrepid</category><category>Ubuntu</category><category>Bluetooth</category><author>noreply@blogger.com (Peng)</author><pubDate>Thu, 07 May 2009 12:51:45 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-9096989599767220342</guid><description>&lt;p style="text-align: center;"&gt;&lt;img src="http://lh5.ggpht.com/_4F2P0FQZ3bE/SO3JqLkLkTI/AAAAAAAAA6w/shNfWKPqv5o/s800/bluetooth-menu.png" alt="bluetooth notification area menu" title="" /&gt;&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s great to have this update befor the final release, cause it is a
lot easier to use than the previous old version in the repo. No more
messing around with configuration files, all operation can be done via
GUI. Kudos goes to bluez devs!&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_4F2P0FQZ3bE/SO3JqDQtXhI/AAAAAAAAA64/7ZubBjhTMn4/s400/bluetooth-preference.png"&gt;&lt;img src="http://lh3.ggpht.com/dengpeng/SO3JqDQtXhI/AAAAAAAAA64/pYKMCiWR94g/s400/bluetooth-preference.png" alt="bluetooth preferences dialog" title="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-9096989599767220342?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=XvlJ8F63XHU:mB8jjx4v8GI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=XvlJ8F63XHU:mB8jjx4v8GI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=XvlJ8F63XHU:mB8jjx4v8GI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=XvlJ8F63XHU:mB8jjx4v8GI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=XvlJ8F63XHU:mB8jjx4v8GI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=XvlJ8F63XHU:mB8jjx4v8GI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/XvlJ8F63XHU" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-07T21:51:45.531+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_4F2P0FQZ3bE/SO3JqLkLkTI/AAAAAAAAA6w/shNfWKPqv5o/s72-c/bluetooth-menu.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Do 0.6.1Released, SCIM Support in Development</title><link>http://blog.pengdeng.com/2008/10/do-061-scim-support-in-development.html</link><category>Gnome Do</category><category>SCIM</category><author>noreply@blogger.com (Peng)</author><pubDate>Tue, 07 Oct 2008 21:07:53 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-1181730277009338455</guid><description>&lt;p style="text-align: center;"&gt;&lt;img src="http://lh4.ggpht.com/dengpeng/SOwvKKsvMwI/AAAAAAAAA6o/RDKb1ne72bQ/gnomedo-scim.png" alt="GNOME Do and Chinese input via SCIM" title="" width=75% hight=75% /&gt;  &lt;/p&gt;

&lt;p&gt;There is a minor release of GNOME Do lately, 0.6.1 - Before the
Storm. It addresses severl bug fixes, especially the most annoying and
infamous &lt;a href="https://bugs.launchpad.net/do/+bug/278692"&gt;clip board bug&lt;/a&gt; introduced with 0.6.0, which may consume
very high cpu resouces and freeze the system.  This release also
improves on dealing with special characters like &amp;#8220;&amp;lt;&amp;#8221;. A new icon also
has been used.&lt;/p&gt;

&lt;p&gt;If you are still using 0.6.0, very likely you&amp;#8217;ve already been
suffering from the clipboard bug, now it is time to upgrade. If you
are with older version, this new release should be good and stable
enough for you to switch to.&lt;/p&gt;

&lt;p&gt;To install the new version, you can either grab the source code from
&lt;a href="https://launchpad.net/do/0.6/0.6.1"&gt;https://launchpad.net/do/0.6/0.6.1&lt;/a&gt; and compile it yourself, or add
the &lt;a href="https://launchpad.net/~do-core/+archivesy"&gt;do-core PPA&lt;/a&gt; into your &lt;code&gt;sources.list&lt;/code&gt; and install via
&lt;code&gt;apt-get&lt;/code&gt; or &lt;code&gt;Synaptic&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Meanwhile, Jason (DBO) is doing extraordinary works to bring new
features to the development branch which will become the next Do
release 0.7. Yesterday he added a exciting feature which allows users
to use SCIM to input in Do. This feature must be quite important to
CJK users (or any user that needs SCIM to type words on daily
basis). &lt;/p&gt;

&lt;p&gt;Like 2 month ago, I was think about this issue that Do may not be so
useful to CJK users as to users who type without an IM since for CJK
users normally there must be a decent amount of items that Do indexes
are in Chinese/Japanese/Korean and without IM suport, these items are
almost unreachable (well, you still could navigate to them using
arrows maybe, but &amp;#8230; you don&amp;#8217;t want to do that too often if you want
to be efficient).  At that time I was even planned to solve this
problem and did give it some (stupid) thoughts. But I didn&amp;#8217;t imagine
it could be such a straight forward approach like this: using the
Gtk.IMContext class.&lt;/p&gt;

&lt;p&gt;So now you can use SCIM fairly well with Do, though you may want to turn
off the &amp;#8220;Embed Preedit String into window&amp;#8221; option cause Do&amp;#8217;s interface
actually cannot display those inline preedit string for now.&lt;/p&gt;

&lt;p&gt;With the also newly added &amp;#8220;paste support&amp;#8221; feature, Do&amp;#8217;s Text Mode is
much easier to use. If you want to test it out, you can grab DBO&amp;#8217;s
branch using &lt;code&gt;bzr&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;bzr co lp:~jassmith/do/do-uiwork/
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With this code, you can also find other amazing things he has been
working on, like the new animated HUD theme (engine), the one you
could see from the screenshot above.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;GNOME Do是一个类似苹果Mac OS中QuickSliver或Windows下Launchy的软件，可以
避免不必要的鼠标操作，利用键盘的便捷性快速的启动应用程序，打开文件或文
件夹，并通过几十种不同的可选插件完成诸如添加事件至Google日历，上传图片
至ImageShack，打开Firefox书签，发送信息至Twitter等任务，是你系统的“遥控
器“，追求效率的同学之必备软件。现在Gnome的开发分支已经加入了对SCIM输入
法的支持，使用中文的同学可以更精确的使用Do，新的代码可以通过上面提到的
BZR命令获取。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-1181730277009338455?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=V1LlV6zCgaE:T391JxqVjPA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=V1LlV6zCgaE:T391JxqVjPA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=V1LlV6zCgaE:T391JxqVjPA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=V1LlV6zCgaE:T391JxqVjPA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=V1LlV6zCgaE:T391JxqVjPA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=V1LlV6zCgaE:T391JxqVjPA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/V1LlV6zCgaE" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-08T06:07:53.364+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Do got shadows!</title><link>http://blog.pengdeng.com/2008/09/do-got-shadows_25.html</link><category>Gnome Do</category><category>UI</category><author>noreply@blogger.com (Peng)</author><pubDate>Mon, 06 Oct 2008 05:43:39 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-5177262025584713903</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://img218.imageshack.us/img218/7003/gnomedonewshadowuicropprw8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://img218.imageshack.us/img218/7003/gnomedonewshadowuicropprw8.png" width="420" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://www.cimitan.com/blog/"&gt;Cimi&lt;/a&gt;, the core developer behind the fantastic &lt;a href="http://www.cimitan.com/murrine/"&gt;murrine&lt;/a&gt; GTK/Cairo theme engine, the one that drives a lot of beautiful GTK themes nowadays, branched Do's code and added a new look to the UI, with some very nice looking shadows. Although I have no idea when Do 0.7.0 will be released, but what for sure is by then Do will definitely have an impressive UI, thanks to the work by DBO &amp;amp; Cimi.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-5177262025584713903?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=w11j6om3sSs:GZa2iDYq4k8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=w11j6om3sSs:GZa2iDYq4k8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=w11j6om3sSs:GZa2iDYq4k8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=w11j6om3sSs:GZa2iDYq4k8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=w11j6om3sSs:GZa2iDYq4k8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=w11j6om3sSs:GZa2iDYq4k8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/w11j6om3sSs" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-06T14:43:39.699+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Gnome 2.24 is released, Get the Wallpapers</title><link>http://blog.pengdeng.com/2008/09/gnome-224-is-released-get-wallpapers_24.html</link><category>Gnome</category><category>Wallpaper</category><author>noreply@blogger.com (Peng)</author><pubDate>Mon, 06 Oct 2008 05:45:03 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7163710550539939040.post-6545288375089690468</guid><description>&lt;p style="text-align: center"&gt;&lt;img src="http://www.gnome.org/img/flash/two-twenty-four.png" alt="gnome-2.24" title="" width="75%" height="75%" /&gt;&lt;/p&gt;&lt;p&gt;Finally after 6 months of hard work by developers, Gnome 2.24 &lt;a href="http://library.gnome.org/misc/release-notes/2.24/"&gt;is here&lt;/a&gt; today, with lots of new features and improvements. This time the wallpapers also become more beautiful than before thanks to the &lt;a href="http://www.cimitan.com/blog/2008/04/02/gnome-224-wallpaper-contest/"&gt;contest&lt;/a&gt; held 5 months ago.&lt;/p&gt;&lt;p style="text-align: center"&gt;&lt;img src="http://library.gnome.org/misc/release-notes/2.24/figures/rnusers.backgrounds.png.en_GB" alt="gnome-2.24-backgrounds" title="" width="75%" height="75%" /&gt;&lt;/p&gt;&lt;p&gt;For Ubuntu 8.10 Intrepid Users, to get those sexy new wallpaper, simple install the &lt;code&gt;gnome-backgrounds&lt;/code&gt; package from &lt;em&gt;synaptics&lt;/em&gt; or from command line by &lt;code&gt;sudo apt-get install gnome-backgrounds&lt;/code&gt;. If you are staying with hardy or older version but still want to enjoy the new look, grab it from gnome&amp;#8217;s ftp: &lt;a href="http://ftp.gnome.org/pub/GNOME/sources/gnome-backgrounds/2.24/gnome-backgrounds-2.24.0.tar.bz2"&gt;http://ftp.gnome.org/pub/GNOME/sources/gnome-backgrounds/2.24/gnome-backgrounds-2.24.0.tar.bz2&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7163710550539939040-6545288375089690468?l=blog.pengdeng.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ZlZPVe5Hr7U:qDtFqXWyW3k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ZlZPVe5Hr7U:qDtFqXWyW3k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=ZlZPVe5Hr7U:qDtFqXWyW3k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ZlZPVe5Hr7U:qDtFqXWyW3k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?i=ZlZPVe5Hr7U:qDtFqXWyW3k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/d6g?a=ZlZPVe5Hr7U:qDtFqXWyW3k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/d6g?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/d6g/~4/ZlZPVe5Hr7U" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-06T14:45:03.121+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>
