<?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-7846728973586617635</id><updated>2011-09-28T13:23:55.796+02:00</updated><title type='text'>Hack Week</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-4431826463488207866</id><published>2011-09-28T13:23:00.001+02:00</published><updated>2011-09-28T13:23:56.548+02:00</updated><title type='text'>gem install owncloud-admin</title><content type='html'>The owncloud admin tool is now also available as a gem. Get it with "gem install owncloud-admin". You'll need to have the rubygems package installed in order to have the gem tool available.&lt;br /&gt;&lt;br /&gt;Ruby gems is a wonderful mechanism to distribute software. It literally only takes seconds from releasing a new version to having it available for all users. Particularly nice for prototyping, where you have frequent changes.&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/7846728973586617635-4431826463488207866?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/4431826463488207866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=4431826463488207866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4431826463488207866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4431826463488207866'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2011/09/gem-install-owncloud-admin.html' title='gem install owncloud-admin'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-7044445234184865416</id><published>2011-09-28T12:02:00.003+02:00</published><updated>2011-09-28T12:13:23.108+02:00</updated><title type='text'>Side-tracked: ownCloud admin tool</title><content type='html'>Klaas and Frank tricked me into getting side-tracked from my hack week project and writing a command line tool for installing &lt;a href="http://owncloud.org/"&gt;ownCloud&lt;/a&gt;. After a little bit of hacking I have a tool, which is able to install ownCloud to a local machine or to a remote server via FTP. There are a couple of issues with setting up ownCloud, when you only have FTP access to the server, but Frank is looking into a solution to that.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-LizjrcUZkWg/ToLwGyO093I/AAAAAAAAAS8/OsvSEeh6XJM/s1600/owncloud-admin.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="209" src="http://3.bp.blogspot.com/-LizjrcUZkWg/ToLwGyO093I/AAAAAAAAAS8/OsvSEeh6XJM/s320/owncloud-admin.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The code is at &lt;a href="https://github.com/openSUSE/owncloud-admin"&gt;github.com/openSUSE/owncloud-admin&lt;/a&gt;. Next steps will be adding support for other installation methods and targets, e.g. via ssh or to specific systems like some of the popular NAS systems you might have running in your basement already.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-7044445234184865416?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/7044445234184865416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=7044445234184865416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7044445234184865416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7044445234184865416'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2011/09/side-tracked-owncloud-admin-tool.html' title='Side-tracked: ownCloud admin tool'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-LizjrcUZkWg/ToLwGyO093I/AAAAAAAAAS8/OsvSEeh6XJM/s72-c/owncloud-admin.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-3679831462361414978</id><published>2011-09-27T12:51:00.000+02:00</published><updated>2011-09-27T12:51:24.802+02:00</updated><title type='text'>Inqlude command line client</title><content type='html'>I just uploaded the latest version of the Inqlude command line client to Rubygems. This way it's easily accessible for anyone wanting to play around with it. You need the gem tool to be installed (on openSUSE it's a simple "sudo zypper in rubygems"). Then you can just do "sudo gem install inqlude" and you get the command line client, which is conveniently named "inqlude" as well.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UUHpYp4facs/ToGqFRx9emI/AAAAAAAAAS4/b3ic1mxdzmo/s1600/inqlude-rubygems.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" src="http://3.bp.blogspot.com/-UUHpYp4facs/ToGqFRx9emI/AAAAAAAAAS4/b3ic1mxdzmo/s320/inqlude-rubygems.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The client is not complete yet. It does handle packages on openSUSE 11.4, so you can use it to see and install Qt libraries there. Backends for other distributions are still missing. More to do for this week...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-3679831462361414978?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/3679831462361414978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=3679831462361414978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3679831462361414978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3679831462361414978'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2011/09/inqlude-command-line-client.html' title='Inqlude command line client'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-UUHpYp4facs/ToGqFRx9emI/AAAAAAAAAS4/b3ic1mxdzmo/s72-c/inqlude-rubygems.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-4835627993135757073</id><published>2011-09-27T12:42:00.002+02:00</published><updated>2011-09-27T12:42:40.933+02:00</updated><title type='text'>Inqlude web site</title><content type='html'>I have a prototype of the web site for the Qt library archive at inqlude.org. I just updated with the latest content. All the data there is extracted from SUSE RPMs for now. The data needs a lot more love to be more complete, accurate and helpful for application developers.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-NS_i8-GEcFQ/ToGoUKZ5FRI/AAAAAAAAASw/Nqdsa2GXP6A/s1600/inqlude-website.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-NS_i8-GEcFQ/ToGoUKZ5FRI/AAAAAAAAASw/Nqdsa2GXP6A/s320/inqlude-website.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a next step I intend to go through the library meta data, add missing info, and also add missing libraries, so that there is an initial set of useful information on the web site.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-4835627993135757073?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/4835627993135757073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=4835627993135757073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4835627993135757073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4835627993135757073'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2011/09/inqlude-web-site.html' title='Inqlude web site'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-NS_i8-GEcFQ/ToGoUKZ5FRI/AAAAAAAAASw/Nqdsa2GXP6A/s72-c/inqlude-website.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-1766190702364364441</id><published>2011-09-26T14:20:00.000+02:00</published><updated>2011-09-26T14:20:03.468+02:00</updated><title type='text'>Hackweek 7</title><content type='html'>It's the seventh SUSE hack week. I'm working on Inqlude, the Qt library archive, getting it&amp;nbsp;beyond the prototype state. The idea is simple, create a web site listing all Qt libraries out there, and an easy way how to use them, think CPAN for Qt libraries.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-LQBjbfjrhdc/ToBtXZ5KyHI/AAAAAAAAASs/qKnycaLb0UI/s1600/inqlude-hacking.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-LQBjbfjrhdc/ToBtXZ5KyHI/AAAAAAAAASs/qKnycaLb0UI/s320/inqlude-hacking.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There are a lot of things, which need to be done:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Finalize library meta data format&lt;/li&gt;&lt;li&gt;Adapt prototype tool to support the final format&lt;/li&gt;&lt;li&gt;Collect real meta data for as many libraries as possible&lt;/li&gt;&lt;li&gt;Finish the backend for installing binary packages on openSUSE via the openSUSE build service&lt;/li&gt;&lt;li&gt;Look into backends for other distributions, ideally using the same build service integration&lt;/li&gt;&lt;li&gt;Get libraries packaged, which don't have packages yet&lt;/li&gt;&lt;li&gt;Contribute back changes in package descriptions&lt;/li&gt;&lt;li&gt;Implement a Qt based client, possibly with a QML based GUI&lt;/li&gt;&lt;/ul&gt;A lot to do. Help is very much appreciated. If you are at SUSE or somewhere else, if you are a KDE, Qt hacker, a packager, an upstream library author, a Ruby programmer, or a QML specialist, don't hesitate, you are very welcome to join the fun. Just &lt;a href="mailto:schumacher@kde.org"&gt;contact me&lt;/a&gt;, and we'll figure out the rest.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-1766190702364364441?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/1766190702364364441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=1766190702364364441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/1766190702364364441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/1766190702364364441'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2011/09/hackweek-7.html' title='Hackweek 7'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-LQBjbfjrhdc/ToBtXZ5KyHI/AAAAAAAAASs/qKnycaLb0UI/s72-c/inqlude-hacking.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-7316574617890184051</id><published>2011-08-04T14:41:00.000+02:00</published><updated>2011-08-04T14:41:17.625+02:00</updated><title type='text'>Polka</title><content type='html'>Last hackweek I was so busy with coding, that I didn't blog. But for reference here is the &lt;a href="http://blog.cornelius-schumacher.de/2011/03/its-not-address-book.html"&gt;summary of my Hackweek 6 project&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-7316574617890184051?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/7316574617890184051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=7316574617890184051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7316574617890184051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7316574617890184051'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2011/08/polka.html' title='Polka'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-4240862416339566433</id><published>2010-06-11T20:08:00.004+02:00</published><updated>2010-06-11T20:18:17.814+02:00</updated><title type='text'>Testdrive Success</title><content type='html'>After a bit of further hacking I have now access to testdrive from my SUSE Studio client. For a given build a testdrive can be started on the server and the client connects to it with an embedded VNC client. The following screenshot shows you the result, the infamous nInvaders appliance booting in testdrive.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_I0jbESd5Btw/TBJ7_MkShPI/AAAAAAAAAIU/HeL8fwVx-lk/s1600/studiosus4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 290px;" src="http://3.bp.blogspot.com/_I0jbESd5Btw/TBJ7_MkShPI/AAAAAAAAAIU/HeL8fwVx-lk/s320/studiosus4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5481580022098724082" /&gt;&lt;/a&gt;&lt;br /&gt;The native VNC viewer gives great performance and is nicely integrated. This is a great environment for a little game of nInvaders.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_I0jbESd5Btw/TBJ8DlOlgTI/AAAAAAAAAIc/p9v3wblnRK0/s1600/studiosus5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 290px;" src="http://4.bp.blogspot.com/_I0jbESd5Btw/TBJ8DlOlgTI/AAAAAAAAAIc/p9v3wblnRK0/s320/studiosus5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5481580097438056754" /&gt;&lt;/a&gt;&lt;br /&gt;It's Friday evening now, my hackweek ends here. I'm happy that I have reached my goal of implementing some basic functionality of a native graphical SUSE Studio client. I did a lot of infrastructure work, so that it's now much easier to add additional functionality to cover a more complete set of use cases. If somebody wants to help with implementing some more bits, I would be more than happy. But I will also try to find some time to do some more hacking on this project myself. It's a lot of fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-4240862416339566433?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/4240862416339566433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=4240862416339566433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4240862416339566433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4240862416339566433'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2010/06/testdrive-success.html' title='Testdrive Success'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_I0jbESd5Btw/TBJ7_MkShPI/AAAAAAAAAIU/HeL8fwVx-lk/s72-c/studiosus4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-7330024233356756719</id><published>2010-06-11T15:24:00.003+02:00</published><updated>2010-06-11T15:32:46.589+02:00</updated><title type='text'>Caching and more details</title><content type='html'>I've now implemented caching of API requests in Studiosus, the graphical SUSE Studio client. This is essential for making the application responsive, as with cached data is can operate on native local data instead of waiting for the round-trip from the server. It's a pretty simple &lt;a href="http://gitorious.org/suse-studio/studiosus/blobs/master/lib/cache.h"&gt;caching implementation&lt;/a&gt; based on the URLs of the requests. I would love to hear feedback about better existing caching solutions which would solve this as well or better.&lt;br /&gt;&lt;br /&gt;So now that the client appears fast, I also improved the appliances list a bit. Garrett suggested to show the builds on the home view, so I implemented that. This gives more direct access to the builds, which are the essential object you want to work on in the client, so I think it makes a lot of sense to do it this way.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_I0jbESd5Btw/TBI6nd1bSiI/AAAAAAAAAIM/6oe8XcDN3-k/s1600/studiosus3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 166px;" src="http://1.bp.blogspot.com/_I0jbESd5Btw/TBI6nd1bSiI/AAAAAAAAAIM/6oe8XcDN3-k/s320/studiosus3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5481508146161338914" /&gt;&lt;/a&gt;&lt;br /&gt;I've also worked on the Studio API itself a bit. It was lacking some API calls to handle testdrives, which I need for providing some local access to testdrives in the client. So I did a bit of Rails hacking and implemented these calls. They aren't deployed on the production system yet, though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-7330024233356756719?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/7330024233356756719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=7330024233356756719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7330024233356756719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7330024233356756719'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2010/06/caching-and-more-details.html' title='Caching and more details'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_I0jbESd5Btw/TBI6nd1bSiI/AAAAAAAAAIM/6oe8XcDN3-k/s72-c/studiosus3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-7505710056089305629</id><published>2010-06-09T18:34:00.002+02:00</published><updated>2010-06-09T18:35:44.137+02:00</updated><title type='text'>Source code for SUSE Studio client</title><content type='html'>I have pushed the source code of my graphical SUSE Studio client to gitorious now. Get it from the &lt;a href="http://gitorious.org/suse-studio/studiosus"&gt;Studiosus repository&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-7505710056089305629?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/7505710056089305629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=7505710056089305629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7505710056089305629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7505710056089305629'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2010/06/source-code-for-suse-studio-client.html' title='Source code for SUSE Studio client'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-4504851978911297490</id><published>2010-06-09T17:26:00.003+02:00</published><updated>2010-06-09T17:30:34.175+02:00</updated><title type='text'>Second API call</title><content type='html'>After &lt;a href="http://github.com/cornelius/kode/commit/9532fe934bee12d19a00d041721cc01958ab276b"&gt;moving kxml_compiler to QXmlStreamWriter&lt;/a&gt; I'm now able to do more than one API call in my SUSE Studio client. So I can now show the user information alongside the appliances list.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_I0jbESd5Btw/TA-zJcnwZ_I/AAAAAAAAAIE/5V_Eq5pqtw0/s1600/studiosus2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 206px;" src="http://3.bp.blogspot.com/_I0jbESd5Btw/TA-zJcnwZ_I/AAAAAAAAAIE/5V_Eq5pqtw0/s320/studiosus2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5480796246416320498"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Now I need some caching as loading the appliances list from the server can take a while.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-4504851978911297490?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/4504851978911297490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=4504851978911297490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4504851978911297490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4504851978911297490'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2010/06/second-api-call.html' title='Second API call'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_I0jbESd5Btw/TA-zJcnwZ_I/AAAAAAAAAIE/5V_Eq5pqtw0/s72-c/studiosus2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-6590808347846459864</id><published>2010-06-09T09:48:00.002+02:00</published><updated>2010-06-09T10:25:23.291+02:00</updated><title type='text'>Hackweek V</title><content type='html'>It's hackweek again. This time I'm working on &lt;a href="https://features.opensuse.org/309733"&gt;a graphical client for SUSE Studio&lt;/a&gt;. &lt;a href="http://blog.susestudio.com/2010/06/hackweek-graphical-client-for-suse.html"&gt;Read more&lt;/a&gt; in the &lt;a href="http://blog.susestudio.com"&gt;SUSE Studio blog&lt;/a&gt;. I will report more detailed progress here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-6590808347846459864?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/6590808347846459864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=6590808347846459864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/6590808347846459864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/6590808347846459864'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2010/06/hackweek-v.html' title='Hackweek V'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-405329742173330092</id><published>2009-07-27T17:46:00.003+02:00</published><updated>2009-07-27T17:52:43.265+02:00</updated><title type='text'>Hackweek is over</title><content type='html'>Hackweek IV is over. I still have to write up my results. I got quite some things done, but there are also still a lot of loose ends. But it was a great start for the KDE SDK project. I certainly will spend some more time on it. I'll also review the design decisions I made at the beginning of the week. While working on the SDK I realized that a lot of the value such an SDK can have is not only delivered by the development tools itself, but also by integration with the community resources and the community itself. This is a powerful combination, something like developer's social desktop.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_I0jbESd5Btw/Sm3MoTp9BCI/AAAAAAAAAEU/sPdWs8_sZLo/s1600-h/hackweek4-button.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_I0jbESd5Btw/Sm3MoTp9BCI/AAAAAAAAAEU/sPdWs8_sZLo/s320/hackweek4-button.png" alt="" id="BLOGGER_PHOTO_ID_5363167724111201314" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-405329742173330092?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/405329742173330092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=405329742173330092' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/405329742173330092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/405329742173330092'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/hackweek-is-over.html' title='Hackweek is over'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_I0jbESd5Btw/Sm3MoTp9BCI/AAAAAAAAAEU/sPdWs8_sZLo/s72-c/hackweek4-button.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-7727531408838021952</id><published>2009-07-23T18:58:00.002+02:00</published><updated>2009-07-23T19:04:55.330+02:00</updated><title type='text'>More OCS Integration</title><content type='html'>I have worked a bit on the further integration of online services in the KDE SDK. Some really basic integration with Gitorious, the Build Service, and kde-apps is now implemented. There are still some missing links, like missing write support for content on kde-apps in the OCS API, but the basic idea seems to work well. Especially getting together all the information about who is taking part in the development from committers over packagers to fans opens some interesting use cases. I didn't plan this, but it seems the social desktop has great applications in the context of the KDE SDK. Let's see where this goes...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-7727531408838021952?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/7727531408838021952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=7727531408838021952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7727531408838021952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7727531408838021952'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/more-ocs-integration.html' title='More OCS Integration'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-8744829107727809600</id><published>2009-07-21T16:21:00.003+02:00</published><updated>2009-07-21T16:28:22.682+02:00</updated><title type='text'>Open Collaboration Services Integration</title><content type='html'>After a bit of struggling with calling KIO slaves from Qt Creator, I now have some basic integration with the &lt;a href="http://www.freedesktop.org/wiki/Specifications/open-collaboration-services"&gt;Open Collaboration Services&lt;/a&gt; going. My friends from &lt;a href="http://opendesktop.org/"&gt;opendesktop&lt;/a&gt; are shown on the KDE Creator welcome page.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_I0jbESd5Btw/SmXPrSMThbI/AAAAAAAAAEM/AhV74-kMQHc/s1600-h/kdesdk2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 242px;" src="http://4.bp.blogspot.com/_I0jbESd5Btw/SmXPrSMThbI/AAAAAAAAAEM/AhV74-kMQHc/s320/kdesdk2.png" alt="" id="BLOGGER_PHOTO_ID_5360919273979217330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This in itself isn't really useful yet, but it's a first proof of concept for the integration of online services in the KDE SDK. Integrating access to the app listing on kde-apps.org would be one of the next steps.&lt;br /&gt;&lt;br /&gt;The trick to use KIO slaves in Qt Creator (or any other Qt program, which doesn't use a KApplication), is to instantiate a KComponentData object. This provides all what's needed to run many of the classes which rely on some global KDE specific data being available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-8744829107727809600?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/8744829107727809600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=8744829107727809600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/8744829107727809600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/8744829107727809600'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/open-collaboration-services-integration.html' title='Open Collaboration Services Integration'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_I0jbESd5Btw/SmXPrSMThbI/AAAAAAAAAEM/AhV74-kMQHc/s72-c/kdesdk2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-1203762668942155649</id><published>2009-07-20T15:58:00.003+02:00</published><updated>2009-07-20T16:00:58.265+02:00</updated><title type='text'>Linking to KDE in Qt Creator plugins</title><content type='html'>For some better integration with the KDE desktop, and to make use of some of the goodness of KDE, I would like to link to the KDE libraries in the KDE SDK plugin for Qt Creator. Apparently adding a simple&lt;br /&gt;&lt;blockquote&gt;LIBS += lkdeui&lt;br /&gt;&lt;/blockquote&gt;to the qmake file does the trick. This is nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-1203762668942155649?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/1203762668942155649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=1203762668942155649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/1203762668942155649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/1203762668942155649'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/linking-to-kde-in-qt-creator-plugins.html' title='Linking to KDE in Qt Creator plugins'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-5964179351491317986</id><published>2009-07-20T12:07:00.003+02:00</published><updated>2009-07-20T12:22:12.100+02:00</updated><title type='text'>First Screenshot</title><content type='html'>After a little bit of hacking I have my first screenshot now:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_I0jbESd5Btw/SmRCDF2QBsI/AAAAAAAAAEE/5HABA49ikDg/s1600-h/kdesdk1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 237px;" src="http://3.bp.blogspot.com/_I0jbESd5Btw/SmRCDF2QBsI/AAAAAAAAAEE/5HABA49ikDg/s320/kdesdk1.png" alt="" id="BLOGGER_PHOTO_ID_5360482077354493634" border="0" /&gt;&lt;/a&gt;This is the start of the KDE SDK plugin I'm writing for Qt Creator. It doesn't do anything useful yet, but at least the basic plugin skeleton is in place.&lt;br /&gt;&lt;br /&gt;I'm hacking in a &lt;a href="http://bit.ly/NNV1H"&gt;clone of the Qt Creator sources right on gitorious.org&lt;/a&gt; right now. Creating the plugin wasn't really difficult, although the Qt Creator plugin interface suffers from some serious under-documentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-5964179351491317986?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/5964179351491317986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=5964179351491317986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/5964179351491317986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/5964179351491317986'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/first-screenshot.html' title='First Screenshot'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_I0jbESd5Btw/SmRCDF2QBsI/AAAAAAAAAEE/5HABA49ikDg/s72-c/kdesdk1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-719923418203479162</id><published>2009-07-20T11:59:00.002+02:00</published><updated>2009-07-20T12:07:26.164+02:00</updated><title type='text'>Design Decisions</title><content type='html'>There are millions of different ways how to create a KDE SDK. To constrain this number a bit and get some focus I took a couple of &lt;a href="http://blog.cornelius-schumacher.de/2009/07/creating-kde-sdk.html"&gt;design decisions&lt;/a&gt;. That means I'll start with writing a KDE SDK plugin for Qt Creator which is meant to provide the main UI for the SDK.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-719923418203479162?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/719923418203479162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=719923418203479162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/719923418203479162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/719923418203479162'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/design-decisions.html' title='Design Decisions'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-5507924847987129366</id><published>2009-07-20T09:50:00.002+02:00</published><updated>2009-07-20T09:53:50.358+02:00</updated><title type='text'>Hackweek IV</title><content type='html'>Hackweek IV is starting today. I will work on creating a &lt;a href="https://features.opensuse.org/306609"&gt;KDE SDK&lt;/a&gt;. I will post more details later and report about the progress of the project during the week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-5507924847987129366?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/5507924847987129366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=5507924847987129366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/5507924847987129366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/5507924847987129366'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/hackweek-iv.html' title='Hackweek IV'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-5271653688151281692</id><published>2009-07-14T23:31:00.002+02:00</published><updated>2009-07-14T23:33:26.189+02:00</updated><title type='text'>Hackweek IV Ideas</title><content type='html'>I'm collecting some &lt;a href="http://blog.cornelius-schumacher.de/2009/07/hackweek-iv.html"&gt;ideas for Hackweek IV&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-5271653688151281692?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/5271653688151281692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=5271653688151281692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/5271653688151281692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/5271653688151281692'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/hackweek-iv-ideas.html' title='Hackweek IV Ideas'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-4990143909481473970</id><published>2009-07-02T00:08:00.000+02:00</published><updated>2009-07-02T00:19:58.854+02:00</updated><title type='text'>Social Desktop is winning Hackweek III award</title><content type='html'>Just to note it down, the &lt;a href="http://hackweek.blogspot.com/2009/07/social-desktop.html"&gt;social desktop&lt;/a&gt; hackweek project &lt;a href="http://news.opensuse.org/2008/10/15/hack-week-iii-winners/"&gt;won the 3rd prize&lt;/a&gt; in the Best Overall Project category of openSUSE Hackweek III. That's a nice compliment for all the work and ideas which went into this project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-4990143909481473970?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/4990143909481473970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=4990143909481473970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4990143909481473970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4990143909481473970'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/social-desktop-is-winning-hackweek-iii.html' title='Social Desktop is winning Hackweek III award'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-7878739360120116899</id><published>2009-07-02T00:07:00.003+02:00</published><updated>2009-07-02T00:17:31.693+02:00</updated><title type='text'>Social Desktop</title><content type='html'>&lt;span style="font-style: italic;"&gt;This is a copy of the page from &lt;a href="http://http//idea.opensuse.org/content/ideas/social-desktop"&gt;ideas.opensuse.org&lt;/a&gt; to preserve the information in case the system goes offline.&lt;/span&gt;&lt;br /&gt;&lt;h3&gt;Description&lt;/h3&gt;We want to integrate the data on community web sites like &lt;a href="http://opendesktop.org/" class="urlextern" title="http://opendesktop.org"&gt;http://opendesktop.org&lt;/a&gt; (or its child sites &lt;a href="http://kde-look.org/" class="urlextern" title="http://kde-look.org"&gt;http://kde-look.org&lt;/a&gt;, &lt;a href="http://kde-apps.org/" class="urlextern" title="http://kde-apps.org"&gt;http://kde-apps.org&lt;/a&gt;, &lt;a href="http://gtk-apps.org/" class="urlextern" title="http://gtk-apps.org"&gt;http://gtk-apps.org&lt;/a&gt;, &lt;a href="http://suse-art.org/" class="urlextern" title="http://suse-art.org"&gt;http://suse-art.org&lt;/a&gt;) with the desktop in order to extend applications by the most unique feature free software projects have: the community. The end result could be something like a “social desktop”, where people and the interaction with the community are a central element and provide extra value to the user.&lt;br /&gt;&lt;br /&gt;Some ideas how this could be used were presented in the Akademy keynote &lt;a href="http://akademy.kde.org/conference/presentation/40.php" class="urlextern" title="http://akademy.kde.org/conference/presentation/40.php"&gt; KDE Community websites: The past, the present and a vision for the future&lt;/a&gt; by Frank Karlitschek. He also presented the first version of an &lt;acronym title="Application Programming Interface"&gt;API&lt;/acronym&gt; how to access community web sites, the Open Collaboration Web Services &lt;acronym title="Application Programming Interface"&gt;API&lt;/acronym&gt;. The specification can be found on freedesktop.org.&lt;br /&gt;&lt;br /&gt;In order to make a first step towards the goal of the Social Desktop we want to implement the Open Collaboration Services &lt;acronym title="Application Programming Interface"&gt;API&lt;/acronym&gt; on opendesktop.org and a desktop client library and application to access the data.&lt;br /&gt;&lt;h3&gt;Results&lt;/h3&gt;Server code is active on opendesktop.org. Client code is in &lt;a href="http://hackweek.blogspot.com/2008/08/code-landed-in-svn.html" class="urlextern" title="http://hackweek.blogspot.com/2008/08/code-landed-in-svn.html"&gt;SVN&lt;/a&gt;. It includes a first version of the client &lt;acronym title="Application Programming Interface"&gt;API&lt;/acronym&gt;, an Akonadi resource handling person data, a &lt;acronym title="Graphical User Interface"&gt;GUI&lt;/acronym&gt; application to query and show person and activity data, and a Plasma data engine for the destkop.&lt;br /&gt;&lt;p&gt;More results and documentation of the progress can be found in &lt;a href="http://hackweek.blogspot.com/" class="urlextern" title="http://hackweek.blogspot.com"&gt;Cornelius' Hackweek Blog&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;h3 id="people"&gt;People&lt;/h3&gt;&lt;ul&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Cornelius Schumacher works on the client library, an example UI, and the Akonadi integration&lt;/div&gt;&lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Frank Karlitschek takes case of the server side&lt;/div&gt;&lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Sebastian Trueg helps with Nepomuk integration&lt;/div&gt;&lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Dirk Mueller works on a Plasmoid to show activity data on the desktop.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Related Materials&lt;/h3&gt;&lt;a href="http://www.open-collaboration-services.org/" class="urlextern" title="http://www.open-collaboration-services.org/"&gt;Open Collaboration Services Home Page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-7878739360120116899?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/7878739360120116899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=7878739360120116899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7878739360120116899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7878739360120116899'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2009/07/social-desktop.html' title='Social Desktop'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-1935305649646032511</id><published>2008-08-29T16:45:00.002+02:00</published><updated>2008-08-29T16:48:38.868+02:00</updated><title type='text'>Hackweek 3 Resume</title><content type='html'>Hackweek is over for me now. I wrote a &lt;a href="http://www.kdedevelopers.org/node/3648"&gt;short summary&lt;/a&gt; in my regular blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-1935305649646032511?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/1935305649646032511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=1935305649646032511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/1935305649646032511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/1935305649646032511'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/hackweek-3-resume.html' title='Hackweek 3 Resume'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-7495812497172212242</id><published>2008-08-29T13:39:00.004+02:00</published><updated>2008-08-29T14:13:25.202+02:00</updated><title type='text'>Now with Akonadi</title><content type='html'>I started to write an Akonadi resource yesterday after dinner and today I have Attica fetching the people data from the Open Collaboration Services API through Akonadi working. This screenshot demonstrates it:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_I0jbESd5Btw/SLfg06ydYjI/AAAAAAAAADA/RbQOsX9qaPA/s1600-h/attica_akonadi.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_I0jbESd5Btw/SLfg06ydYjI/AAAAAAAAADA/RbQOsX9qaPA/s320/attica_akonadi.png" alt="" id="BLOGGER_PHOTO_ID_5239903891207578162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here is the proof that it actually is Akonadi, the data shown in the Akonadi console:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_I0jbESd5Btw/SLfhEv8FuFI/AAAAAAAAADI/3-YV04yyNjA/s1600-h/attica_akonadi2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_I0jbESd5Btw/SLfhEv8FuFI/AAAAAAAAADI/3-YV04yyNjA/s320/attica_akonadi2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5239904163173087314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It was amazingly easy. Writing the resource was a breeze, because it only took &lt;a href="http://websvn.kde.org/trunk/KDE/kdesdk/kapptemplate/"&gt;kapptemplate&lt;/a&gt; generating a template and then following the &lt;a href="http://techbase.kde.org/Development/Tutorials/Akonadi/Resources"&gt;Akonadi Resource Tutorial&lt;/a&gt; step by step. For accessing the data from the UI I mainly took the examples from the &lt;a href="http://api.kde.org/4.x-api/kdepimlibs-apidocs/akonadi/html/index.html"&gt;Akonadi API Documentation&lt;/a&gt; and adapted them slightly to my needs and suddenly everything magically worked. Kudos to the people writing the Akonadi code and documentation. Fantastic job.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-7495812497172212242?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/7495812497172212242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=7495812497172212242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7495812497172212242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7495812497172212242'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/now-with-akonadi.html' title='Now with Akonadi'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_I0jbESd5Btw/SLfg06ydYjI/AAAAAAAAADA/RbQOsX9qaPA/s72-c/attica_akonadi.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-8441048920112541930</id><published>2008-08-28T16:12:00.002+02:00</published><updated>2008-08-28T16:21:21.764+02:00</updated><title type='text'>Code landed in SVN</title><content type='html'>The first code has landed in &lt;a href="http://websvn.kde.org/trunk/playground/base/attica/"&gt;SVN&lt;/a&gt;. It's a small client app which operates the Open Collaboration Services API. You can get user profiles, search for users and show your activity log. Still a long way to go, but it's a nice start. The app has the working title "Attica", after the region of Greece where democracy was born.&lt;br /&gt;&lt;br /&gt;Frank and me discussed the API in detail today and came up with a couple of changes. The backend of the app will have to be adapted once these changes are implemented on the server, but it shouldn't be a big deal. I still have to come up with some more abstraction of the REST access, though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-8441048920112541930?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/8441048920112541930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=8441048920112541930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/8441048920112541930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/8441048920112541930'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/code-landed-in-svn.html' title='Code landed in SVN'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-3659936345206242011</id><published>2008-08-26T15:34:00.002+02:00</published><updated>2008-08-26T15:38:19.277+02:00</updated><title type='text'>First Screenshot</title><content type='html'>After half a day of coding I'm ready to present my first screenshot:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_I0jbESd5Btw/SLQGlnjdLLI/AAAAAAAAAC4/IFPFtjpsxC4/s1600-h/attica.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_I0jbESd5Btw/SLQGlnjdLLI/AAAAAAAAAC4/IFPFtjpsxC4/s320/attica.png" alt="" id="BLOGGER_PHOTO_ID_5238819509881351346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Community users from &lt;a href="http://www.opendesktop.org/"&gt;www.opendesktop.org&lt;/a&gt; live on my desktop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-3659936345206242011?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/3659936345206242011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=3659936345206242011' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3659936345206242011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3659936345206242011'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/first-screenshot.html' title='First Screenshot'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_I0jbESd5Btw/SLQGlnjdLLI/AAAAAAAAAC4/IFPFtjpsxC4/s72-c/attica.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-4224409963433098328</id><published>2008-08-26T14:44:00.002+02:00</published><updated>2008-08-26T14:50:01.533+02:00</updated><title type='text'>Research about Social Desktop</title><content type='html'>There is an interesting research paper about the Social Desktop: &lt;a href="http://dis.shef.ac.uk/stevewhittaker/CM-tochi-whittaker-final.pdf"&gt;ContactMap: Organizing Communication in a Social Desktop&lt;/a&gt;. The authors investigate which social information on the desktop would help users to improve communication and other social tasks. They also come up with a prototype which looks pretty interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-4224409963433098328?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/4224409963433098328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=4224409963433098328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4224409963433098328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4224409963433098328'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/research-about-social-desktop.html' title='Research about Social Desktop'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-8074977477669460062</id><published>2008-08-26T14:42:00.003+02:00</published><updated>2008-08-26T14:43:59.035+02:00</updated><title type='text'>Users in your neigbourhood</title><content type='html'>Another use case from Frank's keynote: Users in your neighborhood.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_I0jbESd5Btw/SLP6X4wVJeI/AAAAAAAAACw/BJMad9fxFac/s1600-h/social_desktop2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_I0jbESd5Btw/SLP6X4wVJeI/AAAAAAAAACw/BJMad9fxFac/s320/social_desktop2.png" alt="" id="BLOGGER_PHOTO_ID_5238806079841052130" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-8074977477669460062?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/8074977477669460062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=8074977477669460062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/8074977477669460062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/8074977477669460062'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/users-in-your-neigbourhood.html' title='Users in your neigbourhood'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_I0jbESd5Btw/SLP6X4wVJeI/AAAAAAAAACw/BJMad9fxFac/s72-c/social_desktop2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-7832606512084281053</id><published>2008-08-26T10:08:00.003+02:00</published><updated>2008-08-26T10:16:12.946+02:00</updated><title type='text'>Design Decisions</title><content type='html'>I took some preliminary design decisions for the implementation of the Open Collaboration Services client library:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Separation of transport and content&lt;/li&gt;&lt;li&gt;Abstract implementation of transport using kio_http as backend and configurable URI schemes for the REST access&lt;/li&gt;&lt;li&gt;Job-based transport API&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Concrete implementation of content classes providing a C++ native interface to the application. Maybe look into code generation for these classes.&lt;/li&gt;&lt;li&gt;Value based API for content. Possibly with implicit sharing.&lt;/li&gt;&lt;li&gt;Don't care about caching for now. Look into using Akonadi for that later.&lt;/li&gt;&lt;li&gt;Implement an id based relations API on top of the data objects. Maybe Nepomuk can help here.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-7832606512084281053?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/7832606512084281053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=7832606512084281053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7832606512084281053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/7832606512084281053'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/design-decisions.html' title='Design Decisions'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-3764933474775153106</id><published>2008-08-25T12:19:00.002+02:00</published><updated>2008-08-25T12:29:21.276+02:00</updated><title type='text'>OpenSocial</title><content type='html'>&lt;a href="http://code.google.com/apis/opensocial/"&gt;OpenSocial&lt;/a&gt; is an API created by Google to provide a standard way to embed small apps in social web sites. It specifies a container format for embedding HTML and Javascript in a site and specifies an API how to access the site through Javascript. This way it's easily possible to write small apps which interact with the data about people and their activities which is provided by the site.&lt;br /&gt;&lt;br /&gt;With version 0.8 OpenSocial also specifies a &lt;a href="http://code.google.com/apis/opensocial/docs/0.8/restfulspec.html"&gt;REST API&lt;/a&gt; to access container servers. This makes it much more interesting as it's not tied into specific web sites, but the data gets accessible much more widely, especially on the desktop. I still have to find a site which actually implements this API, though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-3764933474775153106?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/3764933474775153106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=3764933474775153106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3764933474775153106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3764933474775153106'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/opensocial.html' title='OpenSocial'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-375555171694612943</id><published>2008-08-25T12:16:00.003+02:00</published><updated>2008-08-25T12:18:22.637+02:00</updated><title type='text'>Open Collaboration Services API</title><content type='html'>On freesektop.org you can find the specification for the &lt;a href="http://www.freedesktop.org/wiki/Specifications/open-collaboration-services"&gt;Open Collaboration Services API&lt;/a&gt;. It provides a REST interface for accessing user and content data. It's already implemented on &lt;a href="http://www.opendesktop.org"&gt;www.opendesktop.org&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-375555171694612943?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/375555171694612943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=375555171694612943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/375555171694612943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/375555171694612943'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/open-collaboration-services-api.html' title='Open Collaboration Services API'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-6720904510191578413</id><published>2008-08-24T21:54:00.003+02:00</published><updated>2008-08-24T22:16:57.288+02:00</updated><title type='text'>Hackweek 3</title><content type='html'>Next week is hackweek time again. It's the third SUSE hackweek, which means we are doing this for more than a year now. Hackweek has created lots of interesting projects and some of the results have significantly improved our distribution.&lt;br /&gt;&lt;br /&gt;Last hackweek I was too busy with other interesting stuff, but this time I will fully participate again. The project I plan to work on is the &lt;a href="http://idea.opensuse.org/content/ideas/social-desktop"&gt;Social Desktop&lt;/a&gt;. That's inspired by the &lt;a href="http://conference2008.kde.org/conference/slides/socialdesktop.pdf"&gt;keynote&lt;/a&gt; Frank Karlitschek gave at &lt;a href="http://akademy2008.kde.org"&gt;Akademy&lt;/a&gt; this year. He proposed some ideas how to get the community on the desktop, how desktop applications could be enriched by making use of the data and functionality which is available on community web sites like &lt;a href="http://opendesktop.org"&gt;opendesktop.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;One example he gave was an about dialog on steroids, which would provide more info about the people behind the applications, and would also give users a way to become a "fan" to visibly be part of the user community of an application.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_I0jbESd5Btw/SLHAJKWkRlI/AAAAAAAAACg/agW3X0auWgQ/s1600-h/social-desktop.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_I0jbESd5Btw/SLHAJKWkRlI/AAAAAAAAACg/agW3X0auWgQ/s320/social-desktop.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5238179105238959698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another interesting use case Frank presented was integration of online content in the help center. Lots of info about how to use application is in online forums these days and it would be great, if the user would get more direct access to this info by integrating it into the help center.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_I0jbESd5Btw/SLHA_HhB2XI/AAAAAAAAACo/M3oAvx2-S7A/s1600-h/social-desktop1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_I0jbESd5Btw/SLHA_HhB2XI/AAAAAAAAACo/M3oAvx2-S7A/s320/social-desktop1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5238180032190470514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Frank has already implemented a first version of the API on opendesktop.org, so what we now need is a client implementation on the desktop. This involves questions like how to best access the REST API, how to handle authentication through OpenID, and how to make the information accessible in a useful way for applications to use it. I'm looking forwared to work on findind answers to these questions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-6720904510191578413?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/6720904510191578413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=6720904510191578413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/6720904510191578413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/6720904510191578413'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2008/08/hackweek-3.html' title='Hackweek 3'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_I0jbESd5Btw/SLHAJKWkRlI/AAAAAAAAACg/agW3X0auWgQ/s72-c/social-desktop.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-9037397747829768732</id><published>2007-07-15T22:28:00.000+02:00</published><updated>2007-07-15T22:56:03.262+02:00</updated><title type='text'>Hack Week Recap</title><content type='html'>Hack Week ended two weeks ago, but I didn't find the time to write down some finalizing thoughts up to now. But here we go now:&lt;br /&gt;&lt;br /&gt;Hack Week was an tremendously great experience. It was amazing how much creativity was set free. A smart move was the free breakfast for all which lead to people coming early to the offices, having a healthy meal and start hacking. It was in general a very positive atmosphere. I guess everybody enjoyed it. One frequent meme was "Do it again". Let's hope this will work out.&lt;br /&gt;&lt;br /&gt;Two other statements I heard quite frequently were "My project turned out to be more difficult than I thought." and "I found a project which already does what I wanted to do." Both is good, because it  shows that people were ambitious and the free software cosm provides a lot of solutions even to ambitious projects. Of course many developers found challenges which weren't solved before and did &lt;a href="http://idea.opensuse.org/content/blog/hack-week-award-winners"&gt;great work&lt;/a&gt; on them.&lt;br /&gt;&lt;br /&gt;My own project was not as successfull as I would have liked. I discusses a lot of ideas and wrote some decent code, but I didn't get it to a really useful state. Garrett did some more work on the user interface which already looks quite nice and collects some useful data. We need to connect our two parts together, though, to achieve a richer experience for the user. I realized that this project has a lot of potential during the Hack Week. There are so many interesting things you can do with it (provided it works at some time) and when talking to others about the project, many exciting ideas came up. So I'm looking forward to spend some more time on this project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-9037397747829768732?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/9037397747829768732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=9037397747829768732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/9037397747829768732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/9037397747829768732'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2007/07/hack-week-recap.html' title='Hack Week Recap'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-8308705659412449373</id><published>2007-06-29T17:10:00.001+02:00</published><updated>2007-06-29T17:14:39.737+02:00</updated><title type='text'>Make it colorful</title><content type='html'>I have removed some of the ugliness of the collector code. It now more or less correctly parses OPML files now which define the services which are to be aggregated and writes it in a way the Rails GUI can understand.&lt;br /&gt;&lt;br /&gt;When Klaas saw the GUI he said: "Make it colorful!". So I did:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_I0jbESd5Btw/RoUhX9q1dLI/AAAAAAAAAAs/akZvqPZREYI/s1600-h/molecule-colorful.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_I0jbESd5Btw/RoUhX9q1dLI/AAAAAAAAAAs/akZvqPZREYI/s320/molecule-colorful.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5081504450132407474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This clearly is a cry for help by an artist as you can see (if you didn't get blind by looking at the screenshot).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-8308705659412449373?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/8308705659412449373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=8308705659412449373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/8308705659412449373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/8308705659412449373'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2007/06/make-it-colorful.html' title='Make it colorful'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_I0jbESd5Btw/RoUhX9q1dLI/AAAAAAAAAAs/akZvqPZREYI/s72-c/molecule-colorful.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-3055319582142012900</id><published>2007-06-28T20:02:00.000+02:00</published><updated>2007-06-28T20:14:07.216+02:00</updated><title type='text'>Collaboration Magic</title><content type='html'>At hackweek two cases of serious collaboration magic happened to me.&lt;br /&gt;&lt;br /&gt;At the beginning of the week I talked to &lt;a href="http://linuxart.com/log/"&gt;Garrett&lt;/a&gt; about what he was planning to do. He told me and we quickly realized that it was the same idea from two different angles. We were both thinking about a dynamic SUSE portal. My idea was focused more on the backend side and how this could be useful internally. Garret was coming from the UI side and how this could be useful to the external community. A perfect match :-)&lt;br /&gt;&lt;br /&gt;The other case of collaboration magic happened when Tom realized that he was stuck in his project because of some kernel problems he wasn't able to fix. So he made a short detour and implemented an &lt;a href="http://idea.opensuse.org/content/ideas/rss-news-feeds-for-swamp"&gt;Atom feed for SWAMP&lt;/a&gt;, ready to be used by my project. Jippie!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-3055319582142012900?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/3055319582142012900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=3055319582142012900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3055319582142012900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3055319582142012900'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2007/06/collaboration-magic.html' title='Collaboration Magic'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-2497511048701536482</id><published>2007-06-27T15:17:00.000+02:00</published><updated>2007-06-27T15:24:14.762+02:00</updated><title type='text'>Second Screenshot</title><content type='html'>Breaking News: Here it is, the second screenshot. You have to look closely to see the difference to the first screenshot. In the &lt;a href="http://hackweek.blogspot.com"&gt;Hack Week Blog&lt;/a&gt; part there now is an additional entry: &lt;a href="http://hackweek.blogspot.com/2007/06/first-screenshot.html"&gt;First Screenshot&lt;/a&gt;. That's the first sign of my code doing the right thing. Huzzah!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_I0jbESd5Btw/RoJjyNq1dKI/AAAAAAAAAAk/Vuuzxxa8f6U/s1600-h/molecule_screenshot2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_I0jbESd5Btw/RoJjyNq1dKI/AAAAAAAAAAk/Vuuzxxa8f6U/s320/molecule_screenshot2.png" alt="" id="BLOGGER_PHOTO_ID_5080733043941274786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ok, now on to the third screenshot... (just kidding).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-2497511048701536482?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/2497511048701536482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=2497511048701536482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/2497511048701536482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/2497511048701536482'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2007/06/second-screenshot.html' title='Second Screenshot'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_I0jbESd5Btw/RoJjyNq1dKI/AAAAAAAAAAk/Vuuzxxa8f6U/s72-c/molecule_screenshot2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-4088606215021030694</id><published>2007-06-27T15:03:00.001+02:00</published><updated>2007-06-27T15:11:55.270+02:00</updated><title type='text'>First Screenshot</title><content type='html'>After a day of happy Rails hacking I now have my first screenshot:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_I0jbESd5Btw/RoJgR9q1dJI/AAAAAAAAAAc/8TE3ItjPETU/s1600-h/molecule_screenshot1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_I0jbESd5Btw/RoJgR9q1dJI/AAAAAAAAAAc/8TE3ItjPETU/s320/molecule_screenshot1.png" alt="" id="BLOGGER_PHOTO_ID_5080729191355610258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It already looks vaguely similar to the &lt;a href="http://hackweek.blogspot.com/2007/06/design-document-and-mockup.html"&gt;initial mockup&lt;/a&gt;. Under the hood there is a set of small Ruby modules which collect data from various sources and provide them as Atom feeds to the GUI. The GUI is a small Rails app which shows the feeds. The structure of the page on the screen is defined by an OPML file. The code still lacks in terms of nearly everything, but at least it's a first working slice through the application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-4088606215021030694?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/4088606215021030694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=4088606215021030694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4088606215021030694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/4088606215021030694'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2007/06/first-screenshot.html' title='First Screenshot'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_I0jbESd5Btw/RoJgR9q1dJI/AAAAAAAAAAc/8TE3ItjPETU/s72-c/molecule_screenshot1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-3888838045787603858</id><published>2007-06-27T12:01:00.000+02:00</published><updated>2007-06-27T12:06:41.978+02:00</updated><title type='text'>Codename: Molecule</title><content type='html'>I had to came up with a codename for &lt;a href="http://idea.opensuse.org/content/ideas/dynamic-web-service-portal"&gt;my project&lt;/a&gt;, so I could properly name my git repository and the rails directory. So what could be a better name for an aggregation of Atom feeds than &lt;span style="font-weight:bold;"&gt;"Molecule"&lt;/span&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-3888838045787603858?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/3888838045787603858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=3888838045787603858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3888838045787603858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3888838045787603858'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2007/06/codename-molecule.html' title='Codename: Molecule'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-1695022978947007066</id><published>2007-06-25T14:46:00.000+02:00</published><updated>2007-06-25T15:05:39.628+02:00</updated><title type='text'>Design Document and Mockup</title><content type='html'>There is progress on my Hack Week Project &lt;a href="http://idea.opensuse.org/content/ideas/dynamic-web-service-portal"&gt;Dynamic Web Service Portal&lt;/a&gt;. I have created a fantastic design document and a mockup.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_I0jbESd5Btw/Rn-6r5ZhQxI/AAAAAAAAAAU/_N1rhxL_6-k/s1600-h/molecule_mockup.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_I0jbESd5Btw/Rn-6r5ZhQxI/AAAAAAAAAAU/_N1rhxL_6-k/s320/molecule_mockup.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5079984168002208530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the mockup you can see the aggregation of data from different sources. I intend to use Atom feeds for that which are created by small modules accessing the sources via a web service. In the simplest case this is already an Atom feed where nothing has to be done other than fetching it. In less simple cases there is a bit of parsing and reformatting involved or operating a SOAP protocol or similar things.&lt;br /&gt;&lt;br /&gt;What you also can see in the mockup (well at least if you are so lucky to decifer my handwriting) are the actions associated with some entries. For example for resolving a bug, showing the diff associated with a SVN commit, marking a mail from a mailing list as todo or for closing a bug resolved by a SVN commit containing the corresponding bug number in the commit message. These actions I intend to embed in the Atom feeds using some custiom extensions. The result would be something like "Activated Atom".&lt;br /&gt; &lt;br /&gt;Now add a bit of code to actually create the user interface and we are done. Sounds easy, doesn't it? Let's see. Back to coding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-1695022978947007066?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/1695022978947007066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=1695022978947007066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/1695022978947007066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/1695022978947007066'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2007/06/design-document-and-mockup.html' title='Design Document and Mockup'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_I0jbESd5Btw/Rn-6r5ZhQxI/AAAAAAAAAAU/_N1rhxL_6-k/s72-c/molecule_mockup.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7846728973586617635.post-3639670888857003799</id><published>2007-06-25T12:40:00.000+02:00</published><updated>2007-06-25T13:25:19.844+02:00</updated><title type='text'>Start of Hack Week</title><content type='html'>&lt;a href="http://lists.opensuse.org/opensuse-announce/2007-06/msg00009.html"&gt;Hack Week&lt;/a&gt; has started. It's exciting. The complete Linux engineering team at Novell is working on whatever they find interest. We will have one week without the normal obligations by the job, but with time for working on crazy ideas. See the &lt;a href="http://idea.opensuse.org/"&gt;openSUSE Idea Pool&lt;/a&gt; for details about what's going on and some interesting video footage.&lt;br /&gt;&lt;br /&gt;I will work on a &lt;a href="http://idea.opensuse.org/content/ideas/dynamic-web-service-portal"&gt;Dynamic Web Service Portal&lt;/a&gt;. More info and first code is under production...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7846728973586617635-3639670888857003799?l=hackweek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hackweek.blogspot.com/feeds/3639670888857003799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7846728973586617635&amp;postID=3639670888857003799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3639670888857003799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7846728973586617635/posts/default/3639670888857003799'/><link rel='alternate' type='text/html' href='http://hackweek.blogspot.com/2007/06/start-of-hack-week.html' title='Start of Hack Week'/><author><name>Cornelius Schumacher</name><uri>http://www.blogger.com/profile/07307631039358655025</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_I0jbESd5Btw/SzFyFzQdr1I/AAAAAAAAAG0/7WtkLSxC7mA/S220/cornelius.jpg'/></author><thr:total>0</thr:total></entry></feed>
