<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3527093688077629037</id><updated>2011-12-08T14:00:28.260-08:00</updated><category term='EDE'/><category term='programming'/><category term='misc'/><title type='text'>Sanel's Acid Words</title><subtitle type='html'>Mostly talk about &lt;a href="http://equinox-project.org" title="Equinox Desktop Environment"&gt;EDE&lt;/a&gt; development...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-5637849539093838384</id><published>2011-10-31T13:55:00.000-07:00</published><updated>2011-10-31T13:55:53.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>No more eFLTK</title><content type='html'>In the last month there has been a lot of changes in repository. First of all, maybe the most interesting change is that edewm (window manager) was replaced with &lt;a href="http://pekwm.org/"&gt;pekwm&lt;/a&gt;, making EDE now fully eFLTK free! This is the major step we headed to in last few years when decided to abandon eFLTK and fully focus on stable (and more maintable) FLTK 1.x.&lt;br /&gt;&lt;br /&gt;I chose pekwm simply because it depends only on C++ compiler and X11 libs. I used it (and still using it) heavily with other EDE parts and it works without any major problems. Also, quite important thing for window manager was to have good &lt;a href="http://www.freedesktop.org/wiki/Specifications/wm-spec"&gt;window manager specification&lt;/a&gt; support, so users can replace them without any hassle.&lt;br /&gt;&lt;br /&gt;Thanks to ChristTrekker suggestion I played with FLTK based &lt;a href="http://awflwm.berlios.de/"&gt;awflwm&lt;/a&gt;, but it is still quite behind EDE needs.&lt;br /&gt;&lt;br /&gt;Also, important news is how panel (ede-panel) got system tray support (implementing almost full &lt;a href="http://www.freedesktop.org/wiki/Specifications/systemtray-spec"&gt;system tray specification&lt;/a&gt;, excluding messaging part). This removed one huge limitation for current EDE usage, as more and more applications (and daemons) store own status in tray. Here is image with some apps running on Fedora 15:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm7.static.flickr.com/6111/6298576767_28cd3ba5cb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="75" src="http://farm7.static.flickr.com/6111/6298576767_28cd3ba5cb.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There could be some issues I missed, but this thing is working and I'm using it daily (with skype and pidgin of course :)).&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ede-launch&lt;/i&gt; got some important addition in form of support for preferred applications. This introduced new tool, called &lt;i&gt;ede-preferred-applications&lt;/i&gt; from where user can select preferred web browser or terminal. I'm sure you already seen it in form of &lt;i&gt;exo-preferred-applications&lt;/i&gt; from Xfce or similar tool from GNOME.&lt;br /&gt;&lt;br /&gt;Basically, with this you will be able to run preselected terminal or browser, or simply leave ede-launch to guess your input and deduce what to run.&lt;br /&gt;&lt;br /&gt;ede-launch can now directly run .desktop files too, which will simplify some code in ede-desktop component.&lt;br /&gt;&lt;br /&gt;So to summarize, you can do this:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;ede-launch http://www.google.com&amp;nbsp; # run selected browser&lt;br /&gt;ede-launch foo@foo.com # run selected mail client&lt;br /&gt;ede-launch --launch terminal ls -la /&amp;nbsp; # list directory in preferred terminal&lt;/blockquote&gt;As ede-launch is used to start almost everything, these features will become quite handy.&lt;br /&gt;&lt;br /&gt;What are the major things left to be done before release? There is a small issue with &lt;i&gt;long long&lt;/i&gt; support on FreeBSD's Xorg distro (EDE is compiled with &lt;i&gt;-pedantic&lt;/i&gt; support yielding error reports when &lt;i&gt;long long&lt;/i&gt; is detected, as it is not supported by C++ standard) and &lt;i&gt;iconv&lt;/i&gt; inside pekwm (also on FreeBSD) that needs to be resolved. Also, I would like to review translation support and add &lt;i&gt;intltool&lt;/i&gt; for easier string extraction from files that are not source code (conf and .desktop files, theme sources and such).&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-5637849539093838384?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/5637849539093838384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=5637849539093838384' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5637849539093838384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5637849539093838384'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2011/10/no-more-efltk.html' title='No more eFLTK'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm7.static.flickr.com/6111/6298576767_28cd3ba5cb_t.jpg' height='72' width='72'/><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-3755869228123148632</id><published>2011-10-06T16:09:00.000-07:00</published><updated>2011-10-06T16:10:44.781-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Memory applet and more</title><content type='html'>Few days ago I pushed a new applet that will show memory and swap usage.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm7.static.flickr.com/6215/6218250737_ff4fb80336_m.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm7.static.flickr.com/6215/6218250737_ff4fb80336_m.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The shot is above; noting smart behind it, but can be usable especially if you use firefox often or have Fedora/Ubuntu with tons of background processes ;)&lt;br /&gt;&lt;br /&gt;edelib got facelifing in debug facility, inspired with debug functions and macros from glib. Previously, debug functions would simply write filename/line/text combination, without knowing from which application is emitted, like:&lt;br /&gt;&lt;blockquote&gt;src/Window.cpp:53: loading 'edeneu' theme&lt;/blockquote&gt;Things become pretty messy when you get a bunch of reports from various place: edelib, ede-desktop, configuraion program(s) and etc. By introducting &lt;i&gt;E_DEBUG_DOMAIN&lt;/i&gt;, which is set in compile phase, things looks like this:&lt;br /&gt;&lt;blockquote&gt;[edelib] src/Window.cpp:53: loading 'edeneu' theme&lt;br /&gt;[ede-conf] ede-conf/ede-conf.cpp:105: Can't load config&lt;/blockquote&gt;(of course the last line is pretty descriptive, but things got from edelib aren't obvious)&lt;br /&gt;&lt;br /&gt;Also, things related to web hosting are still on hold. I contacted &lt;a href="http://csoft.net/"&gt;Csoft&lt;/a&gt; (as suggested by anonymous in previous post comments), but I'm still waiting for reply. Not sure how can I rely on these guys if I need to wait almost a month for a simple answer...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-3755869228123148632?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/3755869228123148632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=3755869228123148632' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3755869228123148632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3755869228123148632'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2011/10/memory-applet-and-more.html' title='Memory applet and more'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm7.static.flickr.com/6215/6218250737_ff4fb80336_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-9047348606972085824</id><published>2011-08-17T13:27:00.000-07:00</published><updated>2011-08-17T13:27:46.733-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Web page is down</title><content type='html'>equinox-project.org is down; seems like the company that hosted our pages went out of business (Sohlius). Unfortunately all pages, including wiki and bugzilla, are inaccessible.&lt;br /&gt;&lt;br /&gt;I tried to speak with LiquidWeb guys, as Sohlius contact is not replying, but without success. Sohlius was serving sites from LiquidWeb servers and this was naturaly next step.&lt;br /&gt;&lt;br /&gt;Until someone from Sohlius does not contact them, our data would remain inaccessible. So sad.&lt;br /&gt;&lt;br /&gt;I will try to setup some temporary pages until find some better solution, or get some reply from Sohlius crew.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-9047348606972085824?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/9047348606972085824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=9047348606972085824' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/9047348606972085824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/9047348606972085824'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2011/08/web-page-is-down.html' title='Web page is down'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-192213959066047234</id><published>2011-03-09T13:06:00.000-08:00</published><updated>2011-03-09T13:06:06.885-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Still Still rollin</title><content type='html'>Wow, looking backward, &lt;a href="http://sanelz.blogspot.com/2010/03/still-rollin.html"&gt;the similar post&lt;/a&gt; was almost a year ago. And it was like yesterday :)&lt;br /&gt;&lt;br /&gt;Yep, the same working place as year ago, and a bunch of new technologies learned in the mean time. But, I'm still missing that rustiness of C++ and jam-s bug-ability, as I'm now in ruby/java/enterprise land where optimization means nothing and every slow-iness is rewarded with more RAM or disk. Looks like the world is going in different direction.&lt;br /&gt;&lt;br /&gt;I'm not sure are you familiar, but EDE in some parts uses &lt;a href="http://tinyscheme.sourceforge.net/"&gt;TinyScheme&lt;/a&gt;. Actually, except some &lt;a href="http://sanelz.blogspot.com/2009/12/communicating-with-desktop.html"&gt;playground&lt;/a&gt;, tinyscheme (all lowercase, easier to type) is used to describe schemes/themes, although there are few bits left to be completed. Still not sure about language choice, but believe me, I went through all 'modern' languages and still can't get that warm &lt;i&gt;code-is-data&lt;/i&gt; feeling I'm getting from scheme (or any other Lisp).&lt;br /&gt;&lt;br /&gt;The reason I'm mentioning tinyscheme is how recently was quietly released &lt;a href="http://sourceforge.net/mailarchive/forum.php?thread_name=4D36092C.5080606%40ve3syb.ca&amp;amp;forum_name=tinyscheme-issues"&gt;1.40 version&lt;/a&gt;. The release have a few my patches, including one new feature hardly found in other scheme implementations: error line report in parsing phase. This becomes quite handy when the source grow over 10 lines ;)&lt;br /&gt;&lt;br /&gt;Also, I must mention how I received a wonderful patch from Damon, still pending to add on repo. It gives ability to configure ede-panel, something I never manage to finish. Damon, sorry for taking too long to merge it, but I didn't forget about it. Thank you again!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-192213959066047234?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/192213959066047234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=192213959066047234' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/192213959066047234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/192213959066047234'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2011/03/still-still-rollin.html' title='Still Still rollin'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1022605249485322236</id><published>2010-08-08T14:35:00.000-07:00</published><updated>2010-08-08T14:35:54.036-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Mozilla's new language?</title><content type='html'>Looks like, these days, is quite popular every company/organization to start own language.&lt;br /&gt;&lt;br /&gt;I just noticed on &lt;a href="http://lambda-the-ultimate.org/"&gt;LU&lt;/a&gt; how Mozilla is developing own language, called &lt;a href="http://wiki.github.com/graydon/rust/"&gt;Rust&lt;/a&gt;. How does it look like? Well, if you know C and bit of Python, &lt;a href="http://wiki.github.com/graydon/rust/language-faq"&gt;you already know&lt;/a&gt; Rust.&lt;br /&gt;&lt;br /&gt;Boring...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1022605249485322236?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1022605249485322236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1022605249485322236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1022605249485322236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1022605249485322236'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2010/08/mozillas-new-language.html' title='Mozilla&apos;s new language?'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1147025100713773936</id><published>2010-03-25T15:40:00.000-07:00</published><updated>2010-03-25T16:07:39.674-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Ahem...</title><content type='html'>Check this excerpt from one (very similar) project description I stumbled upon (project name is replaced with XYZ, but astute reader will easily figure it's name):&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;... &lt;/span&gt;&lt;span style="font-style: italic;"&gt;XYZ is designed for cloud networks such as local freifunk clouds or the global Internet cloud. It can be built on top of various Linux distributions such as Ubuntu or Debian. It provides a fast desktop experience connecting easily with applications in the cloud and supports a wealth of programs, that can be installed with Linux systems locally. ...&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Looks like I'll have to find some manager to write a few words on EDE wiki :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1147025100713773936?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1147025100713773936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1147025100713773936' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1147025100713773936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1147025100713773936'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2010/03/ahem.html' title='Ahem...'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8811099292423799200</id><published>2010-03-21T16:13:00.000-07:00</published><updated>2010-03-21T17:19:09.430-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Still rollin</title><content type='html'>Huh boy, I noticed the last post is old more than a month ago; the time is passing for me recently much faster than usually.&lt;br /&gt;&lt;br /&gt;Probably the main reason for this is my new job, and some time I need to get used to new environment, people, workflow and the rest of the package that comes with it. As consequence, I had to shutdown (hopefully only temporarily) &lt;a href="http://build.equinox-project.org/"&gt;build farm&lt;/a&gt;, as build computers were hosted in facility owned my previous employee.&lt;br /&gt;&lt;br /&gt;Other than that, I finally installed 64-bit Slackware 13, which I planned to do for some time. Maybe the main reason for this was to see how EDE will work on pure 64-bit platform; personally, 32-bit, 64-bit, they are all the same for me, except additional burden to learn assembler for different architecture (it is always good to know some asm when you do gdb beyond dumping simple backtrace).&lt;br /&gt;&lt;br /&gt;Unexpectedly (duh!), I found problems in EDE code, both compiling and working. Compiling errors were mostly caused by newer gcc (due &lt;span style="font-style: italic;"&gt;stdarg&lt;/span&gt; changes in glibc) and (as usually) PIC flag(s) for library creation.&lt;br /&gt;&lt;br /&gt;Working errors  were caused by some pointer magic (as expected) and my wrong assumption how WM property data is stored as CARD32 type. Other than this, I didn't find other 64bit specific issues, although this statement should be taken with some caution :)&lt;br /&gt;&lt;br /&gt;Also, I added application icon support in ede-panel, as shown in the screenshot below.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2785/4451726183_62d6977216_o.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 133px; height: 35px;" src="http://farm3.static.flickr.com/2785/4451726183_62d6977216_o.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This was (and still is) a quick hack and will be in some future stored in &lt;span style="font-style: italic;"&gt;edelib&lt;/span&gt;, so the code can be used, for example, to show application icon in tooltip or pager.&lt;br /&gt;&lt;br /&gt;Clock applet got some tiny refreshing with flat box and tooltip showing current date, like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2727/4451878703_67d68d9ef5_o.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 180px; height: 67px;" src="http://farm3.static.flickr.com/2727/4451878703_67d68d9ef5_o.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;AFAIK this behavior is copied by others, so why EDE should be exception ;) Joke aside, this is pretty useful thing; for example I often forget current date and do not want to start &lt;span style="font-style: italic;"&gt;ede-datetime&lt;/span&gt; just to check what day or weekday today is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8811099292423799200?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8811099292423799200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8811099292423799200' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8811099292423799200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8811099292423799200'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2010/03/still-rollin.html' title='Still rollin'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1295838041762591300</id><published>2010-02-16T07:47:00.000-08:00</published><updated>2010-02-16T15:36:35.440-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Translations and locale #2</title><content type='html'>Did you know that there is no generic tool to extract translation strings from non source files (anything else not related to some programming language, like .desktop files)? Neither did I, until I tried to find one.&lt;br /&gt;&lt;br /&gt;Yes, I know about &lt;a href="http://www.blogger.com/www.freedesktop.org/wiki/Software/intltool"&gt;Intltool&lt;/a&gt;, but it is too much tied to Automake that makes it pretty cumbersome outside of it. In README, there is short how-to about Intltool usage outside autotools, but the solution simply cries for something better.&lt;br /&gt;&lt;br /&gt;Now, taking into account how Intltool is mostly used by default from autotool users, I checked what autotool non-users has to say about this problem, primarly focusing on KDE, as they are using CMake.&lt;br /&gt;&lt;br /&gt;Yes, they have solution and is not intltool, but after seeing it, intltool seems to me as the best choice I can get. Besides a full python framework dedicated to this problem, they have a help from cron script that nightly (or at some part of day or week) walks over repository merging and updating translations in .desktop files and presumably, documentation and other like files.&lt;br /&gt;&lt;br /&gt;100 heads are smarter than one, but why this (their) solution looks to me pretty cumbersome? I mean, why someone couldn't made something that rest of the world can use, no matter are utilized make, cmake, scons or jam? Clearly, translation problem is not simple as it looks like.&lt;br /&gt;&lt;br /&gt;The clear example was/is bad state about general translation are tools we had before. Not counting GUI frontends (like KBabel) which are mostly copies in different toolkits, solutions in form of web frontends (or for God sake anything else smarter than just calling xgettext in background) we only had in form of &lt;a href="http://translate.sourceforge.net/wiki/pootle/index"&gt;Pootle&lt;/a&gt; project, famous for it's slowness and memory usage.&lt;br /&gt;&lt;br /&gt;Now you know why I see (and presumably others) &lt;a href="http://www.transifex.org/"&gt;Transifex&lt;/a&gt; project as gift from gods. Count to that free service they put on &lt;span style="font-style: italic;"&gt;transifex.net&lt;/span&gt; for your project and we, users and developers, could not be happier.&lt;br /&gt;&lt;br /&gt;But Transifex is still frontend... if we are going to find the root of this problem, maybe we should start from &lt;span style="font-style: italic;"&gt;gettext&lt;/span&gt; tools. Hell, even xgettext (part of &lt;span style="font-style: italic;"&gt;gettext&lt;/span&gt; chain) has differences between GNU and OpenSolaris version (presumably the same is for other Solaris-es). Sun version of xgettext is so dumb you can't even specify extraction keyword, so you must use 'gettext' instead e.g. '_' tag we are used to.&lt;br /&gt;&lt;br /&gt;On other hand, GNU xgettext is no perfect either: it tries to be smart where it should be dumb. GNU xgettext can recognize programming language of source it scans and can extract translation strings in the way is best in that language. But, sometimes you want different things.&lt;br /&gt;&lt;br /&gt;Recently I tried to add translation feature to theming engine in edelib, which includes some Scheme code, inspired with translation tags found in GIMP. Basically I wanted it looks like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt; (display _"This text will be translated")&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;but GNU people visualized how things should be in more &lt;span style="font-style: italic;"&gt;lispy&lt;/span&gt; like:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt; (display (_ "This text will be translated"))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;so there is no way you can force xgettext to see the first example as valid scheme source code without hackery with sed and shell.&lt;br /&gt;&lt;br /&gt;Count to that how Intltool (which uses xgettext) does the same job as xgettext (extract strings from source code), but in own specific way, you simply lose any desire to do anything related to translation in your project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1295838041762591300?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1295838041762591300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1295838041762591300' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1295838041762591300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1295838041762591300'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2010/02/translations-and-locale-2.html' title='Translations and locale #2'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8292807533570307630</id><published>2010-02-12T04:58:00.000-08:00</published><updated>2010-02-12T05:30:15.459-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Translations and locale</title><content type='html'>Aside from my busyness with daily job (and messing with ede-scriptbus to make something usable from it), there happened some changes in edelib too. Thanks to Thierry, &lt;a href="https://sourceforge.net/projects/ede/forums/forum/249616/topic/3513150"&gt;locale bug and some installation issues&lt;/a&gt; in edelib are fixed now.&lt;br /&gt;&lt;br /&gt;That was also a perfect time to finally do something about translation stuff in edelib and complete build scripts to install translated files.&lt;br /&gt;&lt;br /&gt;I also created &lt;a href="http://www.transifex.net/projects/p/ede/"&gt;EDE related page&lt;/a&gt; on &lt;a href="http://www.transifex.net"&gt;Transifex&lt;/a&gt;; for now online translation is not possible yet as I have to finalize and adapt translation facility in &lt;span style="font-style: italic;"&gt;ede&lt;/span&gt; module. Facility exists, but I want to keep it in similar manner as in edelib (have &lt;span style="font-style: italic;"&gt;po&lt;/span&gt; folders instead &lt;span style="font-style: italic;"&gt;locale&lt;/span&gt; and store translation template in file named as application, instead &lt;span style="font-style: italic;"&gt;messages.pot&lt;/span&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8292807533570307630?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8292807533570307630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8292807533570307630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8292807533570307630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8292807533570307630'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2010/02/translations-and-locale.html' title='Translations and locale'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-730605865132167973</id><published>2010-01-14T06:39:00.000-08:00</published><updated>2010-01-14T06:48:40.424-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Updated build nodes certificates</title><content type='html'>I just updated certificates on &lt;a href="http://build.equinox-project.org"&gt;buildbot&lt;/a&gt; nodes, that failed to do anything useful last three days.&lt;br /&gt;&lt;br /&gt;Looks like &lt;a href="http://sourceforge.net"&gt;SF&lt;/a&gt; guys has idea how updating repository certificates is not important at all, so they expects you understaind it without yelling why you didn't get any kind of dammit notification.&lt;br /&gt;&lt;br /&gt;Thank you SF!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-730605865132167973?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/730605865132167973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=730605865132167973' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/730605865132167973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/730605865132167973'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2010/01/updated-build-nodes-certificates.html' title='Updated build nodes certificates'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-5223630673086448216</id><published>2009-12-30T07:33:00.000-08:00</published><updated>2009-12-30T07:48:34.291-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>X11 Cursor Themes</title><content type='html'>On &lt;a href="http://wiki.archlinux.org/index.php/X11_Cursors"&gt;Arch wiki&lt;/a&gt; is a really nice tutorial how to setup custom X11 cursor theme. The good thing is how solution is pretty desktop/wm neutral, so it works under EDE as charm.&lt;br /&gt;&lt;br /&gt;I found &lt;a href="http://www.egregorion.net/2007/03/26/chameleon/"&gt;Chameleon&lt;/a&gt; theme very nice; you also get three different sizes: large, medium and small. Neat!&lt;br /&gt;&lt;br /&gt;Following above wiki tutorial, I would add how using "&lt;span style="font-style: italic;"&gt;~/.icons/default/index.theme&lt;/span&gt;" is probably the best solution. You don't have to mess with "&lt;span style="font-style: italic;"&gt;~/.Xdefaults&lt;/span&gt;",  nor need to have permissions to play with "&lt;span style="font-style: italic;"&gt;/usr/share/icons&lt;/span&gt;" folder.&lt;br /&gt;&lt;br /&gt;After you populate "&lt;span style="font-style: italic;"&gt;~/.icons/default/index.theme&lt;/span&gt;", X11 will instantly load selected cursor theme. The only thing I found are often crashes, originating from libXcursor library&lt;span style="font-family: monospace; color: rgb(0, 85, 0); white-space: nowrap;"&gt;&lt;/span&gt;. This could be either from graphic driver (nVidia of course) or from older X-es I'm currently running (time to upgrade it).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-5223630673086448216?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/5223630673086448216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=5223630673086448216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5223630673086448216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5223630673086448216'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/12/x11-cursor-themes.html' title='X11 Cursor Themes'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6859968129240994005</id><published>2009-12-14T06:45:00.000-08:00</published><updated>2009-12-14T08:23:02.841-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Charting library</title><content type='html'>Sometimes you need to draw charts on more pragmatically way than is &lt;a href="http://www.openoffice.org/"&gt;usually done&lt;/a&gt;. Unfortuately, most of the things out there pretty sucks or are in the good way to do so.&lt;br /&gt;&lt;br /&gt;For some time I used &lt;a href="http://home.gna.org/pychart/"&gt;PyChart&lt;/a&gt;, but due it's complexity and really odd api, I dumped it and get back to OpenOffice. Yes, I went back to stone age, from nice comfort of favorite editor to clicking on &lt;span style="font-style: italic;"&gt;eat-all-available-memory&lt;/span&gt; OpenOffice.&lt;br /&gt;&lt;br /&gt;From time to time, I stumble upon some library, but nothing I would be satisfied with. Until I found &lt;a href="http://wingolog.org/software/guile-charting/"&gt;guile-charting&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Honestly, &lt;a href="http://www.gnu.org/software/guile/guile.html"&gt;Guile&lt;/a&gt; is not my favorite package and I install it mostly to play with differences on Scheme implementations, but from no on, guile-charting will be probably the main reason why I will keep Guile package installed.&lt;br /&gt;&lt;br /&gt;Here is the sample code (also &lt;a href="http://pastebin.com/f561c57ad"&gt;on pastebin&lt;/a&gt;):&lt;br /&gt;&lt;pre&gt;(use-modules (charting))&lt;br /&gt;&lt;br /&gt;(make-bar-chart "Monthly status for Foo project"&lt;br /&gt;'(("January"&lt;br /&gt;   (232 "Download")&lt;br /&gt;   (20 "Upload"))&lt;br /&gt; ("February"&lt;br /&gt;   (80 "Download")&lt;br /&gt;   (320 "Upload"))&lt;br /&gt; ("March"&lt;br /&gt;   (130 "Download")&lt;br /&gt;   (150 "Upload"))&lt;br /&gt; )&lt;br /&gt;&lt;br /&gt; #:write-to-png "usage.png"&lt;br /&gt; #:chart-height 200&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;and will produce this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2508/4185032250_969df81785_m.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 145px;" src="http://farm3.static.flickr.com/2508/4185032250_969df81785_m.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You will also need &lt;a href="http://home.gna.org/guile-cairo/"&gt;guile-cairo&lt;/a&gt; for guile-charting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6859968129240994005?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6859968129240994005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6859968129240994005' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6859968129240994005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6859968129240994005'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/12/charting-library.html' title='Charting library'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2508/4185032250_969df81785_t.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6930818606481558489</id><published>2009-12-08T05:22:00.000-08:00</published><updated>2009-12-15T05:45:26.626-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Communicating with desktop #2</title><content type='html'>I imported ede-scriptbus on the repo (it is in branches), adding few new stuff: setting XSETTINGS values and explicit XSETTINGS serialization, which was done implicitly when evoke quits. For example, to change current background color of EDE apps, this will be used:&lt;br /&gt;&lt;pre&gt;./ede-scriptbus&lt;br /&gt;&gt; (set-xsettings "Fltk/Background" '(R G B A))&lt;/pre&gt; where, as you guessed correctly, you are using separated color components. The good thing about &lt;span style="font-style: italic;"&gt;(set-xsettings)&lt;/span&gt; is how it will figure out parameter type and send correct message to evoke.&lt;br /&gt;&lt;br /&gt;Due the nature of XSETTINGS protocol, changes will be instantly applied.&lt;br /&gt;&lt;br /&gt;Too bad Gtk+ (as it implements XSETTINGS) does not implement some keys for changing foreground and background colors, so we could apply color changes on Gtk+ apps too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6930818606481558489?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6930818606481558489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6930818606481558489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6930818606481558489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6930818606481558489'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/12/communicating-with-desktop-2.html' title='Communicating with desktop #2'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-2415258131912312856</id><published>2009-12-04T08:23:00.000-08:00</published><updated>2009-12-15T05:49:54.463-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Communicating with desktop</title><content type='html'>One of the major things I like and admire in KDE is &lt;a href="http://en.wikipedia.org/wiki/DCOP"&gt;DCOP&lt;/a&gt;. With DCOP, you can query, change or list desktop parts with a simple command and a few parameters. Or shortly, you can "&lt;span style="font-style: italic;"&gt;inspect&lt;/span&gt;" your environment.&lt;br /&gt;&lt;br /&gt;I'm not proficient with DCOP, nor had a chance to use it more than experimenting with the given examples, but knowing you can control your environment in the few commands is really powerful concept. Or maybe, controlling it via some language, like Apple did with &lt;a href="http://en.wikipedia.org/wiki/AppleScript"&gt;AppleScript&lt;/a&gt;, if we are going to be more serious.&lt;br /&gt;&lt;br /&gt;Last few days, I was playing with similar concept in EDE. Of course, for the start, it gives some rudimentary options and we will see how it will expand itself in the future.&lt;br /&gt;&lt;br /&gt;I named it "&lt;span style="font-style: italic;"&gt;ede-scriptbus&lt;/span&gt;"; the name left from my previous attempt to write some simple scripting suport for D-Bus things and, as expected, I ended up with different thing :)&lt;br /&gt;&lt;br /&gt;ede-scriptbus comes with embedded Scheme language, via &lt;a href="http://tinyscheme.sourceforge.net/"&gt;TinyScheme&lt;/a&gt;. Now, I hear someone is screaming Lua name, but I already had some code written with TinyScheme, plus I can easily hack interpreter if I need to adjust it. Remember, ede-scriptbus is still in prototype phase.&lt;br /&gt;&lt;br /&gt;Now, what can be done with it? For now, it is capable to query application specific settings and XSETTINGS registry (yesterday &lt;span style="font-style: italic;"&gt;evoke&lt;/span&gt; got changed to export XSETTINGS values via D-Bus). Here is sample image:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2648/4158124386_1d32e886c9_o.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 468px; height: 127px;" src="http://farm3.static.flickr.com/2648/4158124386_1d32e886c9_o.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Basically, you query desired items, much like you do query on some database. I had to make distinction between XSETTINGS and application settings queries because keys have different format, but this can be easilly wrapped, providing unique query interface.&lt;br /&gt;&lt;br /&gt;Adding ability to change existing values or set new key/value pairs should not be hard either and this is next in my TODO list. But, there is one issue I'm still contemplating: documentation of configuration values. Huh boy, this sounds scary :)&lt;br /&gt;&lt;br /&gt;One of the greates irony of configuration files (meaning about those INI style files desktops are using extensively) is how they are readable and can be easily changed. Yes, you can easily view the content, but how much stuff you can understaind from it?&lt;br /&gt;&lt;br /&gt;Here is excerpt of ede-desktop config file:&lt;br /&gt;&lt;pre&gt;[Desktop]&lt;br /&gt;color=0&lt;br /&gt;wallpaper_use=1&lt;br /&gt;wallpaper_mode=0&lt;br /&gt;wallpaper=/home/sanelz/walls/diablo3.jpg&lt;br /&gt;&lt;/pre&gt;You already understaind how "&lt;span style="font-style: italic;"&gt;wallpaper&lt;/span&gt;" key has full path to background image, but what "&lt;span style="font-style: italic;"&gt;color&lt;/span&gt;" stands for? Background color? Yes, but what values it can have, or what values should be in "&lt;span style="font-style: italic;"&gt;wallpaper_mode&lt;/span&gt;" when you want to stretch background image?&lt;br /&gt;&lt;br /&gt;This problem is not only EDE related; look my &lt;span style="font-style: italic;"&gt;qtrc&lt;/span&gt; (Qt configuration file) for example:&lt;br /&gt;&lt;pre&gt;[General]&lt;br /&gt;GUIEffects=none&lt;br /&gt;XIMInputStyle=On The Spot&lt;br /&gt;cursorFlashTime=1000&lt;br /&gt;doubleClickInterval=400&lt;/pre&gt;The same problem here. &lt;a href="http://en.wikipedia.org/wiki/GConf"&gt;GConf&lt;/a&gt; has ability to document these things, but GConf is story for itself.&lt;br /&gt;&lt;br /&gt;Actually, the idea is that the person who changes the key/values via ede-scriptbus, can query their description too, like:&lt;br /&gt;&lt;pre&gt;&amp;gt; (doc "Net/IconThemeName")&lt;br /&gt;"(type string)"&lt;br /&gt;"The name for currently used icon theme. Changing the name to different&lt;br /&gt;icon theme will immediately be applied on all EDE and Gtk+ applications."&lt;/pre&gt;Would be neat, but, is it possible to do it?&lt;br /&gt;&lt;br /&gt;First things first, I need to complete this tool and we will see the next steps :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-2415258131912312856?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/2415258131912312856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=2415258131912312856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2415258131912312856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2415258131912312856'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/12/communicating-with-desktop.html' title='Communicating with desktop'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6484543380004343765</id><published>2009-11-18T07:54:00.000-08:00</published><updated>2009-11-18T07:58:57.733-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>EDE on LWN</title><content type='html'>I noticed a short &lt;a href="http://lwn.net/Articles/357799/"&gt;EDE review&lt;/a&gt; on &lt;a href="http://lwn.net/"&gt;lwn.net&lt;/a&gt;. Thanks guys!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6484543380004343765?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6484543380004343765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6484543380004343765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6484543380004343765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6484543380004343765'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/11/ede-on-lwn.html' title='EDE on LWN'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-208566182798133479</id><published>2009-11-16T05:39:00.000-08:00</published><updated>2009-11-16T06:22:51.839-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>One up one down</title><content type='html'>EDE's &lt;a href="http://build.equinox-project.org"&gt;modest build farm&lt;/a&gt; got a new member and lost old one. The new member is OpenSolaris (2009.06), run under VM, and retired one (at least for now) is FreeBSD.&lt;br /&gt;&lt;br /&gt;Due power failure, on machine with FreeBSD installed, network card died and replacing is pretty impossible (old Compaq Proliant I found in some basement).&lt;br /&gt;&lt;br /&gt;Some EDE parts are not yet compileable under OpenSolaris and I commited today some changes to get greens from edelib unit tests.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-208566182798133479?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/208566182798133479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=208566182798133479' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/208566182798133479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/208566182798133479'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/11/one-up-one-down.html' title='One up one down'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-3141827519121977172</id><published>2009-11-11T08:47:00.001-08:00</published><updated>2009-11-11T08:55:32.625-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>pkg-config on OpenSolaris</title><content type='html'>You want &lt;a href="http://pkg-config.freedesktop.org"&gt;pkg-config&lt;/a&gt; on OpenSolaris? No problem, just install 4.20 MB &lt;span style="font-style: italic;"&gt;gnome-common-devel&lt;/span&gt; package. Now, that's reeeeaaaaalllllyyyy smart!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-3141827519121977172?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/3141827519121977172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=3141827519121977172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3141827519121977172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3141827519121977172'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/11/pkg-config-on-opensolaris.html' title='pkg-config on OpenSolaris'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8418149211983216511</id><published>2009-11-10T07:09:00.000-08:00</published><updated>2009-11-11T08:00:47.227-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Linux Kongress Summa Summarum</title><content type='html'>Altough I get back a week ago, a shoulder issue prevented me to do anything useful here and on the repo. Probably due carrying those bags with laptop. Now I'm definitely starting to prefer some &lt;a href="http://en.wikipedia.org/wiki/Acer_Aspire_One"&gt;lighter variants&lt;/a&gt; :)&lt;br /&gt;&lt;br /&gt;Linux Kongress was excelent. Organization, people, everything. I should mention &lt;a href="http://www.osdevcon.org/"&gt;OSDevCon&lt;/a&gt; happening in the same time at the same place, but due daily schedule in LK rooms, haven't catch anything from OpenSolaris guys, except a few t-shirts :)&lt;br /&gt;&lt;br /&gt;And Dresden... a beautiful city. Definitely should be visited again :)&lt;br /&gt;&lt;br /&gt;I finally met Michael "STIBS" Stibane (remember &lt;a href="http://www.linux.com/archive/feature/54549"&gt;STX&lt;/a&gt; distro?); he is, guess, from Dresden. We had a great dinner and talk about almost anything. A great guy!&lt;br /&gt;&lt;br /&gt;At the end, a trip worth every penny, pardon, euro :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8418149211983216511?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8418149211983216511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8418149211983216511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8418149211983216511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8418149211983216511'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/11/linux-kongress-summa-summarum.html' title='Linux Kongress Summa Summarum'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-4820322837130923458</id><published>2009-10-22T04:22:00.000-07:00</published><updated>2009-10-22T04:34:51.390-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Linux Kongress Talk</title><content type='html'>I'll give a talk about EDE at &lt;a href="http://www.linux-kongress.org"&gt;Linux Kongress&lt;/a&gt; in Dresden, October 30th at 11:00am, so feel free to come if you are near by :)&lt;br /&gt;&lt;br /&gt;See you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-4820322837130923458?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/4820322837130923458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=4820322837130923458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4820322837130923458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4820322837130923458'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/10/linux-kongress-talk.html' title='Linux Kongress Talk'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-5197922791170778160</id><published>2009-10-16T03:35:00.000-07:00</published><updated>2009-10-17T03:30:54.060-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Some new things...</title><content type='html'>After beta release I haven't be much lazy, so I completed and merged the two new features: keyboard layout applet and shutdown/restart support via HAL daemon.&lt;br /&gt;&lt;br /&gt;Keyboard layout manager we had built in panel in EDE 1.x parsed X key rules and directly called setxkbmap.  Changed preferences were stored in EDE known configuration file read at panel startup.&lt;br /&gt;&lt;br /&gt;Of course, with this approach the panel was pretty agnostic to outside changes, e.g., you change the layout via &lt;span style="font-style: italic;"&gt;setxkbmap&lt;/span&gt; tool, the panel will not get it and will happily display the layout used when panel was up. Don't have to say how this could be pretty confusing for the viewer.&lt;br /&gt;&lt;br /&gt;New keyboard layout applet resolves this, thanks to XKb extension. Unfortunately this extension (as most of X code) is pretty badly documented, so I had to dig around to figure out how the things work.  Now, every keyboard layout changes during X session will be correctly caught no matter what tool was used, while the layout is stored in X server.&lt;br /&gt;&lt;br /&gt;Also I added some nifty flags found at &lt;a href="http://www.kde-look.org/content/show.php/KBFlags?content=26296"&gt;kde-look.org link&lt;/a&gt; that will match the named layout, completing the final visual appeal.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2522/4016577532_3660b4ef06_o.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 142px; height: 67px;" src="http://farm3.static.flickr.com/2522/4016577532_3660b4ef06_o.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Unrelated to this, shutdown and restart actions are from now, by default, &lt;a href="http://www.freedesktop.org/wiki/Software/hal"&gt;HAL&lt;/a&gt; powered. Just make sure you have enough permissions to do this; for example, on Slackware is pretty easy: just add yourself in &lt;span style="font-style: italic;"&gt;power&lt;/span&gt; group and you will get them.&lt;br /&gt;&lt;br /&gt;If this is not suitable for you, just set desired group for &lt;span style="font-style: italic;"&gt;org.freedesktop.Hal.Device.SystemPowerManagement&lt;/span&gt; interface in &lt;span style="font-style: italic;"&gt;/etc/dbus-1/system.d/hal.conf&lt;/span&gt; file.&lt;br /&gt;&lt;br /&gt;On systems where HAL is not present, fallback will be done on standard &lt;span style="font-style: italic;"&gt;shutdown&lt;/span&gt; command.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-5197922791170778160?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/5197922791170778160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=5197922791170778160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5197922791170778160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5197922791170778160'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/10/some-new-things.html' title='Some new things...'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-4002342959654707714</id><published>2009-10-08T08:50:00.000-07:00</published><updated>2009-10-09T07:13:07.256-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>EDE 2.0 beta released</title><content type='html'>Enjoy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-4002342959654707714?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/4002342959654707714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=4002342959654707714' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4002342959654707714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4002342959654707714'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/10/ede-20-beta-release.html' title='EDE 2.0 beta released'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-4568829289082230961</id><published>2009-10-05T06:30:00.000-07:00</published><updated>2009-10-05T08:03:47.731-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>New panel merged</title><content type='html'>New ede-panel is now merged in the trunk. Actually this was done two days ago, but &lt;span&gt;additional management&lt;/span&gt; (fixing build paths, install/uninstall scripts and such) had to be done, so everything could work nicely.&lt;br /&gt;&lt;br /&gt;What to say about it? ede-panel is written from the scratch and is using FLTK, meaning: one program less using eFLTK. Everything is placed in applets, so only things that will be used will be loaded. This will reduce memory usage and provide the base for future extensions or replacements (e.g. if you do not like current quick-launch applet, write a better one ;)).&lt;br /&gt;&lt;br /&gt;Also, noticeable feature is support for &lt;a href="http://standards.freedesktop.org/menu-spec/"&gt;fd.o menu specification&lt;/a&gt;. Now, all your installed applications will be correctly recognized and populated in desired menu section. Of course, if they are fd.o menu aware and this is the case for almost all modern GUI applications.&lt;br /&gt;&lt;br /&gt;Here is the shot of default EDE menu layout:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2438/3984000890_cb1bdbae8d_m.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 226px; height: 240px;" src="http://farm3.static.flickr.com/2438/3984000890_cb1bdbae8d_m.jpg" alt="" border="0" /&gt;&lt;/a&gt;Initial menu layout was taken from Xfce mostly because it is simple, concise and manageable ...and because I had no inspiration to write another XML file. Of course, the layout will be changed even more depending on requirements in upcoming period.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-4568829289082230961?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/4568829289082230961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=4568829289082230961' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4568829289082230961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4568829289082230961'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/10/new-panel-merged.html' title='New panel merged'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2438/3984000890_cb1bdbae8d_t.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1300655448307839552</id><published>2009-09-30T04:14:00.000-07:00</published><updated>2009-09-30T05:13:08.115-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Moving release date</title><content type='html'>I'll have to move release date, &lt;a href="http://equinox-project.org/wiki/RoadMap"&gt;planned&lt;/a&gt; for September, in October.&lt;br /&gt;&lt;br /&gt;As I mentioned in the comment of previous post, the main reason is how &lt;a href="http://standards.freedesktop.org/menu-spec/"&gt;Menu Specification&lt;/a&gt; took longer to implement than I expected. Now I understaind why &lt;a href="http://lxde.org/"&gt;LXDE&lt;/a&gt; guys decided to not implement it: it is simply too complicated for this simple task.&lt;br /&gt;&lt;br /&gt;Yes, it is powerfull, but the things could be simplified a little bit. Hell, you even have a pattern matcher in it!&lt;br /&gt;&lt;br /&gt;For example, why do I have to care about legacy menus; they are not used any more and the spec should mention it in initial draft, not carry it through all versions. You implement it once, do the conversion and there are no more needs for legacy menus.&lt;br /&gt;&lt;br /&gt;Or merging: couldn't one perl/python script solve this? Even better, both things could be put in one script called when desktop starts.&lt;br /&gt;&lt;br /&gt;Current implementation in EDE is not full; menu merging and layout customizing is not yet supported and I will leave them for the future version(s). Those things that are supported are passing official menu regression tests.&lt;br /&gt;&lt;br /&gt;Of course, partial implementation will not cripple the final menu presentation if sane menu configuration is used (e.g. like the one shipped with Xfce). Or you are definitely trying to complicate the things :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1300655448307839552?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1300655448307839552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1300655448307839552' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1300655448307839552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1300655448307839552'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/09/moving-release-date.html' title='Moving release date'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-4665111281007170360</id><published>2009-09-23T06:19:00.000-07:00</published><updated>2009-09-23T06:39:05.665-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Green tests on NetBSD</title><content type='html'>For a long time, mime type related tests in edelib were failing on our NetBSD &lt;a href="http://build.equinox-project.org"&gt;buildbot node&lt;/a&gt;. Also, the part of this was &lt;a href="http://bugs.equinox-project.org/show_bug.cgi?id=155"&gt;known bug&lt;/a&gt; where tests would crash when given path was ended with "/" (the same applied for root path).&lt;br /&gt;&lt;br /&gt;This issue is fixed now and we have "&lt;span style="font-style: italic;"&gt;greens&lt;/span&gt;" on all buildbot nodes :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-4665111281007170360?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/4665111281007170360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=4665111281007170360' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4665111281007170360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4665111281007170360'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/09/green-tests-on-netbsd.html' title='Green tests on NetBSD'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8551745394299934729</id><published>2009-09-21T01:21:00.000-07:00</published><updated>2009-09-23T06:39:29.160-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Wiki update</title><content type='html'>The new wiki is on, as &lt;a href="http://sanelz.blogspot.com/2009/07/currently-moinmoin-ing.html"&gt;planned&lt;/a&gt;. All content from older, Trac based wiki, is transfered, plus some new things were added.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8551745394299934729?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8551745394299934729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8551745394299934729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8551745394299934729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8551745394299934729'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/09/wiki-update.html' title='Wiki update'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-2756616963901370358</id><published>2009-09-04T04:50:00.000-07:00</published><updated>2009-09-04T04:50:53.706-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Back from vacation</title><content type='html'>...unfortunately :) It's hard to get used to on daily job activities, not to say how I had to totaly reorganize my sleeping time.&lt;br /&gt;&lt;br /&gt;In EDE-land there are changes too. During this vacation I had a chance to experiment with FLTK (and edelib) theming capabilities, merging that into pretty capable theming engine.&lt;br /&gt;&lt;br /&gt;Now, theming engine is a part of edelib; most of it is completed with a few remaining bits. More about it should come soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-2756616963901370358?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/2756616963901370358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=2756616963901370358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2756616963901370358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2756616963901370358'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/09/back-from-vacation.html' title='Back from vacation'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8228334831045107348</id><published>2009-08-03T16:06:00.000-07:00</published><updated>2009-08-06T05:50:53.940-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>SELinux and FLTK</title><content type='html'>I often hear complains from people I know how SELinux gives more problems than it solves it. I never had this problems, simply because I'm not using it nor had a needs to use it (implying how I'm not using distros where it comes).&lt;br /&gt;&lt;br /&gt;As I'm currently working on &lt;i&gt;ede-panel&lt;/i&gt; and applet loading code (better to say: "s&lt;i&gt;till mocking up the things with it&lt;/i&gt;") and in the mean time, all that test on Fedora 10.&lt;br /&gt;&lt;br /&gt;After everything worked as charm on Slack (my default distro), this wasn't the case with Fedora; as you guess, SELinux is the problem.&lt;br /&gt;&lt;br /&gt;When I started ede-panel, I got warning window with this error:&lt;blockquote&gt;SELinux is preventing ede-panel from loading (...)/eapplet_demo.so which requires text relocation.&lt;/blockquote&gt;Of course, applet wasn't loaded and if this is going to be the case in the future, ede-panel will be pretty unusable because I'm planning to put most of the stuff in applets.&lt;br /&gt;&lt;br /&gt;Now, back to SELinux... SELinux offered me the way how to "&lt;i&gt;fix&lt;/i&gt;" this with full command line example, but also suggested how this is mostly a bug in the program. Probably it is, but finding text relocations in the code can be very consuming process (that is what people said; I never needed to do this :)).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://people.redhat.com/drepper/textrelocs.html"&gt;This&lt;/a&gt; is the document explaining what and how, plus mentioning the tool I wasn't aware of: &lt;i&gt;eu-findtextrel&lt;/i&gt;". After running it on applet demo, guess: it pointed me on FLTK.&lt;br /&gt;&lt;br /&gt;I compile FLTK mostly as static library; don't know why, probably the habit, and when FLTK is compiled as this, &lt;i&gt;-fPIC&lt;/i&gt; flag is not used. As above document sais, you have to use it.&lt;br /&gt;&lt;br /&gt;So, recompiling FLTK made SELinux happy. This also worries me: FLTK has to be distributed either as shared library (default on Fedora) or it has to use above flag even if compiled as static library (compiling FLTK as static library is default option when FLTK is compiled from source). This is the case only for SELinux enabled distros.&lt;br /&gt;&lt;br /&gt;Luckily, FLTK on Fedora already comes as shared library so this is not the problem at all. The only problem is when FLTK is compiled straight from the source code, but at least we have solution, right :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8228334831045107348?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8228334831045107348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8228334831045107348' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8228334831045107348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8228334831045107348'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/08/selinux-and-fltk.html' title='SELinux and FLTK'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-7786214942795323290</id><published>2009-07-30T07:54:00.000-07:00</published><updated>2009-07-30T08:16:37.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Better netinstall</title><content type='html'>During perod while I was setting up moin and preparing a stuff for the new web pages, I took some time and rewrote &lt;a href="http://equinox-project.org/cgi-bin/trac.cgi/wiki/NetInstall"&gt;NetInstall&lt;/a&gt; script (Note: link to netinstall can be changed in the mean time).&lt;br /&gt;&lt;br /&gt;Previous netinstall, used to build EDE 1.1 and 1.2 was written in shell. I got inspiration for it from &lt;a href="http://www.gware.org/"&gt;GWARE&lt;/a&gt;'s install script (or there were another project, can't remember).&lt;br /&gt;&lt;br /&gt;Shell version worked as expected; after few tunings even worked on FreeBSD (probably on OpenBSD too), but the drawback was the shell itself. Is already known how shell scripts can easily become unportable, especially if you get used on some very cool "&lt;span style="font-style: italic;"&gt;bash-isms&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;To make the story shorter, the new version is re-written in python, so using this script should not be a problem, since python comes with every distro and is often installed by default. Originally I wanted to do it in perl (to refresh my knowledge), but the final version emerged from one of the quick mockups I did in python and redoing that again would be a waste of time. I will leave perl for something else.&lt;br /&gt;&lt;br /&gt;Shots of shell tools are not fancy, but everyone would like to see them anyway, so here is the one:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2669/3772124598_ece5503189_o.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 447px; height: 162px;" src="http://farm3.static.flickr.com/2669/3772124598_ece5503189_o.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So what was done here? Well, netinstall is not static tool any more (read this as: "&lt;span style="font-style: italic;"&gt;with stored package data&lt;/span&gt;") and contrary to the previous shell version, it can be downloaded and used multiple times.&lt;br /&gt;&lt;br /&gt;Package information and details (a.k.a. metadata) are stored in separate files (named config files) and are downloaded from EDE web server. For example, &lt;a href="http://www.equinox-project.org/netinstall-configs/netinstall.cfg"&gt;here is how looks like default file&lt;/a&gt;. Nothing complicated.&lt;br /&gt;&lt;br /&gt;But, the main "&lt;span style="font-style: italic;"&gt;pro&lt;/span&gt;" of this approach is ability do build different EDE versions (or build EDE in few different ways), with a single tool. For example, by default, netinstall will build EDE 1.2, downloading eFLTK and correct EDE packages.&lt;br /&gt;&lt;br /&gt;If you want to play a little bit with 2.0 version, you just type:&lt;br /&gt;&lt;blockquote&gt;./netinstall --config ede-2.0.cfg&lt;/blockquote&gt;and voila; everything needed will be downloaded, compiled, patched if needed and installed. On other hand, if you don't have FLTK already installed, using:&lt;br /&gt;&lt;blockquote&gt;./netinstall --config ede-2.0-full.cfg&lt;/blockquote&gt;will even download FLTK and compile it and install it, besides other EDE packages.&lt;br /&gt;&lt;br /&gt;I know how how someone will try to compare it with &lt;a href="http://live.gnome.org/Jhbuild"&gt;Jhbuild&lt;/a&gt; and ask why I didn't use it first, but Jhbuild is way from netinstall goals. Jhbuild is kitchen sink that can do a lot of things, but you need to install it first, bootstrap it and perform some magic. In the mean time you could already download and manualy compile all EDE dependencies :P&lt;br /&gt;&lt;br /&gt;I want netinstall to keep "&lt;span style="font-style: italic;"&gt;download-and-run-it&lt;/span&gt;" spirit, with as less as possible hassle for user. That is the main goal.&lt;br /&gt;&lt;br /&gt;Anyway, documentation needs to be completed and the code needs to be tested a little bit more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-7786214942795323290?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/7786214942795323290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=7786214942795323290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7786214942795323290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7786214942795323290'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/07/better-netinstall.html' title='Better netinstall'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-350969351699119447</id><published>2009-07-29T05:34:00.000-07:00</published><updated>2009-07-29T05:50:53.338-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Hooked on Isis</title><content type='html'>I really got hooked on &lt;a href="http://en.wikipedia.org/wiki/Isis_%28band%29"&gt;Isis&lt;/a&gt; and their &lt;span style="font-style: italic;"&gt;Oceanic&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Panopticon&lt;/span&gt; albums. Still didn't listen the rest of their discography until I study these two as much as possible.&lt;br /&gt;&lt;br /&gt;Heck, I even installed good ol' xmms because audacious equalizer makes absolutely pathetic sound on anything better than ordinary speakers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-350969351699119447?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/350969351699119447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=350969351699119447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/350969351699119447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/350969351699119447'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/07/hooked-on-isis.html' title='Hooked on Isis'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-9179023938633861894</id><published>2009-07-21T05:30:00.000-07:00</published><updated>2009-07-21T05:37:33.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Currently MoinMoin-ing...</title><content type='html'>Yep, I'm messing with &lt;a href="http://moinmo.in"&gt;MoinMoin&lt;/a&gt; last few days. I'm planning to replace current EDE web pages with it for easier content management.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-9179023938633861894?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/9179023938633861894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=9179023938633861894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/9179023938633861894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/9179023938633861894'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/07/currently-moinmoin-ing.html' title='Currently MoinMoin-ing...'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-7646216788490503805</id><published>2009-07-09T05:58:00.000-07:00</published><updated>2009-07-09T06:04:42.283-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Buildbot is running :)</title><content type='html'>I set up &lt;a href="http://buildbot.net/"&gt;buildbot&lt;/a&gt; on &lt;a href="http://build.equinox-project.org"&gt;http://build.equinox-project.org&lt;/a&gt;. It is scheduled to do nightly builds, downloading and compiling both edelib and ede2 modules, with execution of edelib unittests.&lt;br /&gt;&lt;br /&gt;Builds are done on Slack 12.0, FreeBSD 5.3 and NetBSD 4.0.1.&lt;br /&gt;&lt;br /&gt;To be honest, I set it up few months ago just to see how it will work and behave. Amazing tool!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-7646216788490503805?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/7646216788490503805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=7646216788490503805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7646216788490503805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7646216788490503805'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/07/buildbot-is-running.html' title='Buildbot is running :)'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1969329970533071052</id><published>2009-07-03T04:03:00.000-07:00</published><updated>2009-07-03T06:11:55.508-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Menus with icons</title><content type='html'>I just commited the new menu "system" in edelib trunk (actually, it is not really new, but forked FLTK menu code).&lt;br /&gt;&lt;br /&gt;FLTK menus are fine, fast and works well. But there are few missing pieces, like custom icons in menu items. Actually, you can set an icon, but menu item label will not be shown, since that icon will be considered as label. Strange decision. Also, setting icons with custom sizes is not possible.&lt;br /&gt;&lt;br /&gt;On other hand, extending menu code in FLTK is pretty impossible. One of the most important part of FLTK menus, &lt;span style="font-style: italic;"&gt;Fl_Menu_Item&lt;/span&gt;, can't be inherited to allow custom item draws, so if do you even the smallest change in this class, you'll have to pull all Fl_Menu_* code and change it to use your &lt;span style="font-style: italic;"&gt;Fl_Menu_Item&lt;/span&gt; modification. Pretty scary, isn't.&lt;br /&gt;&lt;br /&gt;So, you know why it is forked :). Also, this is not the only reason. With this comes greater flexibility in future extending, adding custom drawing effects, improve scheming ability or similar things. Besides, I planned to use them for &lt;span style="font-style: italic;"&gt;ede-panel&lt;/span&gt;, and these menus has to be little bit "more" than plain FLTK menus.&lt;br /&gt;&lt;br /&gt;Here is how it looks like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3641/3684308134_deee88dbc5_o.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 199px; height: 169px;" src="http://farm4.static.flickr.com/3641/3684308134_deee88dbc5_o.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I know, nothing fancy and looks like menus in any other toolkit. And that is the point :). Also, icons with different sizes can be used, aligning their labels nicely. It doesn't look pretty and hardly anyone will use icons with non-uniform sizes, but follows FLTK way where each menu item could have different label size, font or color.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2453/3684324202_9725ccedf0_o.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 221px; height: 182px;" src="http://farm3.static.flickr.com/2453/3684324202_9725ccedf0_o.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Contrary to Qt style (where you always have gap from the left size, no matter was icon used or not in the menu item), I took Gtk approach: if there is no icon, there will be no gap (like it is shown in above submenu). This gives some kind of FLTK "compatible" feeling.&lt;br /&gt;&lt;br /&gt;Application code should not be changed considerably either. Instead &lt;span style="font-style: italic;"&gt;Fl_Menu_Item&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;Fl_Menu_Bar&lt;/span&gt;, putting &lt;span style="font-style: italic;"&gt;edelib::MenuItem&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;edelib::MenuBar&lt;/span&gt; will do the job allowing to use FLUID generated menus without much of the trouble.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1969329970533071052?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1969329970533071052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1969329970533071052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1969329970533071052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1969329970533071052'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/07/menus-with-icons.html' title='Menus with icons'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-2165488351429716445</id><published>2009-07-01T05:29:00.000-07:00</published><updated>2009-07-01T07:03:22.033-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>New bug report tool</title><content type='html'>Last few days I spent working on this tool: a small tool that will make life easier for those who would like to quickly report bugs on our Bugzilla (named ede-bug-report, nothing fancy ;)). Those familiary with bug-buddy from GNOME will know what I'm talking about :)&lt;br /&gt;&lt;br /&gt;Anyway, this development was my first expirience with &lt;a href="http://xmlrpc-c.sourceforge.net/"&gt;xmlrpc-c&lt;/a&gt; library. For those who do not knows, Bugzilla exposes own API via XMLRPC protocol so if you have the right libraries (or enough bravery to write your own), you can nicely access it without using browser (with consulting &lt;a href="http://www.bugzilla.org/docs/3.4/en/html/api/index.html"&gt;Bugzilla API documentation&lt;/a&gt;, of course).&lt;br /&gt;&lt;br /&gt;I can summarize using xmlrpc-c with two words: very painful. I had to rewrite bugzilla client three times, mostly due bad xmlrpc-c documentation. The first time (maybe this shouldn't be counted) was client emerged from my playground with Bugzilla API. This client was synchronous and was pretty unusable with GUI, but was working.&lt;br /&gt;&lt;br /&gt;Second try was with xmlrpc-c asynchronous API, and after a few days of guessing how things should work (because documentation is horribly bad in this part), I managed to get it running. At least I though it.&lt;br /&gt;&lt;br /&gt;Somehow, xmlrpc-c asynchronous API badly manage cookie sessions so after loggin in, submitting bug wasn't posssible and Bugzilla would report how I'm not logged in. I'm not sure is this due this library or I was doing something wrong (hardly since you have only few async functions and is pretty hard to get things wrong :P) but I couldn't get it running in any way.&lt;br /&gt;&lt;br /&gt;And, at the end, the third try was/is synchronous client with threading. Although I'm not a big fan of threading, using threads was very joyable comparing to horrible xmlrpc-c async API. Damnit, you can't even cancel requests with it, so if you try to shut down the client forcefully, you'll get assertion straigth from the library.&lt;br /&gt;&lt;br /&gt;Asside from these internal stuff, I tried to keep client's GUI pretty minimal. When I get those bug report dialogs with tons of input fields, I lose desire to report the bug, no matter how critical it was. Few fields and let developers sort it as they like, right :). Here is the shot:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3357/3659387961_6ba53ea3ec_m.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 193px;" src="http://farm4.static.flickr.com/3357/3659387961_6ba53ea3ec_m.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Next is to make it work together with &lt;span style="font-style: italic;"&gt;ede-crasher&lt;/span&gt;, so when something crashes, users get an option to report it in the same time. And move it from the branches in the trunk, of course.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-2165488351429716445?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/2165488351429716445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=2165488351429716445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2165488351429716445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2165488351429716445'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/07/new-bug-report-tool.html' title='New bug report tool'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3357/3659387961_6ba53ea3ec_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-7246933667640983325</id><published>2009-06-19T08:49:00.000-07:00</published><updated>2009-06-19T09:03:49.246-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>No EDE on LinuxTag 2009</title><content type='html'>Unfortunately :(&lt;br /&gt;&lt;br /&gt;I wasn't able to find reliable sponsor and other guys had to cancel due personal issues. Probably this global recession had a large part in this so companies are very reluctant to give money for anything except they have to.&lt;br /&gt;&lt;br /&gt;I'm pretty sad for this since I had to cancel two things: our booth and my presentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-7246933667640983325?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/7246933667640983325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=7246933667640983325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7246933667640983325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7246933667640983325'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/06/no-ede-on-linuxtag-2009.html' title='No EDE on LinuxTag 2009'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-2854855206412276383</id><published>2009-05-13T06:48:00.000-07:00</published><updated>2009-05-13T06:53:54.654-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>EDE on LinuxTag 2009!</title><content type='html'>Although this news is not very fresh (shame on me for not putting it on the time), there is some fresh-er: I will have a keynote at LinuxTag, titled as "&lt;span style="font-style: italic;"&gt;EDE as desktop environment alternative&lt;/span&gt;" and is scheduled 27.05.2009 at 15:30 in Saal 4.&lt;br /&gt;&lt;br /&gt;Now, "&lt;span style="font-style: italic;"&gt;the only&lt;/span&gt;" remaining thing left is to handle papers and find some sponsors...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-2854855206412276383?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/2854855206412276383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=2854855206412276383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2854855206412276383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2854855206412276383'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/05/ede-on-linuxtag-2009.html' title='EDE on LinuxTag 2009!'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1529961417273821058</id><published>2009-05-08T07:00:00.000-07:00</published><updated>2009-05-08T07:18:43.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>How to kill remaining C++ programmers?</title><content type='html'>Just &lt;a href="http://www.theregister.co.uk/2009/05/07/verity_stob_cplusplus/"&gt;show them&lt;/a&gt; upcomming C++Ox stuff. After seeing this stuff, I'm sure how &lt;a href="http://haskell.org/"&gt;Haskell&lt;/a&gt; will be very logic and natural to you.&lt;br /&gt;&lt;br /&gt;Btw. &lt;a href="http://www.reddit.com/"&gt;reddit&lt;/a&gt; pointed me to &lt;a href="http://www.boostcon.com/site-media/var/sphene/sphwiki/attachment/2009/05/08/iterators-must-go.pdf"&gt;Alexandrescu's talk&lt;/a&gt; about iterator alternatives, where he showed some snippets how file should be copied via "&lt;span style="font-style: italic;"&gt;modern&lt;/span&gt;" C++. Now, if someone tells me how lisp is unreadable... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1529961417273821058?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1529961417273821058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1529961417273821058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1529961417273821058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1529961417273821058'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/05/how-to-kill-remaining-c-programmers.html' title='How to kill remaining C++ programmers?'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8983049834614344256</id><published>2009-04-22T09:30:00.000-07:00</published><updated>2009-05-08T06:59:40.792-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>EDE 2.0 alpha released</title><content type='html'>Finally... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8983049834614344256?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8983049834614344256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8983049834614344256' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8983049834614344256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8983049834614344256'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/04/ede-20-alpha-release.html' title='EDE 2.0 alpha released'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-4952229583240412743</id><published>2009-04-10T08:44:00.000-07:00</published><updated>2009-04-10T08:48:53.807-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Going from Trac to Bugzilla #2</title><content type='html'>...was &lt;a href="http://bugs.equinox-project.org"&gt;done&lt;/a&gt;. Now I'm going to setup some &lt;a href="http://buildbot.net"&gt;buildbots&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-4952229583240412743?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/4952229583240412743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=4952229583240412743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4952229583240412743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4952229583240412743'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/04/going-from-trac-to-bugzilla-2.html' title='Going from Trac to Bugzilla #2'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-3669735973581810934</id><published>2009-04-04T06:36:00.000-07:00</published><updated>2009-04-06T10:38:28.957-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Going from Trac to Bugzilla</title><content type='html'>It is time we go serious, so we should use some serious tools :P.&lt;br /&gt;&lt;br /&gt;First of all, why switching to Bugzilla? Trac is a nice tool; you get almost everything you need with one installation, not to say how is easy to set it up. On other hand, Trac is trying to be everything, so you get something from every other tool it copies. The key here is "&lt;span style="font-style: italic;"&gt;something&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Honestly, I was afraid of Bugzilla. It's interface makes me cry, it's database layout makes me go nuts, but in the end, it has one important property Trac is missing: damint stabile codebase. Not to say how you can configure almost every possible detail in it.&lt;br /&gt;&lt;br /&gt;One thing sucks badly: you can't find usable scripts to do transition. With Trac, you already get bugzilla2trac.py script (if I can remember), but opposite... you can't find it easily.&lt;br /&gt;&lt;br /&gt;So, after searching and searching, one day Google was in the good mood and spit out in the first page of search results link on the &lt;a href="http://bluesock.org/%7Ewillg/blog"&gt;Will's blog&lt;/a&gt;, a nice guy that had the &lt;a href="http://bluesock.org/%7Ewillg/blog/dev/trac2bugzilla.html"&gt;similar&lt;/a&gt; problem. The best thing of all was he already wrote a &lt;a href="https://develop.participatoryculture.org/trac/democracy/browser/trunk/resources/bugs"&gt;script&lt;/a&gt; for own database transition. Excellent! And Will, thank you a lot!&lt;br /&gt;&lt;br /&gt;The script is a little bit specific for his Trac database, but with a little python knowledge, few tries and small amount of luck, you can get it working for own case.&lt;br /&gt;&lt;br /&gt;Luckily, the number of our bugs is not huge, so running script with the few manual interventions completed the job. Sweet! Now, we even have a nicely separated eFLTK and EDE bugs ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-3669735973581810934?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/3669735973581810934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=3669735973581810934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3669735973581810934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3669735973581810934'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/04/going-from-trac-to-bugzilla.html' title='Going from Trac to Bugzilla'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-3958318869330972296</id><published>2009-03-30T08:23:00.000-07:00</published><updated>2009-03-30T09:34:45.622-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Riding EDE on SunStudio</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt; this is not tutorial about how to compile EDE 1.x on SunStudio compiler, but impressions after compiling ede2 module (EDE 2.0).&lt;br /&gt;&lt;br /&gt;As I &lt;a href="http://sanelz.blogspot.com/2008/09/sunstudio-journey.html"&gt;wrote before&lt;/a&gt;, edelib and FLTK works fine with SunStudio 12 compiler. Of course, since I didn't tried edelib on this compiler for some time, some small tweaks were needed; these were mostly setting correct path to the compiler and runtime libraries (and preventing linkage with gcc libraries). Now, these steps are nicely documented in INSTALL files that comes with edelib.&lt;br /&gt;&lt;br /&gt;So, after compiling edelib and FLTK (did I say how you must compile FLTK on SunStudio too?), EDE came. Procedure was mostly the same, except I had to hardcode &lt;span style="font-style: italic;"&gt;fltk-config&lt;/span&gt; path in the configure script.&lt;br /&gt;&lt;br /&gt;This was mandatory since configure would pick up system's fltk-config (FLTK compiled with gcc), not the one compiled with SunStudio (I placed this one in &lt;span style="font-style: italic;"&gt;/opt/fltk-sun&lt;/span&gt;). This got me nice TODO to add &lt;span style="font-style: italic;"&gt;--with-fltk-path&lt;/span&gt; in configure script, the same flag edelib has for these purposes.&lt;br /&gt;&lt;br /&gt;So, before I fired &lt;span style="font-style: italic;"&gt;jam&lt;/span&gt;, I disabled compiling edewm, ede-panel and efiler. edewm and ede-panel are still on eFLTK and didn't compiled eFLTK with sun's compiler. On other hand, Vedran didn't have time to update efiler on the latest edelib changes, so, generally speaking, efiler is and will be in uncompileable state for some time (I'll have to motivate him to fix this, because I don't like when repo code can't be compiled).&lt;br /&gt;&lt;br /&gt;Compiling went fine; few small errors popped up (explicit casting to &lt;span style="font-style: italic;"&gt;const char**&lt;/span&gt;, nothing serious) and a bunch of warnings, which is good :) Although I tend to compile edelib and ede with &lt;span style="font-style: italic;"&gt;-Wall&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;-pedantic&lt;/span&gt; flags, gcc didn't complained so far.&lt;br /&gt;&lt;br /&gt;As usually, I got a few &lt;span style="font-style: italic;"&gt;Anachronism&lt;/span&gt;-istic warnings and a few &lt;span style="font-style: italic;"&gt;vairable shadow&lt;/span&gt;-ings. The one was pretty interesting and I'm curious how gcc didn't catch it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;MessageBox::set_input()&lt;/span&gt; was implemented like this:&lt;br /&gt;&lt;pre class="prettyprint"&gt;void MessageBox::set_input(const char* txt) {&lt;br /&gt;  if(inpt)&lt;br /&gt;      inpt-&gt;value(txt);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;but &lt;span style="font-style: italic;"&gt;MessageBox&lt;/span&gt; had &lt;span style="font-style: italic;"&gt;txt&lt;/span&gt; as private member too. Of course, gcc was smart and got my intention, but I would much prefer some warning here. +1 for SunStudio!&lt;br /&gt;&lt;br /&gt;Now, to save me from these &lt;span style="font-style: italic;"&gt;from-time-to-time-remember-to-compile-with-this-or-that&lt;/span&gt;, I'm planning to setup &lt;a href="http://www.buildbot.net/"&gt;buildbot&lt;/a&gt; with the nightly builds. Before some time, I played with &lt;a href="http://www.cdash.org/"&gt;CDash&lt;/a&gt; (via their public service), where I had to instruct edelib to generate cdash-like test result output.&lt;br /&gt;&lt;br /&gt;I don't know what happened; few times I couldn't submit results probably because server went offline and after that, I couldn't even login to edelib CDash account (I just checked now; seems edelib is still there :)).&lt;br /&gt;&lt;br /&gt;But, I will try to stick with the buildbot this time. CDash is CMake centric and buildbot does not need special output files to figure out were builds or tests  successfull of not. There are more things to say, but since their concepts are pretty different, comparaison wouldn't be fair.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-3958318869330972296?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/3958318869330972296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=3958318869330972296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3958318869330972296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3958318869330972296'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/03/riding-ede-on-sunstudio.html' title='Riding EDE on SunStudio'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1812550542187895408</id><published>2009-03-25T05:13:00.000-07:00</published><updated>2009-03-25T06:30:46.154-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>edelib-new-icon-theme merged</title><content type='html'>Title speaks for itself :)&lt;br /&gt;&lt;br /&gt;Why we needed a new icon loader? Well, because we needed it :P. &lt;span style="font-style: italic;"&gt;IconTheme&lt;/span&gt;  class was way too much monolithic; there you had icon snarfer from the theme, some kind of caching facility to reduce &lt;span style="font-style: italic;"&gt;access() &lt;/span&gt;and everything that packed in a singleton class. Not bad for some basic usage.&lt;br /&gt;&lt;br /&gt;I wanted some things beyond that, mainly to allow dynamic icons reload when the icon theme was changed during desktop session. You know, telling "&lt;span style="font-style: italic;"&gt;Please restart your desktop&lt;/span&gt;" just because you changed icon theme reminds me on Win 95 days. Don't  get me wrong; I'm not fond of the GNOME's instant-apply-on-the-click approach either, but let we leave "&lt;span style="font-style: italic;"&gt;Please restart...&lt;/span&gt;" way for some serious stuff :)&lt;br /&gt;&lt;br /&gt;Also, one thing itched me a lot: checks after icon was fetched. We had before:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;String path = IconTheme::get("foo-icon", ...);&lt;br /&gt;if(path.empty()) {&lt;br /&gt;  /* try to get "empty" icon */&lt;br /&gt;  path = IconTheme::get("empty", ...);&lt;br /&gt;  if(path.empty())&lt;br /&gt;     /* bail */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Fl_Image* img = Fl_Shared_Image::get(path.c_str());&lt;br /&gt;if(!img)&lt;br /&gt;  /* bail */&lt;br /&gt;&lt;br /&gt;/* finally load it */&lt;br /&gt;widget-&gt;image(img);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I already lost inspiration to load some icons.&lt;br /&gt;&lt;br /&gt;Now, by introducing &lt;span style="font-style: italic;"&gt;IconLoader&lt;/span&gt;, things are reduced to this:&lt;br /&gt;&lt;pre class="prettyprint"&gt;IconLoader::set(widget, "foo-icon", ...);&lt;/pre&gt;Much better.&lt;br /&gt;&lt;br /&gt;This introduces a lot of benefits; first it reduces the code, then it will automatically update widget's image when icon theme was changed (for this &lt;span style="font-style: italic;"&gt;Window&lt;/span&gt; class must be used) and, most important, allow me to explore efficient ways of icon loading (or whatever) without going in each program and update the changes.&lt;br /&gt;&lt;br /&gt;Of course, this solution is not perfect. There is no way to track when widget or image was destroyed (except beeing inside FLTK), so, from time to time, it is good to call &lt;span style="font-style: italic;"&gt;IconLoader::repoll()&lt;/span&gt; to update internal tracker. This thing is only needed when the large number of widgets or icons are loaded or destroyed in the short period.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;IconTheme&lt;/span&gt; is still there; now is class related to the only one thing: loading icon theme and it's metadata. This allows loading two different themes in the same time (for example, to fetch descriptions, sample icons and etc.).&lt;br /&gt;&lt;br /&gt;Someone will notice similarities with &lt;span style="font-style: italic;"&gt;KIconTheme&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;KIconLoader&lt;/span&gt; from kdelibs. That is because I had pretty blur idea how it should be done, so I peeked a little bit how expirienced guys did it. Except similar class and method names, everything else is different.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;edelib-new-icon-theme&lt;/span&gt; branch also introduced some improvements in &lt;span style="font-style: italic;"&gt;Window&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;MimeType&lt;/span&gt; classes (like using user defined icons for mime types).&lt;br /&gt;&lt;br /&gt;By the way, recently someone send me a link on discussion from &lt;a href="http://forums.wolvix.org/index.php/topic,1142.0.html"&gt;Wolvix forum&lt;/a&gt;. Thank you!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1812550542187895408?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1812550542187895408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1812550542187895408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1812550542187895408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1812550542187895408'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/03/edelib-new-icon-theme-merged.html' title='edelib-new-icon-theme merged'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-2326433914669523482</id><published>2009-03-22T03:19:00.000-07:00</published><updated>2009-03-22T03:36:23.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>NetworkManager sux (or not)</title><content type='html'>Last night I installed Fedora 10 (actually, I had it on my VirtualBox, but this time I wanted it on the disk), so that was a perfect time to test &lt;a href="http://projects.gnome.org/NetworkManager/"&gt;NetworkManager&lt;/a&gt;. I like when they said: "&lt;span style="font-style: italic;"&gt;The most important pieces of NetworkManager are desktop-environment and distribution agnostic&lt;/span&gt;": gives me some neat ideas :D&lt;br /&gt;&lt;br /&gt;Anyway, in my case, I have a wireless card that needed to be connected via xDSL. Nothing complicated, but...&lt;br /&gt;&lt;br /&gt;I'm not sure was it fault due NetworkManager or GNOME's fronted, but I couldn't make it to see wireless card in "&lt;span style="font-style: italic;"&gt;Hardware Device&lt;/span&gt;" tab; strange, since the card was regularly recognized in main hardware section.&lt;br /&gt;&lt;br /&gt;So, after some searching (and more searching), I found out how NetworkManager is still a young project, with a plenty of time for improvements :). That send me to the good old terminal and "&lt;span style="font-style: italic;"&gt;pppoe-setup&lt;/span&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-2326433914669523482?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/2326433914669523482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=2326433914669523482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2326433914669523482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2326433914669523482'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/03/networkmanager-sux-or-not.html' title='NetworkManager sux (or not)'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8328008533547080281</id><published>2009-03-16T10:35:00.000-07:00</published><updated>2009-03-22T12:22:28.654-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>edelib-new-icon-theme branch</title><content type='html'>The new icon theme code is on the road, and there is &lt;span style="font-style: italic;"&gt;edelib-new-icon-theme&lt;/span&gt; branch (I haven't commited changes yet). This change will break a lot of things, but it is better to do that now, than later.&lt;br /&gt;&lt;br /&gt;Reasons for these changes will be, hopefully, typed soon :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8328008533547080281?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8328008533547080281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8328008533547080281' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8328008533547080281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8328008533547080281'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/03/edelib-new-icon-theme-branch.html' title='edelib-new-icon-theme branch'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1678747523311725688</id><published>2009-03-09T00:59:00.000-07:00</published><updated>2009-03-09T02:13:17.434-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Playing with D-BUS service autostart</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Offtopic:&lt;/span&gt; a small undocumented issue in edelib about registering unique D-BUS name was &lt;a href="http://ede.svn.sf.net/viewvc/ede?view=rev&amp;amp;revision=2564"&gt;fixed in the repo&lt;/a&gt;. I'm not sure how I missed this; probably I was thinking that native &lt;span style="font-style: italic;"&gt;dbus_bus_request_name()&lt;/span&gt; will do all the work, but it turns out that it is much more powerfull than simply name request. Check out D-BUS docs about it (read that part few times, they complicated a little bit with explaination ;)).&lt;br /&gt;&lt;br /&gt;D-BUS service autostart (I'm using word "autostart", but docs are saying "start"; feels much more natural) is one very cool D-BUS feature (probably inspired with CORBA), where D-BUS would start a service provider on demand. E.g. you have &lt;span style="font-style: italic;"&gt;org.example.Test&lt;/span&gt; service implemented in &lt;span style="font-style: italic;"&gt;test-daemon&lt;/span&gt;, but you don't want to run in in the background all the time, only when is really needed. As D-BUS specs prescribes, you simply create an .desktop like file, ends it with .service (preferring way is to use service-like name, e.g. &lt;span style="font-style: italic;"&gt;org.example.Test.service&lt;/span&gt;) and put in D-BUS service directory. Now, when you first time conntact this service, &lt;span style="font-style: italic;"&gt;test-daemon&lt;/span&gt; would be spawned and apps would happily starts to consume &lt;span style="font-style: italic;"&gt;org.example.Test&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;So, following this, I added &lt;a href="http://www.freedesktop.org/wiki/Specifications/startup-notification-spec"&gt;Startup Notification&lt;/a&gt; support in &lt;span style="font-style: italic;"&gt;ede-launch-sn&lt;/span&gt;, a small helper tool for &lt;span style="font-style: italic;"&gt;ede-launch &lt;/span&gt;command I quickly constructed just for this; &lt;span style="font-style: italic;"&gt;ede-launch&lt;/span&gt; would connect on &lt;span style="font-style: italic;"&gt;org.equinoxproject.StartupNotify&lt;/span&gt; and call &lt;span style="font-style: italic;"&gt;StartupNotify&lt;/span&gt; member, initiating notification sequence. Then &lt;span style="font-style: italic;"&gt;ede-launch-sn&lt;/span&gt; would terminate that sequence after some timeout.&lt;br /&gt;&lt;br /&gt;Startup Notification listener is not implemented yet, so notification is only seen in window managers (or environments) that has support for it.&lt;br /&gt;&lt;br /&gt;I didn't put the code on the repo because I still didn't figure out should we need another service in the background and/or how could it be nicely blended in &lt;span style="font-style: italic;"&gt;ede-launch&lt;/span&gt; command.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1678747523311725688?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1678747523311725688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1678747523311725688' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1678747523311725688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1678747523311725688'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/03/playing-with-d-bus-service-autostart.html' title='Playing with D-BUS service autostart'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-3513403384556771579</id><published>2009-03-05T06:33:00.000-08:00</published><updated>2009-03-05T06:43:25.434-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>slacky.eu</title><content type='html'>Totally by accident, searching for Valgrind package for one of my (still not yet up to date) Slackwares 12.0 (yes, I'm lazy to compile it), I stumbled on this site by the Italian Slackware Community.&lt;br /&gt;&lt;br /&gt;They have a large package repository (everything you won't find on official CDs/DVD), and guess, there is EDE package too. Awesome!&lt;br /&gt;&lt;br /&gt;Go &lt;a href="http://www.slacky.eu/"&gt;slacky.eu&lt;/a&gt;, go :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-3513403384556771579?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/3513403384556771579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=3513403384556771579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3513403384556771579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/3513403384556771579'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/03/slackyeu.html' title='slacky.eu'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-4864301531287504535</id><published>2009-02-25T09:44:00.000-08:00</published><updated>2009-02-26T06:20:35.233-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Trashing stuff</title><content type='html'>Just noticed a &lt;a href="http://code.google.com/p/trash-cli/"&gt;trash-cli&lt;/a&gt; gets a fresh release.&lt;br /&gt;&lt;br /&gt;It could be the solution for uniform EDE trashing things, without re-implementing the same things all over the place. Or, it could be an idea for implementing EDE's own trashing tools... just thoughts :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-4864301531287504535?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/4864301531287504535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=4864301531287504535' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4864301531287504535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4864301531287504535'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/02/trashing-stuff.html' title='Trashing stuff'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6616604389075146528</id><published>2009-02-20T09:18:00.000-08:00</published><updated>2009-02-20T09:52:46.033-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Integration, integration</title><content type='html'>Just "integrated" (ha, soundy word) edewm (window manager) and eworkpanel (now known simply as ede-panel) in ede2 module. No, they are not new and fancy but an older versions from 1.x code.&lt;br /&gt;&lt;br /&gt;Why? Well, you have to have something that will manage your windows and raise them when gots minimized (and in the mean time work that well). The newer window manager currently exists, incompleted, in branches and it's finalizing I'm planning for 2.0 beta or similar (see &lt;a href="http://equinox-project.org/cgi-bin/trac.cgi/roadmap"&gt;Roadmap&lt;/a&gt;). Completing it would eat up too much of the time, so plans for alpha are to use older panel and window manager and see how everything else fits together (which is IMHO much more important than anything else).&lt;br /&gt;&lt;br /&gt;You know, you can have a perfect window manager and even better panel or desktop, but if they are not "compatible" (as people would say), then is bad. Kinda reminds me on relationships :)&lt;br /&gt;&lt;br /&gt;So, to sum up the things, everything works as expected. EDE is starting nicely (belive me or not, this is the first time I'm starting full EDE without problems and various hackery behind!). Quitting is not done yet (ede-panel still does not communicate well with evoke) and there are few issues with the menu links.&lt;br /&gt;&lt;br /&gt;More to come soon, hopefully ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6616604389075146528?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6616604389075146528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6616604389075146528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6616604389075146528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6616604389075146528'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/02/integration-integration.html' title='Integration, integration'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1943468395249651647</id><published>2009-02-19T06:19:00.000-08:00</published><updated>2009-02-19T06:36:09.335-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>evoke merged</title><content type='html'>...in the trunk. Latest addons (with a small refactoring) was an autostart support (actualy, imported from previous version and modified) and switching to the recent edelib changes in Resource class.&lt;br /&gt;&lt;br /&gt;evoke documentation partially finished mostly due plans for better reorganization. It would be nice to have clearly documented starting/quitting process, how to create a splash theme and bits related to the XSETTINGS values.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1943468395249651647?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1943468395249651647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1943468395249651647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1943468395249651647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1943468395249651647'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/02/evoke-merged.html' title='evoke merged'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-5175455127924568879</id><published>2009-02-17T04:41:00.000-08:00</published><updated>2009-02-17T06:13:47.532-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>evoke rewrite</title><content type='html'>evoke is going to branches for a fresh code. Actually, most of it is already done (just merged), where I kept old xsettings and splash engine code (with a small improvements).&lt;br /&gt;&lt;br /&gt;evoke is an EDE "starter" (it will start needed EDE programs) and "quitter" (will gracefully close all running programs and close X connection). It will also run splash at the startup, start programs from &lt;span style="font-style: italic;"&gt;autostart&lt;/span&gt; folders and keep xsettings session. In short, manage startup and quitting and everything related to this.&lt;br /&gt;&lt;br /&gt;Maybe it looks like a kitchen sink, but believe me, before this "code redux" it was a much worse kitchen sink. It had an option to run external programs, monitor it and report if they crashes and managed screen composition (a.k.a. composite manager). Add to this that compositing via FLTK is pain in the ass (I had to reimplement FLTK looping in evoke so popped windows could be redrawn and receive additional events), plus all the "nice things" related to the spawning externaly requested programs. Pfew!&lt;br /&gt;&lt;br /&gt;You probably ask by now how all that worked together? Most of it did, but it (still) had a big problems with events of dialog windows that could pop up in every moment: some of them didn't show up, some didn't receive events... pretty bad things for something that will hold desktop session.&lt;br /&gt;&lt;br /&gt;So, instead digging for another "fix", time was to get serious and dump everything not related to it's mission. Even before I planned to move compositing code in window manager (where it belongs) or as an independent program (even better solution) and all that "runner-launcher-watcher" code was a mistake. Vedran proposed to keep most of this background stuff in one program (to reduce a memory usage by running only one instance), but it ended up using even more memory not counting (possible) instability due races. At some point, we can addopt old &lt;span style="font-style: italic;"&gt;elauncher&lt;/span&gt; (runner from EDE 1.x) to communicate with already running elauncher instance via D-BUS or some other IPC so it does not get's duplicate with each new started program. Just an idea...&lt;br /&gt;&lt;br /&gt;To get in new evoke... maybe the biggest, user visible thing is a small addoption for the splash themes. You create a folder and put a background image and few icons and voila, job done. I had no clue how splash theming should looks like because every other desktop is doing it in different way (they done it mostly via "engines", but why you should write a C/C++ code just to add different splash screen).&lt;br /&gt;&lt;br /&gt;So, in that folder you just plop "&lt;span style="font-style: italic;"&gt;background.png&lt;/span&gt;" (it has to have this name and to be a png image) and a bunch of icons and their name associate with program started from "&lt;span style="font-style: italic;"&gt;ede-startup.conf&lt;/span&gt;". Remember this name, since it will holds everything needed to fully starts EDE.&lt;br /&gt;&lt;br /&gt;Here a small shot of the-5-minute-created theme, called "scape":&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_aTCFzGjIQv4/SZrDC8soXkI/AAAAAAAAABI/2wHc_svrK-M/s1600-h/splash-preview.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 304px; height: 209px;" src="http://4.bp.blogspot.com/_aTCFzGjIQv4/SZrDC8soXkI/AAAAAAAAABI/2wHc_svrK-M/s320/splash-preview.png" alt="" id="BLOGGER_PHOTO_ID_5303765966602657346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;There are few things in my head planned to be added, like customizing where icons will be placed, icon jumping-blinking-or-else effects, progress text font/color and etc. They will definitely require a special file, specific to each theme, but let's not hurry; these are features and features can be added later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-5175455127924568879?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/5175455127924568879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=5175455127924568879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5175455127924568879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5175455127924568879'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/02/evoke-rewrite.html' title='evoke rewrite'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_aTCFzGjIQv4/SZrDC8soXkI/AAAAAAAAABI/2wHc_svrK-M/s72-c/splash-preview.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-2131566511720671819</id><published>2009-02-13T06:00:00.000-08:00</published><updated>2009-02-17T04:41:19.614-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Some stuff on ede-look.org</title><content type='html'>Just uploaded two screenshots and logo at &lt;a href="http://ede-look.org/"&gt;http://ede-look.org&lt;/a&gt; site. It would be a shame not to use what &lt;a href="http://opendesktop.org/"&gt;opendesktop.org&lt;/a&gt; guys offered to us :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_aTCFzGjIQv4/SZV-RhIrNMI/AAAAAAAAABA/AbC2_FMGdeA/s1600-h/el.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 304px; height: 189px;" src="http://1.bp.blogspot.com/_aTCFzGjIQv4/SZV-RhIrNMI/AAAAAAAAABA/AbC2_FMGdeA/s320/el.png" alt="" id="BLOGGER_PHOTO_ID_5302282975716259010" border="0" /&gt;&lt;/a&gt;Interesting thing is that you will not get screenshots visible by default; instead you will have to click on &lt;span style="font-style: italic;"&gt;"Screenshots"&lt;/span&gt; on left side and after new content is loaded, find &lt;span style="font-style: italic;"&gt;"don't show screenshots"&lt;/span&gt; and unselect it. Odd, I know.&lt;br /&gt;&lt;br /&gt;So, if you feels a little bit &lt;span style="font-style: italic;"&gt;arty&lt;/span&gt;, feel free to create an account and add something. Screenshots, wallpapers, refreshed logo(s) or anything EDE related, crazy or not, your playground or something completely new. Show us your talent!&lt;br /&gt;&lt;br /&gt;Btw. those fonts you see, I didn't put them :) Seems they are added so pages does not looks empty.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-2131566511720671819?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/2131566511720671819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=2131566511720671819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2131566511720671819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2131566511720671819'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/02/some-stuff-on-ede-lookorg.html' title='Some stuff on ede-look.org'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_aTCFzGjIQv4/SZV-RhIrNMI/AAAAAAAAABA/AbC2_FMGdeA/s72-c/el.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-525070954412047688</id><published>2009-02-11T06:05:00.000-08:00</published><updated>2009-02-11T08:45:51.073-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Release tags maintenance</title><content type='html'>I just little bit reordered tagging schema in &lt;a href="http://ede.svn.sourceforge.net/viewvc/ede/tags/"&gt;repository tags&lt;/a&gt;, mostly for better readability. Instead previous v1_0_2 and v2_0_7 (inherited from cvs), where you didn't know what release version is for efltk what for ede, now we have much better names (e.g. ede-1.0.2 and efltk-2.0.7). Not to say how will save us from ambiguities when edelib and ede (both tagged as 2.0) are added.&lt;br /&gt;&lt;br /&gt;One thing made me mad: subversion had to store these changes. Thanks God history for each file was preserved, but couldn't be nice if I could say "svn move x y --and-do-not-write-history", since I'm just renaming directories not related to the final tag and do not want it in file history changes (err, because file history changes are related to the changes in file not to the parent of it's parent directory renaming). Or they are maybe related...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-525070954412047688?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/525070954412047688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=525070954412047688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/525070954412047688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/525070954412047688'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/02/release-tags-maintenance.html' title='Release tags maintenance'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6414123044610161993</id><published>2009-02-06T04:18:00.000-08:00</published><updated>2009-02-06T04:44:33.017-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Playing with logo</title><content type='html'>Few days ago, after I compiled latest &lt;a href="http://www.inkscape.org/"&gt;Inkscape&lt;/a&gt;, I played a little bit with EDE logo mostly as learning (or refreshing) process with Inkscape and to see what a new version brings. So here it is (warning, programmer art is following):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_aTCFzGjIQv4/SYwsPsCoToI/AAAAAAAAAAw/L8XW6tJ1tNo/s1600-h/demo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 99px; height: 101px;" src="http://1.bp.blogspot.com/_aTCFzGjIQv4/SYwsPsCoToI/AAAAAAAAAAw/L8XW6tJ1tNo/s320/demo.png" alt="" id="BLOGGER_PHOTO_ID_5299659509540081282" border="0" /&gt;&lt;/a&gt;Interesting thing is that in Inkscape some very cool effects can be created in a few clicks, allowing you to experiment a lot. Meaning this: you can start with some blury idea (or no idea at all) and complete with amazing art. Of course, in artistic hands this goes to the whole new level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6414123044610161993?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6414123044610161993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6414123044610161993' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6414123044610161993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6414123044610161993'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/02/playing-with-logo.html' title='Playing with logo'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_aTCFzGjIQv4/SYwsPsCoToI/AAAAAAAAAAw/L8XW6tJ1tNo/s72-c/demo.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-7769031190070066322</id><published>2009-02-05T08:07:00.000-08:00</published><updated>2009-02-05T08:15:49.546-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Bad time for SkyOS</title><content type='html'>Looks like &lt;a href="http://www.skyos.org/"&gt;SkyOS&lt;/a&gt; is having some &lt;a href="http://www.skyos.org/?q=node/647"&gt;development issues&lt;/a&gt; and author is stipulating further development paths.&lt;br /&gt;&lt;br /&gt;On one hand, I'm finding SkyOS project pretty amazing with great respect for it's creator; everything is done by one man, from kernel to GUI and apps and these news are sad. On other hand, if author makes it open source, I'm thinking it will be a great win (for author and users), not to say how I will finaly get a chance to try it without paying for it ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-7769031190070066322?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/7769031190070066322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=7769031190070066322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7769031190070066322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7769031190070066322'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/02/bad-time-for-skyos.html' title='Bad time for SkyOS'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8767251795918507202</id><published>2009-01-21T07:32:00.000-08:00</published><updated>2009-01-21T07:57:45.351-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Stop Software Patents Petition</title><content type='html'>I just gave a little contribution against software patents in Europe by signing a petition at &lt;a href="http://stopsoftwarepatents.eu/"&gt;stopsoftwarepatents.eu&lt;/a&gt; and placing a banner at &lt;a href="http://equinox-project.org/"&gt;equinox-project.org&lt;/a&gt; page.&lt;br /&gt;&lt;br /&gt;Go and vote for patent-free Europe!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8767251795918507202?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8767251795918507202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8767251795918507202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8767251795918507202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8767251795918507202'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/01/stop-software-patents-petition.html' title='Stop Software Patents Petition'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-141932832914859224</id><published>2009-01-20T04:53:00.000-08:00</published><updated>2009-01-20T05:04:46.231-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Config class locale fix</title><content type='html'>After a&lt;a href="http://sourceforge.net/mailarchive/forum.php?thread_name=493A40BC.1000901%40gmail.com&amp;amp;forum_name=ede-devel"&gt; bit of talk&lt;/a&gt; with Double 12, I finaly figured out why &lt;span style="font-style: italic;"&gt;Config&lt;/span&gt; class (including &lt;span style="font-style: italic;"&gt;Resource&lt;/span&gt; too) in edelib, could not fetch float values correctly in different locales, although it writes them fine. Nothing fancy but definitely annoying. Fixed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-141932832914859224?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/141932832914859224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=141932832914859224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/141932832914859224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/141932832914859224'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/01/config-class-locale-fix.html' title='Config class locale fix'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8999253008105869279</id><published>2009-01-15T01:05:00.000-08:00</published><updated>2009-01-20T04:53:49.155-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>ede-look.org</title><content type='html'>Did you know for existance of the &lt;a href="http://ede-look.org/"&gt;ede-look.org&lt;/a&gt; site? Neither did I :)&lt;br /&gt;&lt;br /&gt;Yesterday I stumble on it, not sure how and I got myself pretty amazed with it. Now, the only thing left is to fill it :)&lt;br /&gt;&lt;br /&gt;Thank you &lt;a href="http://opendesktop.org/"&gt;openDesktop.org&lt;/a&gt; guys!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8999253008105869279?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8999253008105869279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8999253008105869279' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8999253008105869279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8999253008105869279'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/01/ede-lookorg.html' title='ede-look.org'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-5695901559201945125</id><published>2009-01-14T07:47:00.000-08:00</published><updated>2009-01-14T08:08:01.499-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>No more builtin paths</title><content type='html'>At last, ede2 module is directed by autoconf from now on. I just completed &lt;span style="font-style: italic;"&gt;configure.in&lt;/span&gt; file (including all prerequisites for that) so typical edelib "&lt;span style="font-style: italic;"&gt;./autogen.sh &amp;amp;&amp;amp; jam &amp;amp;&amp;amp; jam install&lt;/span&gt;" recepie will do the magic.&lt;br /&gt;&lt;br /&gt;Some docs are updated too, precisely &lt;span style="font-style: italic;"&gt;README.alpha&lt;/span&gt; so interested parties can read something useful on how to compile the current code. And yes, it is included as part of manual building process and you will get "Readme First" at the start page.&lt;br /&gt;&lt;br /&gt;Only thing that itches me currently are some m4 scripts duplication between edelib and ede. For example, ede2 now uses jam.m4, libxpm.m4 and xlib.m4 scripts from edelib and would be nice if they could be shared somehow. Since edelib and ede2 are separate modules, the only solution I'm seeing now is creating an another (e.g. m4-macros) module. Now, the only "glitch" is that you will have to download it separately and put in ede2 and edelib directories; hm... reminds me to the GNOME way. After a few seconds of thinking, better to keep them duplicate :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-5695901559201945125?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/5695901559201945125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=5695901559201945125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5695901559201945125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/5695901559201945125'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/01/no-more-builtin-paths.html' title='No more builtin paths'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-2800997675494448687</id><published>2009-01-13T03:50:00.000-08:00</published><updated>2009-01-13T07:17:43.012-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>ede-screensaver-conf refresh</title><content type='html'>I always asked myself why do we have too many screensaver tools, all of them doing the same thing, like xscreensaver, kscreensaver, gnome-screensaver or xlock; why we don't have one, &lt;span style="font-style: italic;"&gt;a good one&lt;/span&gt; and numerous frontends for it. Wouldn't be so much simple?&lt;br /&gt;&lt;br /&gt;I'm not sure who came first after xlock, but reading &lt;a href="http://www.jwz.org/xscreensaver/faq.html#kde"&gt;a few&lt;/a&gt; &lt;a href="http://www.jwz.org/xscreensaver/faq.html#gnome-screensaver"&gt;answers&lt;/a&gt; on &lt;a href="http://www.jwz.org/xscreensaver/faq.html"&gt;XScreenSaver FAQ&lt;/a&gt;, situation between them (a.k.a. cooperation) is not very good. I don't know how gnome-screensaver works, but kscreensaver (at least one from 3.5.x series) is a wrapper around xscreensaver with own ways of doing things, which makes XScreenSaver author pretty unsatisfying.&lt;br /&gt;&lt;br /&gt;After reading those answers on FAQ, you would, as any reasonable person in FOSS worls, starting to ask why those damn KDE/GNOME guys didn't use what already was given to them? Why do they have to invent the wheel all over again filling our hard drives with programs doing same stuff just with different names?&lt;br /&gt;&lt;br /&gt;But, it turns out XScreenSaver is not perfect and seems author does not care about it (actually, there is no such a thing as perfection in software, but everyone strives to it). I'm talking here about perfection towards developers, those who want to utilize XScreenSaver with own frontends and addons.&lt;br /&gt;&lt;br /&gt;Documentation about this is, simply said, a zero. XScreenSaver is split between daemon and GUI frontend, and the way how they communicate is buried deep in the code, so if you want to discover it, well... go for it. Everything from seeing is daemon is started, sending preview hacks (these are those stuff you are seeing on the screen after screensaver is invoked) and on demand blanking, quitting and etc. is up to you to figure out.&lt;br /&gt;&lt;br /&gt;Maybe author didn't want to expose own "&lt;span style="font-style: italic;"&gt;messaging API&lt;/span&gt;", but many programs can benefit from it. For example, media players can temporarily halt daemon when is started or when those visual effects are played within the song. Yes, some of them (at least I know about Mplayer and Xine) detect it and do the right thing, but how about something more than that?&lt;br /&gt;&lt;br /&gt;Let say you want to tell daemon to use specific hack as default one, store own preferences and similar. Yes, these are tasks for own fronted and XScreenSaver is not very fronted friendly. So, what is the solution? Doing the same thing XScreenSaver does; again reinventing the wheel.&lt;br /&gt;&lt;br /&gt;During last few days, I was working on &lt;span style="font-style: italic;"&gt;ede-screensaver-conf&lt;/span&gt;, an improved fronted we had before. I tried to go beyond a major limitation it had before: detecting a new hacks or to be xscreensaver version agnostic.&lt;br /&gt;&lt;br /&gt;To be precise, previous version (older name was &lt;span style="font-style: italic;"&gt;esvrconf&lt;/span&gt;) had builtin list of hacks, copied from one of the older xscreensaver versions and... you know how what happens: thins are changed, options are added/removed and would be nice if &lt;span style="font-style: italic;"&gt;ede-screensaver-conf&lt;/span&gt; could addopt to these. Also, one of the goals was to read/write directly in ~/.xscreensaver file (where options are stored) so, besides daemon, xscreensaver own GUI fronted could cooperate nicely.&lt;br /&gt;&lt;br /&gt;So, did I manage to achive given? Most of it. &lt;span style="font-style: italic;"&gt;ede-screensaver-conf&lt;/span&gt; will happily read user .xscreensaver file and display needed stuf. If that file does not exists, it will scan for hacks and their config files in usual places and re-generate it. Of course, it will contain only options it needs; for more options you'll still have to run &lt;span style="font-style: italic;"&gt;xscreensaver-demo&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;One option I'm not going to implement, at least now, is "refreshing for a new hacks" (didn't have a better name). For example, if you add a new hack (in usual hack directory) and user .xscreensaver exists without it, it will not be seen. To see it, you'll have to remove that .xscreensaver file and let &lt;span style="font-style: italic;"&gt;ede-screensaver-conf&lt;/span&gt; do the rest. Not so complicated :P&lt;br /&gt;&lt;br /&gt;And one of the properties I'm very happy about is merging with existing user config file: e.g. you have config file generated with &lt;span style="font-style: italic;"&gt;xscreensaver-demo&lt;/span&gt; (and filled with all needed and uneeded stuff) and after you change something with &lt;span style="font-style: italic;"&gt;ede-screensaver-conf&lt;/span&gt;, only changed options will be updated, preserving those written by &lt;span style="font-style: italic;"&gt;xscreensaver-demo&lt;/span&gt;. At the end, everybody should be happy :)&lt;br /&gt;&lt;br /&gt;Now, the only issue left is to finalize GUI look (and test for hidden bugs). Currently it looks like improved &lt;span style="font-style: italic;"&gt;esvrconf&lt;/span&gt;, but there is a few places for more enhacements. We will see...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-2800997675494448687?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/2800997675494448687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=2800997675494448687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2800997675494448687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/2800997675494448687'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2009/01/ede-screensaver-conf-refresh.html' title='ede-screensaver-conf refresh'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-4954944248832174320</id><published>2008-12-31T04:51:00.000-08:00</published><updated>2009-01-13T06:24:42.964-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>No FOSDEM this year either</title><content type='html'>Looks like EDE will not have a chance for presentation on &lt;a href="http://fosdem.org/"&gt;FOSDEM&lt;/a&gt; this year. Again.&lt;br /&gt;&lt;br /&gt;Last year I tried to apply for stands (I know, I know, trying to go far) and only &lt;a href="http://archive.fosdem.org/2008/stands"&gt;the big ones&lt;/a&gt; got a chance. I was pissed for that. Don't get me wrong; I wasn't all that mad for rejection, but also for seeing each year on each conference 10-20 well known projects that will give me &lt;span style="font-style: italic;"&gt;"the news"&lt;/span&gt; I already know. If you don't believe me, then just see the difference between &lt;a href="http://fosdem.org/2009/stands/list"&gt;this&lt;/a&gt; and &lt;a href="http://archive.fosdem.org/2008/stands"&gt;previous&lt;/a&gt; year.&lt;br /&gt;&lt;br /&gt;Seems that &lt;a href="http://fosdem.org/2009/node/164"&gt;Lighting Talks&lt;/a&gt; are the only fresh part of this event; each year there are new or soon-to-be-known projects mostly due some rules (e.g. you can't be twice). Can those rule be applied for stands/devrooms too? Looks like not.&lt;br /&gt;&lt;br /&gt;Now, rejection is probably our falt too: there was release a year ago and the current 2.0 development is in progress, maybe too slow for the eyes outside it. You know, it's a little bit hard to say: "&lt;span style="font-style: italic;"&gt;I just got edelib::list pointer specialization and proves it wasn't so good"&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;"ede-screensaver-conf will now communicate with xscreensaver via X messages"&lt;/span&gt; to someone who is not familiar with these. Even if that person is familiar, I'm sure he/she will not waste their time on reading commit logs.&lt;br /&gt;&lt;br /&gt;But, things are not that bad: a new year is comming and will see what will bring us :) And of course: Happy New Year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-4954944248832174320?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/4954944248832174320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=4954944248832174320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4954944248832174320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4954944248832174320'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/12/no-fosdem-this-year-either.html' title='No FOSDEM this year either'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6191988243806497963</id><published>2008-12-03T06:27:00.000-08:00</published><updated>2009-01-13T06:24:18.601-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>EDE in "6 of the Best Lean Linux Desktop Environments"</title><content type='html'>Looks like EDE got attention on &lt;a href="http://www.linuxlinks.com/"&gt;LinuxLinks&lt;/a&gt; in &lt;a href="http://www.linuxlinks.com/article/2008112315231841/Desktop.html"&gt;6 of the Best Lean Linux Desktop Environments&lt;/a&gt;  article. I just find out about it via &lt;a href="http://osnews.com/comments/20598"&gt;osnews entry&lt;/a&gt;. Cool!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6191988243806497963?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6191988243806497963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6191988243806497963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6191988243806497963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6191988243806497963'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/12/ede-in-6-of-best-lean-linux-desktop.html' title='EDE in &quot;6 of the Best Lean Linux Desktop Environments&quot;'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6253788270537251590</id><published>2008-11-24T03:11:00.000-08:00</published><updated>2008-11-24T03:22:40.651-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Late on party</title><content type='html'>Seems I have a good sense of comming late on party.  Checking a &lt;a href="http://fosdem.org/2009/call_for_devrooms_and_stands"&gt;deadline for stands on Fosdem 2009&lt;/a&gt;, looks I missed it a few days ago :(. But, even if I sent a request, there is a highly chance it would be rejected, as it was before (you know, you have to the big/famous project which pisses me off).&lt;br /&gt;&lt;br /&gt;So, I will try to apply on &lt;a href="http://fosdem.org/2009/call_for_lightningtalks"&gt;Lightingtalks&lt;/a&gt;, as advised by one of the &lt;a href="http://www.mozart-oz.org/"&gt;Mozart&lt;/a&gt; developers. We will see what will happen...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6253788270537251590?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6253788270537251590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6253788270537251590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6253788270537251590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6253788270537251590'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/11/late-on-party.html' title='Late on party'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8721539370088944366</id><published>2008-11-13T05:02:00.000-08:00</published><updated>2008-11-24T03:24:11.585-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Scheming things</title><content type='html'>During some spare time in last month, instead putting some efforts in EDE, I played a bit with some scheme implementations, notably &lt;a href="http://practical-scheme.net/gauche/"&gt;Gauche&lt;/a&gt; and &lt;a href="http://clojure.org/"&gt;Clojure&lt;/a&gt; (ok, ok, Clojure is not  scheme, just don't yell :P).&lt;br /&gt;&lt;br /&gt;I will omit Clojure here since there is a lot of buzz about it over the net currently (which is good), and even a book is comming soon. Yes, it deserves all that buzz :)&lt;br /&gt;&lt;br /&gt;Gauche is, on other hand, pure scheme aiming for scripting stuff and if you are interested, for embedding too. Important thing, at least for me, is a fast startup (a thing where Guile sucks badly) and ready network-xml-opengl-clos-etc libraries. Also, you don't have to wait eternity to compile it (like &lt;a href="http://plt-scheme.org/"&gt;PLT&lt;/a&gt; or &lt;a href="http://code.google.com/p/ypsilon/"&gt;Ypsilon&lt;/a&gt;) :P&lt;br /&gt;&lt;br /&gt;Curious thing is that Gauche author merge in it experience earned in &lt;span style="font-style: italic;"&gt;Final Fantasy&lt;/span&gt; movie (yep, there was a lot of scheme code in that movie), and he nicely put all of it in &lt;a href="http://practical-scheme.net/#docs"&gt;some of his essays&lt;/a&gt; (reading advised, even if you don't like scheme language).&lt;br /&gt;&lt;br /&gt;Since this is not a review but mostly a few words finding excuses for recent little bit rare commits in &lt;a href="http://ede.svn.sf.net/viewvc/ede/trunk/ede2/"&gt;ede2&lt;/a&gt; module, I will end here. I'll have to play with Gauche more for a final impressions :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8721539370088944366?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8721539370088944366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8721539370088944366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8721539370088944366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8721539370088944366'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/11/scheming-things.html' title='Scheming things'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8935195560739412782</id><published>2008-10-24T07:19:00.000-07:00</published><updated>2008-11-24T03:23:50.759-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Cute icon theme</title><content type='html'>Vedran just pointed me to very nice icon theme named &lt;a href="http://blogs.sun.com/chandan/?anchor=openworld_icon_theme"&gt;OpenWorld&lt;/a&gt;. Too bad SVG files are not available yet since there is a very high level of interest for them (as I can see from the comments).&lt;br /&gt;&lt;br /&gt;For now, we'll have to be happy with 48x48 size only.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8935195560739412782?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8935195560739412782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8935195560739412782' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8935195560739412782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8935195560739412782'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/10/cute-icon-theme.html' title='Cute icon theme'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8747600564412439323</id><published>2008-10-15T03:53:00.000-07:00</published><updated>2008-10-15T05:38:45.495-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Distributing programs correctly</title><content type='html'>One of the things I like in &lt;a href="http://www.call-with-current-continuation.org/"&gt;Chicken&lt;/a&gt; scheme is one of the cleanest distribution model I ever seen. For some it will look, at first, very ordinary or they will not notice it at all (at best) but... shouldn't The Right Way be the program installation without noticing that procedure at all?&lt;br /&gt;&lt;br /&gt;I never was a fond of distributing own binaries (except a distro specific packages) on Linux; you never know what the person who downloads it has. Does it have correct glibc or stdc++ or whatever libraries you are using? Just bump the source archive and let configure do the magic.&lt;br /&gt;&lt;br /&gt;But in Chicken case, things are different. You simply &lt;a href="http://chicken.wiki.br/releases/"&gt;download the binary&lt;/a&gt; and extract it in / directory.&lt;br /&gt;&lt;br /&gt;Later, you find out you are missing the big integer support (not enabled by default), simply telling "&lt;span style="font-style: italic;"&gt;chicken-setup numbers&lt;/span&gt;" in command line and "&lt;span style="font-style: italic;"&gt;(use numbers)&lt;/span&gt;" at the beggining of the program will brings them.&lt;br /&gt;&lt;br /&gt;And at the end, you want to compile your code, "&lt;span style="font-style: italic;"&gt;csc yourfile.scm&lt;/span&gt;" will do it.&lt;br /&gt;&lt;br /&gt;Now, can things be more simple than that? You should not be worried will Chicken's binary works on your Linux distro nor what are &lt;a href="http://chicken.wiki.br/Eggs%20Unlimited%203"&gt;the eggs&lt;/a&gt;, nor how "&lt;span style="font-style: italic;"&gt;chicken-setup&lt;/span&gt;" resolves egg dependencies, finds and downloads them and at the end, compiles and installs them. Nor how "&lt;span style="font-style: italic;"&gt;csc&lt;/span&gt;" calls gcc at the background to perform final translation of generated C code to the binary.&lt;br /&gt;&lt;br /&gt;Everything works.&lt;br /&gt;&lt;br /&gt;Now, when &lt;a href="http://gcc.gnu.org/"&gt;the&lt;/a&gt; &lt;a href="http://www.python.org/"&gt;big&lt;/a&gt; &lt;a href="http://www.perl.org/"&gt;names&lt;/a&gt; or &lt;a href="http://www.gnome.org/"&gt;the&lt;/a&gt; &lt;a href="http://www.kde.org/"&gt;big&lt;/a&gt; programs will have the similar thing with the same (or at least similar) easiness?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8747600564412439323?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8747600564412439323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8747600564412439323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8747600564412439323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8747600564412439323'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/10/distributing-programs-correctly.html' title='Distributing programs correctly'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-1802257616102375947</id><published>2008-10-13T06:37:00.000-07:00</published><updated>2008-10-13T06:53:30.567-07:00</updated><title type='text'>Code prettyfier</title><content type='html'>Just played with a &lt;a href="http://google-code-prettify.googlecode.com/"&gt;Google's code prettify&lt;/a&gt; and after following &lt;a href="http://developertips.blogspot.com/2007/08/syntaxhighlighter-on-blogger.html"&gt;these advices&lt;/a&gt; and &lt;a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html"&gt;these&lt;/a&gt;, code highlighting is available here too.&lt;br /&gt;&lt;br /&gt;Let we see what it can make...&lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;/*&lt;br /&gt; * some C/C++ code&lt;br /&gt; */&lt;br /&gt;class Foo {&lt;br /&gt;private:&lt;br /&gt; // nothing&lt;br /&gt;public:&lt;br /&gt; // nothing&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;void baz(void) {&lt;br /&gt;/* nothing too */&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Some python code:&lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;# a comment&lt;br /&gt;def foo():&lt;br /&gt;   print "bla"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And scheme code:&lt;br /&gt;&lt;code class="prettyprint lang-lisp"&gt;&lt;br /&gt;(define (func a b)&lt;br /&gt;(+ a b))&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Looks like it works :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-1802257616102375947?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/1802257616102375947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=1802257616102375947' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1802257616102375947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/1802257616102375947'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/10/code-prettyfier.html' title='Code prettyfier'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6873105328392207481</id><published>2008-09-23T02:27:00.000-07:00</published><updated>2008-09-23T06:04:07.797-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>SunStudio journey</title><content type='html'>Some time ago I managed to get (read as "downloaded") a &lt;a href="http://developers.sun.com/sunstudio/"&gt;SunStudio&lt;/a&gt; toolchain; it is always nice to see what alternatives could look like and/or to prove how badly gcc sucks these days. Unforunately, lack of time left only few "Hello worlds" compiled with Sun's product, a quick usage and compilation speed test.&lt;br /&gt;&lt;br /&gt;Last night I decided to take things thoroughly: to put edelib on test with this compiler. The truth is that gcc spoiled us a lot. At least on everything except Windows.&lt;br /&gt;&lt;br /&gt;Things are pretty consistent across the versions (sans ABI changes): switches and flags are mostly the same, errors and warnings too. Almost every person who was using it more than a few monts will immediately grasp what was wrong by just quickly scanning a few first words of the error report.&lt;br /&gt;&lt;br /&gt;Now, taking part with Sun's compiler reminded me on those Windows days when you wanted your application be compiled with as much compilers as possible; so you could stick "extremely portable" on it. And those days were painful. You would spend most of the time reading compiler documentation, fixing build system to support special flags that should made your program runs faster and, at the same time, be smaller.&lt;br /&gt;&lt;br /&gt;To the present time: after few obscure error messages ("&lt;span style="font-style: italic;"&gt;mister, you are implicitly casting from void* to char*&lt;/span&gt;") I started to question my knowledge about type promotion in C, until I found that I was compiling a C code with a C++ compiler (in a Sun's vocabulary, "&lt;span style="font-style: italic;"&gt;cc&lt;/span&gt;" is C compiler and "&lt;span style="font-style: italic;"&gt;CC&lt;/span&gt;" is C++ compiler); actualy, during some play I left CC and CXX environment variables to point to "CC" and configure script happily picked it.&lt;br /&gt;&lt;br /&gt;After fixing that, things started to roll with some strange "&lt;span style="font-style: italic;"&gt;Warning (Anachronism)&lt;/span&gt;" and "&lt;span style="font-style: italic;"&gt;Warning: i hides Fl_Window::i&lt;/span&gt;" (where first "i" is local variable and second is private Fl_Window member; different types of course) and, at the end, things failed in the linking stage with "&lt;span style="font-style: italic;"&gt;undefined reference to __mangled-junk-names__&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Aaaaahhh, I'm compiling with a different compiler and it should provide own C/C++/whatever startup and standard libraries. So, adding Sun's "libCstd" and "libCrun" fixed it. After this, things finished successfully, at my suprise.&lt;br /&gt;&lt;br /&gt;Hm, it shouldn't be this way; it should be much harder.&lt;br /&gt;&lt;br /&gt;Going through the build scripts, I found thing I missed: programs would, by default, link with libstdc++ (gcc's C++ standard library). Why would I want to link with it, when Sun's compiler comes with it?&lt;br /&gt;&lt;br /&gt;Removing that and linker went crazy with "undefined reference to new and delete operator family"; a common error in gcc if you miss to link either with libstdc++ or libsupc++ (libsupc++ have only these operators and is perfect if you don't want all that STL stuff with you). So, after putting libsupc++, I get another monster: this time undefined reference to gcc's internal functions like "&lt;span style="font-style: italic;"&gt;_Unwind_Resume&lt;/span&gt;" and such. Huh boy.&lt;br /&gt;&lt;br /&gt;This error will pop up usualy when you feed gcc with &lt;span style="font-style: italic;"&gt;-nostdlib&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;-nodefaultlibs&lt;/span&gt; flags; they will omit all libraries gcc secretly put behind your back. Usually no one should mess with above flags except they feels masochistic or know their business. One of those secret libraries is libgcc (guess) and there are _Unwind_xxx functions.&lt;br /&gt;&lt;br /&gt;After addition, linkage went fine. Hm... again I'm missing something: why would I still link with gcc libraries? Then came up: FLTK was compiled with gcc!&lt;br /&gt;&lt;br /&gt;Now, FLTK rebuild with Sun's compiler and another edelib rebuild (this time without libsupc++ and libgcc) yielded correct linkage.&lt;br /&gt;&lt;br /&gt;And, at the end, a small comparison of sizes generated binaries. First of all I didn't use advanced options for both compilers and I just put "&lt;span style="font-style: italic;"&gt;-O2&lt;/span&gt;" for gcc and "&lt;span style="font-style: italic;"&gt;-xO3&lt;/span&gt;" for sunCC so this comparison should not be used as the final word; out there exists a much deeper comparisons.&lt;br /&gt;&lt;br /&gt;I compared sizes of &lt;span style="font-style: italic;"&gt;libedelib&lt;/span&gt; library, &lt;span style="font-style: italic;"&gt;efile&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;elinks&lt;/span&gt; from examples and &lt;span style="font-style: italic;"&gt;run_test&lt;/span&gt;, a program that links a bunch of tests.&lt;br /&gt;&lt;br /&gt;And here are they, with all sizes in bytes:&lt;br /&gt;&lt;br /&gt;gcc:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;libedelib.a 331794&lt;/li&gt;&lt;li&gt;run_tests 367824&lt;/li&gt;&lt;li&gt;efile 95459&lt;/li&gt;&lt;li&gt;elinks 73617&lt;/li&gt;&lt;/ul&gt;sunCC:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; libedelib.a 384330&lt;/li&gt;&lt;li&gt; run_tests 498964&lt;/li&gt;&lt;li&gt;efile 106045&lt;/li&gt;&lt;li&gt;elinks 85863&lt;/li&gt;&lt;/ul&gt;I quickly "time-ed" &lt;span style="font-style: italic;"&gt;run_test&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;elinks&lt;/span&gt; (elinks against a larger html file) and here they are (results are in form real/user/sys):&lt;br /&gt;&lt;br /&gt;gcc:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;run_test: 0.17/0.03/0.02&lt;/li&gt;&lt;li&gt;elinks:  0.09/0.07/0.00&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;sunCC:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;run_test: 0.19/0.04/0.04&lt;/li&gt;&lt;li&gt;elinks: 0.11/0.09/0.00&lt;/li&gt;&lt;/ul&gt;Results are pretty similar, favoring gcc. Of course, exploring and putting specific options from both would yield faster and/or smaller code. I'll have to play more with the sunCC's options.&lt;br /&gt;&lt;br /&gt;At the end, it is nice to know that both FLTK and edelib compiles nicely on Sun's compiler. This makes (almost a clear) path to port existing EDE 2.o code on it.&lt;br /&gt;&lt;br /&gt;BTW I was using SunStudio 12.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6873105328392207481?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6873105328392207481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6873105328392207481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6873105328392207481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6873105328392207481'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/09/sunstudio-journey.html' title='SunStudio journey'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-7049233811729067961</id><published>2008-09-21T12:15:00.000-07:00</published><updated>2008-09-21T13:17:52.485-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>New naming scheme</title><content type='html'>As a product of few requests and  &lt;a href="http://sourceforge.net/forum/forum.php?thread_id=2124225&amp;amp;forum_id=249616"&gt;a longer discussion on forum&lt;/a&gt; (small part was on ede-devel, but looks like &lt;a href="http://sourceforge.net/mailarchive/forum.php?forum_name=ede-devel"&gt;the web interface&lt;/a&gt; is not refreshed yet), EDE will soon addopt a new naming scheme for applications.&lt;br /&gt;&lt;br /&gt;At first sight it looks pretty GNOME-ish, but it is for the reason. Or maybe there are more than a single reason :)&lt;br /&gt;&lt;br /&gt;All our applications started with "&lt;span style="font-style: italic;"&gt;e&lt;/span&gt;" denoting part of EDE (in the KDE style). It was fine until you install applications starting with "&lt;span style="font-style: italic;"&gt;e&lt;/span&gt;" too, like applications from &lt;a href="http://www.enlightenment.org/"&gt;Enlightenment&lt;/a&gt; folks. And you suddenly get: eiconman, edewm, eet... a pretty confusing list where you don't know what is what and what belongs to whom. If you want to reuse all the beauty of the shell completion using "&lt;span style="font-style: italic;"&gt;e&lt;/span&gt;" as the starting character... things becomes pretty messy.&lt;br /&gt;&lt;br /&gt;Adding to this confusing names inherited from 1.x version, this new naming scheme comes as rescue.&lt;br /&gt;&lt;br /&gt;Let say you do "&lt;span style="font-style: italic;"&gt;ps -ef&lt;/span&gt;" to list all the processes and just to check what is eating you memory or cpu, and suddenly you see something like "&lt;span style="font-style: italic;"&gt;eiconman&lt;/span&gt;". "What the hell is eiconman?", I'm hearing already. Sounds like "&lt;span style="font-style: italic;"&gt;superman&lt;/span&gt;". Actually it sounds like everything except "&lt;span style="font-style: italic;"&gt;desktop&lt;/span&gt;" (as desktop with icons in your background).&lt;br /&gt;&lt;br /&gt;Yes, "&lt;span style="font-style: italic;"&gt;eiconman&lt;/span&gt;" is short name of "&lt;span style="font-style: italic;"&gt;icon manager&lt;/span&gt;" (omitting "&lt;span style="font-style: italic;"&gt;e&lt;/span&gt;") but icon manager is very broad name and the first thing it associates me is some daemon that manages all visible icons on all opened applications, no matter was that FLTK or Qt or GTK+.&lt;br /&gt;&lt;br /&gt;Now, you replace it with "&lt;span style="font-style: italic;"&gt;ede-desktop&lt;/span&gt;" and things becoms much better. When you see it in that "&lt;span style="font-style: italic;"&gt;ps&lt;/span&gt;" list, you definitely don't want to kill it or, when it crashed, you'll know how to start it (if you decided to go little bit deeper and help us ;)).&lt;br /&gt;&lt;br /&gt;As Ralf &lt;a href="http://sourceforge.net/forum/message.php?msg_id=5102784"&gt;commented&lt;/a&gt;, shell completion comes free in this case. Of course, there is other side of all this goodness: things could become too verbose, like "&lt;span style="font-style: italic;"&gt;ede-do-this-do-that-daemon&lt;/span&gt;" and will not be pleasant to type without some shell help. But, you can't have everything.&lt;br /&gt;&lt;br /&gt;So things will be keept much more flexible than consistent; e.g. "&lt;span style="font-style: italic;"&gt;efiler&lt;/span&gt;" sounds better that boring "&lt;span style="font-style: italic;"&gt;ede-file-manager&lt;/span&gt;" or "&lt;span style="font-style: italic;"&gt;evoke&lt;/span&gt;" is much more practical than "&lt;span style="font-style: italic;"&gt;ede-session-holder-app-starter-and-shutdown-manager&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Btw. things are not changed on the repo yet; hopefully, I will change that during the next few days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-7049233811729067961?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/7049233811729067961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=7049233811729067961' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7049233811729067961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/7049233811729067961'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/09/new-naming-scheme.html' title='New naming scheme'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-525170357345107836</id><published>2008-09-16T06:06:00.000-07:00</published><updated>2008-09-16T07:40:17.539-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Fixing other's mistakes</title><content type='html'>In a &lt;a href="http://sourceforge.net/mailarchive/forum.php?thread_name=48B2EA24.9060706%40gmail.com&amp;amp;forum_name=ede-devel"&gt;recent discussion&lt;/a&gt; with &lt;a href="https://launchpad.net/enjoy"&gt;eNjoy&lt;/a&gt; (yep, there should be some media player and I'm hoping it will be usable soon) developer, I found that Ubuntu does not installs FLTK correctly or at least packager missed few important things.&lt;br /&gt;&lt;br /&gt;FLTK keeps header names under .H extension; I'm not sure why is this, maybe legacy stuff or due some strange platforms that likes C++ header files ending with .H and source files ending with .C (FLTK uses .cxx here). And since everyone expects .h extension for headers no matter used C or C++, FLTK plays fair here too: installation procedure will create .h symbolic links to those .H files (I'm aware of attempt from C++ purists to keep C++ headers under .hpp extension or no extension at all, like headers from STL, but I'm finding this practice little bit disgusting).&lt;br /&gt;&lt;br /&gt;Now, as you guessed, I used .h for FLTK normally as for any other header file all over the code (edelib and ede 2.0), not thinking that some packager will mess things up. Maybe they see this as perfectly normal, but shouldn't distro package resemble the state "&lt;span style="font-style: italic;"&gt;make install&lt;/span&gt;" or whatever created?&lt;br /&gt;&lt;br /&gt;So, latest revisions of edelib and ede2 modules have fixed this "&lt;span style="font-style: italic;"&gt;issue&lt;/span&gt;". Hopefully, things are less distro dependent now, but, as usually, you never know...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-525170357345107836?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/525170357345107836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=525170357345107836' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/525170357345107836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/525170357345107836'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/09/fixing-others-mistakes.html' title='Fixing other&apos;s mistakes'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6640176940635962501</id><published>2008-09-10T04:12:00.000-07:00</published><updated>2008-09-11T10:27:52.352-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>edelib on SunOS 5.7</title><content type='html'>Just putting a first impressions after compiling edelib on SPARC powered Ultra-1 SunOS 5.7. This should be, according to &lt;a href="http://www.unixguide.net/sun/manager/9.1.shtml"&gt;this page&lt;/a&gt;, Solaris 7 or Solaris 2.5; I never managed to get into this naming scheme.&lt;br /&gt;&lt;br /&gt;Ultra-1 always associated me with durability, a feature not known for today's computers. Just when I remember what we did with those few pieces in our lab, how much they were forcefully shutdowned (by plugging out power cable) and how much data they crunched with 200 MHz cpu's... and they still happily running today. Without a problem. That is a quality!&lt;br /&gt;&lt;br /&gt;For those unlucky who have no clue what I'm talking about, &lt;a href="http://www.sunstuff.org/hardware/systems/sun4/sun4u/ULTRA1/"&gt;here&lt;/a&gt; are detail specs with images. In short, a very old computer, powered with 64-bit UltraSPARC 200MHz processor and cca. 32 MB or RAM. A perfect piece and platform to test against.&lt;br /&gt;&lt;br /&gt;To be honest, some time before I checked edelib status on this computer (ChangeLog says December, 2007) and things changed a bit since that time.&lt;br /&gt;&lt;br /&gt;So what we have here? First of all, D-BUS compilation was disabled; I neither don't have nerves to compile it and, most important, I'm lacking space on hard drive (just another indicator how &lt;span style="font-style: italic;"&gt;modern&lt;/span&gt; software is bloat). I had to disable it manually (commenting parts in Jamfiles and removing checks for pkg-config, because it was not present), but that was 1-2 minute job.&lt;br /&gt;&lt;br /&gt;This gave me a nice TODO: some option to disable D-BUS in edelib (during configure phase) would be nice and, when given, should only skip compiling Edbus code much like &lt;span style="font-style: italic;"&gt;--without-x&lt;/span&gt; does. edelib also utilize &lt;span style="font-style: italic;"&gt;--without-x&lt;/span&gt; and when given, all code with FLTK involvement will be omitted during compilation (with X11 parts of course). And was used here.&lt;br /&gt;&lt;br /&gt;After these &lt;span style="font-style: italic;"&gt;preparations&lt;/span&gt;, configure script did it's job, reporting small syntax error during XDG mime database presence detection; some csh quirk and should be fixed soon. Compilation then died on regex.h (GNU regex library copy used internally) due some gcc extension (nothing that #ifdef can't fix), which was pretty good; I thought things will be a lot worse :)&lt;br /&gt;&lt;br /&gt;Next target was to run tests. Here is the result:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Tests: 55    Passed: 52    Failed: 3    (time: 0.26)&lt;/blockquote&gt;&lt;br /&gt;Those 3 failed tests were:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;test for mime types since database wasn't installed &lt;/li&gt;&lt;li&gt;test for directory functions; check was for "/root" and Solaris does not have it&lt;/li&gt;&lt;li&gt;and test for binary presence; there are some hardcoded values in test which are standard for Linux systems; Solaris places binaries somehow differently&lt;/li&gt;&lt;/ul&gt;So, nothing critical. The last thing was to try some tests with the new IPC code I added and after few linker &lt;span style="font-style: italic;"&gt;Undefined...&lt;/span&gt; errors, additional linking with libxnet was solution (in this library Solaris keeps networking primitives). Test worked as charm :)&lt;br /&gt;&lt;br /&gt;ADDON: I just modified build system so shared library could be created too.&lt;br /&gt;&lt;br /&gt;Now, the real job would be to compile and run current EDE 2.0 code here. That will be left for the future ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6640176940635962501?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6640176940635962501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6640176940635962501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6640176940635962501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6640176940635962501'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/09/edelib-on-sunos-57.html' title='edelib on SunOS 5.7'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8650620769501888333</id><published>2008-09-02T04:45:00.000-07:00</published><updated>2008-09-02T05:12:41.897-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Libtool, oh libtool</title><content type='html'>...goes bye bye from edelib. At last :)&lt;br /&gt;&lt;br /&gt;I never liked this tool, but I put it in use, thinking it would save me from messing with shared library creation. And it saved me, indeed, taking my full focus from shared libraries to libtool's own quirks.&lt;br /&gt;&lt;br /&gt;For example, those command line options does not work. Or at least, does not do what their names suggests or what documentation said. And, after few tunings those things started to work, going to another computer with another libtool version, everything crashed so nicely yielding very sweet error reports that only libtool can give you.&lt;br /&gt;&lt;br /&gt;Maybe I made a mistake using libtool directly, not via AC_PROG_LIBTOOL macro (that does some wizardy behind), but why program exists anyway if you can't use it directly? And in my case, there is no Makefiles nor Automake and AC_PROG_LIBTOOL will be happy if they are used (or you will have to play a little bit with &lt;span style="font-style: italic;"&gt;$top_builddir&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;Now, a third rewrite of &lt;span style="font-style: italic;"&gt;SharedLibrary&lt;/span&gt; rule (in edelib Jamrule) finally starts to show some maturity behind ;). Symbolic links will be created, &lt;span style="font-style: italic;"&gt;soname&lt;/span&gt; will be correctly set (actually not as libtool prescribes but it is easy to "fix" that) and in last commit, even &lt;span style="font-style: italic;"&gt;.la&lt;/span&gt; files will be created. It is good to be libtool friendly, even if you don't use it.&lt;br /&gt;&lt;br /&gt;The only thing left is to see how this will behave on other unix platforms (and other compilers) :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8650620769501888333?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8650620769501888333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8650620769501888333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8650620769501888333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8650620769501888333'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/09/libtool-oh-libtool.html' title='Libtool, oh libtool'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-6509371957128178022</id><published>2008-08-29T03:26:00.000-07:00</published><updated>2008-08-29T03:33:30.079-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Rusty on CeePljusPljus</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Rusty_Russell"&gt;Rusty Russell&lt;/a&gt; have some message for C++ (l)users and &lt;a href="http://www.builderau.com.au/video/soa/Rusty-s-message-to-C-programmers/0,2000066230,22432924p,00.htm"&gt;here it is&lt;/a&gt;. Short and sweet :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-6509371957128178022?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/6509371957128178022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=6509371957128178022' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6509371957128178022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/6509371957128178022'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/08/rusty-on-ceepljuspljus.html' title='Rusty on CeePljusPljus'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-423110983997675160</id><published>2008-08-25T07:06:00.000-07:00</published><updated>2008-08-25T07:31:00.505-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>No more sound</title><content type='html'>edelib will not play sounds any more. I just &lt;a href="http://ede.svn.sourceforge.net/viewvc/ede?view=rev&amp;amp;revision=2295"&gt;removed&lt;/a&gt; sound code from it which was pretty buggy, especially asynchronous playing. Actually,  the only asynchronous part was buggy, mostly due quick threading support addition.&lt;br /&gt;&lt;br /&gt;Alternatives? Two possible options that I'm thinking currently: use &lt;a href="http://audiere.sourceforge.net/"&gt;Audiere&lt;/a&gt; (maybe fork it), a very good sound library or develop own. Or maybe use both ideas; Audiere have very cool API and it can be inspiration for EDE sound library design.&lt;br /&gt;&lt;br /&gt;Why Audiere fork? Besides cool API, there are few things I would like to change and remove; also the last update on the web is dating on 2006 and repository code gets updates from time to time (like recent native ALSA support addition).&lt;br /&gt;&lt;br /&gt;Looks like EDE 2.0 alphas/betas will not have sound support;  probably even official 2.0 will not have it. But I' m hoping it will not last too long for it's addition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-423110983997675160?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/423110983997675160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=423110983997675160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/423110983997675160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/423110983997675160'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/08/no-sound.html' title='No more sound'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-962098197793464999</id><published>2008-08-23T04:50:00.000-07:00</published><updated>2008-08-23T05:09:07.851-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>-pedantic anyone?</title><content type='html'>&lt;p&gt;Everyone talks how C++ plays nicely with C? Of course it plays, until you engage somehow stricter validator in that compiler. After that, you are on your own...&lt;/p&gt;&lt;p&gt;During my recent emountd cooking (new EDE mount/unmount &lt;a href="http://freedesktop.org/wiki/Software/hal"&gt;HAL&lt;/a&gt;-lified notify daemon) I was surprised that you will not be able to compile program that uses libhal with &lt;em&gt;-pedantic&lt;/em&gt; flag: syntax error! Not to be expected for a product from people knowing their business...&lt;/p&gt;&lt;p&gt;I got this:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;...found 95 target(s)...&lt;br /&gt;...updating 2 target(s)...&lt;br /&gt;C++ emountd.o&lt;br /&gt;/usr/include/hal/libhal-storage.h:283: error: comma at end of enumerator&lt;br /&gt;list&lt;br /&gt;cc -c -o emountd.o -Wno-long-long -Wall -pedantic -g3 -D_DEBUG -I..&lt;br /&gt;-I/opt/ede/include -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal&lt;br /&gt;-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I. emountd.cpp&lt;br /&gt;...failed&lt;br /&gt;C++ emountd.o ...&lt;br /&gt;...skipped emountd for lack of&lt;br /&gt;&lt;emountd&gt;emountd.o...&lt;br /&gt;...failed updating 1 target(s)...&lt;br /&gt;...skipped 1&lt;br /&gt;target(s)...&lt;/blockquote&gt;&lt;p&gt;Hm, at first I was thinking compiler went nuts after 5 hour compile/recompile torture; you know, I get used to errors like this in my code, but in code residing in /usr/XXX... that is completely different thing.&lt;/p&gt;&lt;p&gt;So, quick peek in that libhal-storage.h, revealed this:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;typedef enum {&lt;br /&gt;// formatting mess so list is reduced&lt;br /&gt;// ...&lt;br /&gt;LIBHAL_VOLUME_DISC_TYPE_HDDVDRW = 0x0f,&lt;br /&gt;LIBHAL_VOLUME_DISC_TYPE_MO =&lt;br /&gt;0x10,&lt;br /&gt;} LibHalVolumeDiscType;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;See last &lt;em&gt;LIBHAL_VOLUME_DISC_TYPE_MO&lt;/em&gt; and comma at the end? Well, both C and C++ standards said "no no" to that, and &lt;em&gt;-pedantic&lt;/em&gt; is here to reminds you on that. Not only for these syntax changes, but for C/C++ difference too; at least those that C++ didn't adopted. The main example is long long type: not yet supported by C++ standard.&lt;/p&gt;&lt;p&gt;Not problem a much, except now you will not be able to compile D-BUS code with g++ and &lt;em&gt;-pedantic&lt;/em&gt;! And long long is very much used in it. &lt;/p&gt;&lt;p&gt;Besides emountd, this problem I had in edelib too, at least in D-BUS binding code.&lt;/p&gt;&lt;p&gt;Possible solutions for this mess is to either forget on &lt;em&gt;-pedantic&lt;/em&gt; or to add &lt;em&gt;-Wno-long-long&lt;/em&gt;, where warnings/errors about non standard long long will be inhibited. Since I like &lt;em&gt;-pedantic&lt;/em&gt;, you know what I went for.&lt;/p&gt;&lt;p&gt;Btw. just checked: that issue with libhal is fixed, so I'll have to think how to remove &lt;em&gt;-pedantic&lt;/em&gt; in 0.5.9 version (not sure about previous/later). Ah, yes, we have autoconf for that :P&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-962098197793464999?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/962098197793464999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=962098197793464999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/962098197793464999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/962098197793464999'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/08/pedantic-anyone.html' title='-pedantic anyone?'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-4272422638383521139</id><published>2008-08-15T19:08:00.000-07:00</published><updated>2008-08-19T17:01:54.276-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>EDE Documentation System</title><content type='html'>...or: how writing docs can be fun (hopefully).&lt;br /&gt;&lt;br /&gt;I'm aware that documentation in EDE 1.x sucked a lot. We had a few html pages with less content than official docs have (yes, I'm also aware how that web documentation sucks too). It contained something like: "Get EDE from", "Very quick install", "Join EDE...". Nothing fancy. But not good either.&lt;br /&gt;&lt;br /&gt;Those html pages was quickly assembled with Mozilla Composer and Composer is not known for generating a nice html pages editable with ordinary text editor. At the end, no one had enough inspiration to update it, yielding a situation where some very cool things remained unknown.&lt;br /&gt;&lt;br /&gt;You know, developers hate to write docs. It is true. Is it due laziness or because after 5-6 hours of coding you don't want to touch editor any more or, maybe, documentation tools are simply bad, I'm not sure. There could be an influence of each of them.&lt;br /&gt;&lt;br /&gt;But, on other hand, zero documentation is not good either (or you will not be able to say: "RTFM!").&lt;br /&gt;&lt;br /&gt;Today, when you say "documentation", you will hear instant reply: "DocBook". It is standard, well defined system with a lot of tools to convert it to almost any known documentation format. And is also a good system to inspire you for no writing it at all.&lt;br /&gt;&lt;br /&gt;Without a good howto you will not be able to write anything and even after that, keeping reference book under your pillow is a good way to save you from errors and... to speed up writing. You don't want to spend the whole day on only one page, aren't you?&lt;br /&gt;&lt;br /&gt;So to save my typing hours on something better and to have a good excuse to reject any program without documentation (or patches without docs updates) :), the only solution was some generator with sane markup. Or markup that most people already knows. And it should produce at least docbook files or something like that, so docbook can be generated.&lt;br /&gt;&lt;br /&gt;A good candidate for this was &lt;a href="http://www.doxygen.org/"&gt;Doxygen&lt;/a&gt;. Markup syntax is very easy to pick up and almost all distros already comes with it. Besides html output, doxygen can produce xml output too; theoretically, we could use some xslt processor and produce docbook files from these xml files (that is why xslt exists).&lt;br /&gt;&lt;br /&gt;Since I'm not good with xslt (and don't plan to be), I tried to find something already done, or at least "almost done". Unfortunately there is no such a script (or xslt code; call it whatever), or I wasn't able to find it. Something very similar I found as part of &lt;a href="http://www.boost.org/"&gt;Boost&lt;/a&gt; libraries and it was generating some intermediate format (named as boostbook or like that) which is then converted to docbook.&lt;br /&gt;&lt;br /&gt;How is done, it still remains the mystery to me: they complicates everything, even a build system!&lt;br /&gt;&lt;br /&gt;I tried a few more tools (really can't remember now), until I found it: &lt;a href="http://www.methods.co.nz/asciidoc/"&gt;AsciiDoc&lt;/a&gt;. It is a python script (a single file!) without external dependencies and does not mandate installation to be used (which is important too, so we can distribute asciidoc without thinking if user has it installed or not, which version and so on).&lt;br /&gt;&lt;br /&gt;The first thing that appealed me is simple markup syntax it uses; almost like you are writing an ordinary text file (well, you are writing a text file ;)).&lt;br /&gt;&lt;br /&gt;Here is the sample:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Some title&lt;br /&gt;=======&lt;br /&gt;Bla bla bla&lt;br /&gt;&lt;br /&gt;Subtitle&lt;br /&gt;--------&lt;br /&gt;Bla bla bla&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;and so on. The best example is asciidoc &lt;a href="http://www.methods.co.nz/asciidoc/userguide.html"&gt;user guide&lt;/a&gt; generated from &lt;a href="http://www.methods.co.nz/asciidoc/userguide.txt"&gt;this&lt;/a&gt; file.&lt;br /&gt;&lt;br /&gt;Next is a number of outputs it supports: besides docbook (out of the box, man!) it can produce a html, xhtml and man files; plus everything else that docbook can spit out (for example to create pdf output, it will create docbook files first then will convert them to pdf via docbook toolchain). Almost perfect tool :)&lt;br /&gt;&lt;br /&gt;The only thing left to be done was integration with our build system. I decided for straight html without docbook as intermediate format: asciidoc creates very nice html pages and (most important) docbook toolchain is often not installed (at least I don't install it ;)).&lt;br /&gt;&lt;br /&gt;Due jam's flexibility, asciidoc jumped in fine; the only thing you should put in your Jamfile is this rule:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;EdeManual foo.txt ;&lt;/blockquote&gt;&lt;br /&gt;That is it. When &lt;strong&gt;jam&lt;/strong&gt; or &lt;strong&gt;jam doc&lt;/strong&gt; is run in console, jam will, via asciidoc, convert given files, move them in the special directory assembling &lt;em&gt;EDE Manual&lt;/em&gt; and installs it in appropriate directory, when &lt;strong&gt;jam install&lt;/strong&gt; is given. Couldn't it be more simple ;)?&lt;br /&gt;&lt;br /&gt;On other hand, documentation quality is story for itself...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-4272422638383521139?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/4272422638383521139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=4272422638383521139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4272422638383521139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4272422638383521139'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/08/ede-documentation-system.html' title='EDE Documentation System'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-4568984398419393172</id><published>2008-08-13T07:24:00.000-07:00</published><updated>2008-08-19T17:00:56.019-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Post #2 (part II)</title><content type='html'>...continuing...&lt;br /&gt;&lt;br /&gt;If you are going to ask where to find that Jam, below I was talking about, I will mention that is already &lt;a href="http://ede.svn.sourceforge.net/viewvc/ede/trunk/jam/"&gt;on our repository&lt;/a&gt;. This should ensure two tings:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;easier finding and download&lt;/li&gt;&lt;li&gt;ability to hack it if I find something I don't like&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;You will notice that out there are few Jam derivatives, notable &lt;a href="http://freetype.org/jam/"&gt;FTJam&lt;/a&gt;, &lt;a href="http://www.boost.org/"&gt;BoostJam&lt;/a&gt; and maybe less known &lt;a href="http://haiku-os.org/"&gt;HaikuJam&lt;/a&gt;. We are using HaikuJam (due few useful ablilities) and it is pretty compatible with original jam (a.k.a. "Classic Jam") and ftjam. BoostJam is sad story for itself and it should be avoided for EDE.&lt;/p&gt;&lt;p&gt;What about rest of DE? From the "big three": edewm (window manager), eworkpanel (panel) and eiconman (background with the icons) only eiconman is very much refreshed. Refreshed in a sense that was rewritten from scratch (three times!!!) and is near completition.&lt;/p&gt;&lt;p&gt;This looks like a slow progress, but I'm not thinking like that. There are many small utilities and programs that are added, revised or removed, notably a very good file manager (efiler) that is Vedran working on.&lt;/p&gt;&lt;p&gt;And besides, I'm still &lt;a href="http://equinox-project.org/cgi-bin/trac.cgi/roadmap"&gt;following a plan&lt;/a&gt; to ship a first alpha without finishing window manager and panel (and partialy eiconman). They will eat up too much time and also I would like to try some new ideas I have with them. In the mean time, edewm and eworkpanel from 1.x should be a temporary replacements.&lt;/p&gt;&lt;p&gt;Ending with this "quick view", I realized I said almost nothing about new things; probably seeing that each of them will require it's own post. Which is planned in the near future (hopefully) :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-4568984398419393172?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/4568984398419393172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=4568984398419393172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4568984398419393172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/4568984398419393172'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/08/post-2-part-ii.html' title='Post #2 (part II)'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-8007774126312251945</id><published>2008-08-12T10:41:00.000-07:00</published><updated>2008-08-12T13:01:36.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Post #2</title><content type='html'>Wow, I'm actually writing something here; already at the second post :)&lt;br /&gt;&lt;br /&gt;I feel obligated to put a quick  view of EDE we are working on now. That view is about differences with old, efltk powered version, architectural changes and so.&lt;br /&gt;&lt;br /&gt;I &lt;a href="http://sourceforge.net/mailarchive/forum.php?thread_name=20070703161444.GA25814%40stigmata.pmf.unsa.ba&amp;amp;forum_name=ede-devel"&gt;sumarized&lt;/a&gt; some things before. Some of them changed, some not (so there is no need to write about latter). The biggest change (from EDE 1.x) is that famous switch to FLTK 1.x and integrating &lt;a href="http://freedesktop.org/"&gt;freedesktop.org&lt;/a&gt; standards. This  maybe sounds "no too much", but these short sentences are often proved to be opposite. And it is.&lt;br /&gt;&lt;br /&gt;EDE 1.x was so tied to eFLTK (which extended FLTK just for EDE needs) that doing simple "compile on FLTK" was simply impossible (since eFLTK was based on first versions of FLTK 2.0, API-s between 1.x and that 2.0 was very much the same, but under the hood, mostly layouting code was totaly different; later FLTK 2.0 API went crazy which is story for itself). Now you see why I put "impossible".&lt;br /&gt;&lt;br /&gt;That was clear indication that we should either dig into eFLTK and remove GUI parts (because you know, we would use FLTK 1.x that already provides it) or to start things from scratch, learning from eFLTK what we need and what not. As you guess, we went to latter; now you should have a clue what is edelib module on repository.&lt;br /&gt;&lt;br /&gt;Basically, edelib is what FLTK does not provides (which is good or it would be too boring) and what we don't like in it. Plus things we would like to have. And plus freedesktop.org specific things. Enough said.&lt;br /&gt;&lt;br /&gt;Here is the one curiosity: EDE had a library named edelib once, which had also needed things for EDE; later it evolved into eFLTK. I'm not sure why; probably due FLTK 2.0 "never-released" curse or else, since I was not part of the project then. Original edelib code was lost when I did a major CVS cleanup which had a tons of started but never finished programs. Probably I made a mistake; probably I should moved everything in a separate module for history reasons, but I can't recall why I didn't. The only thing I know is I had it on my hard drive, which died long time ago.&lt;br /&gt;&lt;br /&gt;But, believe me or not, name of the current edelib wasn't choosen due history; it simply popped up, probably inspired by kdelibs for KDE (Vedran when joined to EDE did some work for KDE so you know where inspiration could came from).&lt;br /&gt;&lt;br /&gt;So, due those history reasons (and to follow EDE versioning), current edelib is tagged at 2.0.0 version. Just in case you starts to ask when we released edelib 1.0 :)&lt;br /&gt;&lt;br /&gt;Second major chaged (or third, lost in counting) is that we are using &lt;a href="http://www.perforce.com/jam/jam.html"&gt;Jam&lt;/a&gt;. I never liked automake; in EDE 1.x we had our own build system, much more like FLTK have and was very limited. You couldn't say "give only to foo.cpp -D_BLA_ flag" nor "link edewm with libdemo_debug.so but the rest with libdemo.so" without writing make code, which is a good chance to yield unportable code between implementations even in the simplest form.&lt;br /&gt;&lt;br /&gt;Ah yes, our build system used "recursive make feature", mostly because is very easy to write it without complicating the matter. So, we managed to learn how this was bad when obvious changes in the source files wasn't registered and rebuilded (see &lt;a href="http://aegis.sourceforge.net/auug97.pdf"&gt;Recursive Make Considered Harmful&lt;/a&gt; for more info).&lt;br /&gt;&lt;br /&gt;Jam does not have these problems; hey, it even allows you to write own, sane "build library" (example is &lt;a href="http://autojam.berlios.de/"&gt;autojam&lt;/a&gt;) and to overwrite builtin functions (in jam vocabulary it is a "rule"). Not everything is very bright: jam introduce it's own way of managing dependencies, which is pretty alien to "make commers"; documentation badly sucks giving incomplete information about latter (which is  very, very bad since your project will not be built)...&lt;br /&gt;&lt;br /&gt;But, small source size (binary too), easily hackable code (I think so), speed (did I mention how it is fast!), damnit good per target (file, target, pseudo target, soon-to-be-generated-file, just name it) options (set per target variables, call functions, etc.) are good arguments to forget  flaws. And you don't have to run "makedepend" since it will scan every header in given build files automatically.&lt;br /&gt;&lt;br /&gt;I'm lacking of inspiration;  remained stuff I will try to finish next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-8007774126312251945?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/8007774126312251945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=8007774126312251945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8007774126312251945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/8007774126312251945'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/08/post-2.html' title='Post #2'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3527093688077629037.post-9026035044732146888</id><published>2008-08-10T17:41:00.000-07:00</published><updated>2008-08-11T04:17:13.003-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDE'/><title type='text'>Intro</title><content type='html'>Huh... here it is, my second attempt to create and use blog (second attempt in a sense of &lt;em&gt;"I had it few years ago and was too lazy to update it"&lt;/em&gt; not "&lt;em&gt;I couldn't create blog account here"&lt;/em&gt; :)).&lt;br /&gt;&lt;br /&gt;I know you got it; I'm just trying to get used to typing here ;)&lt;br /&gt;&lt;br /&gt;So, why I'm doing this again (implying if I'm lazy to write blog)? Well, that "few years ago" was when blogs was hot stuff and the time when projects started to adapt it. Also, in the same time, Vedran (my co-developer on EDE) was accepted in the first Google Summer of Code as part of some Ubuntu project (lightweight desktop, if I can recall). Of course, EDE was part of it too :)&lt;br /&gt;&lt;br /&gt;Ubuntu mentors requested students brings their blogs online so they can track their progress(pretty much the same GSOC mentors do today); Vedran assembled WordPress (was pretty complicated those days; was that WordPress or was something else?) on our LUG server and started to scribe. I joined too; not as part of GSOC, but to give insight of other development side too, wrote few posts and find out that blogging wasn't for me.&lt;br /&gt;&lt;br /&gt;Things changed in last two/three years a lot; today there are more projects with blogs than opposite and users likes that. Users expects to see a progress, nicely worded things what is going on and not to track developer lists with developer talk nor (for God sake) to track repository changes and read commit logs.&lt;br /&gt;&lt;br /&gt;And my habits changed too! Today I'm first checking (for project I'm interested) blog writings then mailing lists and release dates. Often release days or high volume mailing lists means nothing; releases can have minor changes or changes I'm not interested in, mailing lists talk can be (and often is) about weather or movies. Not to mention how hard is to get some useful information. Mailing developers? Sure, just how long they will need to respond and what quality of response will be (bad quality does not mean they trying to be rude, just lack of time).&lt;br /&gt;&lt;br /&gt;Blogs are, today, part of development tools, like bug trackers, wikis and mailing list (implying blogs about software development).&lt;br /&gt;&lt;br /&gt;Just my view :P. Now to something useful...&lt;br /&gt;&lt;br /&gt;People often mails me about EDE progress, what is going on, when will be release and so. Few fellows mentioned online that development stalled or slow progress is going on. Yes, the latest release was almost a year ago.&lt;br /&gt;&lt;br /&gt;I was often replying on this via &lt;em&gt;"We are alive, just too busy with EDE 2.0"&lt;/em&gt; and &lt;em&gt;"Something soon will pop up"&lt;/em&gt; and similar. Yes, I know this is not enough; reading few times that &lt;em&gt;"...we are working hard..."&lt;/em&gt; without anything useful is a good chance to drop my interests in that projects, seeking for alternative.&lt;br /&gt;&lt;br /&gt;But, there is some truth :P. We are working indeed and there is a lot of changes out there; to summarise everyting in one document or mail would be very ungratefull. So I'm hoping these posting here will try to inform you little better about progress and things under the hood.&lt;br /&gt;&lt;br /&gt;On other hand, if I get bored or tired with this blogging stuff, I will probably return to good old mails :)&lt;br /&gt;&lt;br /&gt;Anyway, enough for the first intro post. Hoping to came with something better next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3527093688077629037-9026035044732146888?l=sanelz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanelz.blogspot.com/feeds/9026035044732146888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3527093688077629037&amp;postID=9026035044732146888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/9026035044732146888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3527093688077629037/posts/default/9026035044732146888'/><link rel='alternate' type='text/html' href='http://sanelz.blogspot.com/2008/08/intro.html' title='Intro'/><author><name>Sanel Z.</name><uri>http://www.blogger.com/profile/03384834693546630953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_aTCFzGjIQv4/SKHINGabCPI/AAAAAAAAAAU/x9dfX_fnRWw/s1600-R/logo.png'/></author><thr:total>0</thr:total></entry></feed>
