Wednesday, May 22, 2013

Hack Week 9


During Hack Week 9 Henne and I worked on an app to manage Hack Week projects. The goal was to provide a tool, which better supports the intention of Hack Week, to innovate, collaborate, and learn.


We decided to start from scratch and lined up a fine set of web technology to help us. Rails as application framework, Bootstrap for proper styling, Heroku for simple hosting, Capybara for integration tests, jQuery for a snappy UI, PostgreSQL to store our valuable data, Haml for pleasant templates, OmniAuth for secure and versatile authentication, and some more.

A week is not too much, but it's enough to get something going, so we did some whiteboard design and than dived into coding to make it real. At the end we had a working first version. It's running at suse-hackweek.herokuapp.com. Go to the projects page to see the web app live in action.


Our goal was to provide a convenient way to manage projects and provide the necessary structure to make it easy to find people and corresponding projects. In addition of managing the project data, we also wanted to have some way to comment, publish project updates, see the people involved, and make it easy to join projects, in order to facilitate interaction between people and so to tap into the creativity of the Hack Week crowd.

We were able to accomplish most of this, and even started a basic recommendation engine, which would hint you at project, which might be interesting for you. This is more of an experiment, but an adequate one for a Hack Week. To get the application to a state where it can actually be used will still be a little bit of work, but it could be feasible to do that for the next Hack Week. We'll see how this goes. If you want to help, you're welcome. The code is at http://github.com/suse/hackweek.

Part of the fun of creating this application was going through a number of design iterations. Here are some screenshots of how the app evolved over the week for your viewing pleasure:




It still amazes me how quickly you can create results with Rails, especially if you have the opportunity to freely choose the technology and are not burdened by legacy code. It definitely was a fun week.

Wednesday, September 28, 2011

gem install owncloud-admin

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.

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.

Side-tracked: ownCloud admin tool

Klaas and Frank tricked me into getting side-tracked from my hack week project and writing a command line tool for installing ownCloud. 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.


The code is at github.com/openSUSE/owncloud-admin. 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.

Tuesday, September 27, 2011

Inqlude command line client

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.


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...

Inqlude web site

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.


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.

Monday, September 26, 2011

Hackweek 7

It's the seventh SUSE hack week. I'm working on Inqlude, the Qt library archive, getting it 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.



There are a lot of things, which need to be done:

  • Finalize library meta data format
  • Adapt prototype tool to support the final format
  • Collect real meta data for as many libraries as possible
  • Finish the backend for installing binary packages on openSUSE via the openSUSE build service
  • Look into backends for other distributions, ideally using the same build service integration
  • Get libraries packaged, which don't have packages yet
  • Contribute back changes in package descriptions
  • Implement a Qt based client, possibly with a QML based GUI
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 contact me, and we'll figure out the rest.

Thursday, August 4, 2011

Polka

Last hackweek I was so busy with coding, that I didn't blog. But for reference here is the summary of my Hackweek 6 project.