Older blog entries for zeenix (starting at number 312)

Help needed for Debian and Ubuntu

If you read any of my previous blog entries, you must be now familiar with this 'express installation' concept we have in Boxes. Its pretty neat actually, you just set a few options at the beginning and then you can leave Boxes (or your machine) and when you are back, everything is setup for you automatically in a new box.

I have invested a lot of time/efforts on this already and will be spending a lot more time in future as well but I am just one man so can not possibly cover all operating systems out there. That is why I am asking for help from anyone who will be interested in adding express installation support for Ubuntu and Debian while I focus on Fedora and Windows variants. Oh and if you are interested in adding support for some other distribution/OS, that contribution will also be more than welcomed.

In any case, happy hacking!

Syndicated 2011-12-22 19:47:00 (Updated 2011-12-22 19:47:44) from zeenix

21 Dec 2011 (updated 21 Dec 2011 at 15:24 UTC) »

Another awesome release of Boxes

Yesterday we rolled out the second release of Boxes for upcoming GNOME 3.3.3. There are many fixes/improvements in this release to list them all here but the most significant ones in my opinion are:

  • A nicer UI for deletion of Boxes designed for protecting the user from accidental deletion of boxes. Here is a video demo of it in action.
  • Special handling of 'live' and unknown media: Quick launch of a temporary box for it, which is made permanent automatically (only) if anything is installed on the box by the media. Here is a video demo of this behaviour in action.
  • Express installation for Windows XP now works, thanks to important clues provided by Lucas Meneghel Rodrigues. Don't believe me? I have video footage that proves it.
  • UI for setting user and administrator password and in case of older Windows, ability to set product key as part preparation for express installation. Please check out the videos above for demo of this feature in action.
Apart from changes in Boxes itself, there were some note-worthy changes in our dependencies that helps us directly.
  • Christophe Fergeau added a big bunch of new APIs to libvirt-glib (libvirt-gconfig to be precise) for dealing with libvirt's configuration XML. Now Boxes uses that instead of manually writing/editing XML strings.
  • A Google Code-In participant, Mateusz Kaplon added a lot of data about various different operating systems to libosinfo. For Boxes that means more complete and reliable detection and default resource allocation for various operating systems.

For a detailed list of changes in Boxes 3.3.3, please refer to the release notes.

Syndicated 2011-12-21 00:17:00 (Updated 2011-12-21 14:48:39) from zeenix

Behold the Boxes!


Dear readers! If you recall, in a blog post not so long ago I introduced you to the wonderful virtual world I now live in.  Now around the same time I wrote that post, some of the GNOME designers and developers (myself included) felt the need for having a UI as an integral part of GNOME that lets users easily manage (create and destroy) virtual machines and at the same time lets them connect to remote machines.

Two of our awesome designers, Jon McCann and Jakub Steiner) started creating design for this UI. We (as in Jon McCann) named it 'Boxes' as its something that deals with..hm.. boxes. At the same time, we (me, Marc-Andre and Christophe) kept working on the foundations for Boxes, mainly in the form of lots of improvements to libvirt, libvirt-glib, libosinfo and spice-gtk.

About less than a month ago we started implementing the design when the design stabilized a bit. The implementation actually started as a "proof of concept" from Marc-Andre over a weekend. The result was already so good that we decided to move it to git.gnome as the bases for Boxes' implementation. While most of the credit for the UI goes to Marc-Andre, I think he will agree that it wouldn't have been so easy to get this started so quickly if we hadn't chosen to write this in Vala.

Since by now you have read a lot of blah blah already, I'll stop boring you more and show you some screenshots of what we have already:








And if that gets you excited, you'd want to see this screencast where I show Boxes in action.

After a few days of tiring work on fixing critical issues in Boxes and its dependencies we finally managed to roll-out our first release. You are more than welcome to try it out already and report any issues you find but please keep in mind that at the moment we require the latest (unstable in many cases) releases of our dependencies to be able to make use of their latest features. If you happen to be a jhbuild user, you are in luck as building boxes is as easy as typing `jhbuild build gnome-boxes`.

Why not virt-manager?

 

virt-manager is an awesome tool and I myself use it everyday. I am sure other Boxes hackers are using it on daily bases as well. However we must keep in mind that the UI we were looking for in GNOME is not meant for enterprise-level system-administrators who have hundreds of mission-critical virtual-machines on an array of super computers but rather a typical end-user who just wants to connect from his laptop to his work machine(s) and/or try different operating systems. While virt-manager is undoubtedly the best choice for the former, its not at all tailored for the latter.

It should be noted that while we decided not to use virt-manager for the UI, we still are trying our best to share as much code base/efforts with virt-manager as possible in terms of infrastructure, mainly in the form of libvirt, libosinfo, qemu and spice-gtk.

Known issues


Boxes is still in its infancy so you might find a lot of issues in Boxes and its dependencies but one issue that is a big show-stopper at the moment is the breakage of floppy support in recent Qemu. Boxes depends on floppy-support for making automated/express install possible for both Linux and Windows. Fortunately the issue is already fixed in git master of Qemu and its just a matter of releasing and packaging by distributions.

How to help?


Seems many people are already very excited about this little project of ours and I'm hoping this blog entry will attract more contributors so I wanted to point out some things we need help with. If you are interested in UI work, Marc-Andre has written down a TODO for Boxes that you can pick some tasks from. Other than that, we still need a lot of help with two of our main dependencies:

  • libosinfo: This library is our store for information on operating systems and means to detect operating systems from installation media.
  • libvirt-glib: libvirt-glib wraps libvirt to provide a high-level object-oriented API better suited for glib-based applications.
While Boxes is written in Vala, these libraries are completely written in C so if you are a C hacker and want to contribute, these would be good places to start with. While most of the work needed on libosinfo is that of populating its database with information on all kinds of operating systems out there, libvirt-glib still lacks a lot of needed API. One particular part of libvirt-glib that needs the most work and is of highest priority to us is its API to deal with libvirt's configuration XML.

We all love boxes, don't we?

Syndicated 2011-11-23 04:00:00 (Updated 2011-11-22 20:43:17) from zeenix

22 Nov 2011 (updated 22 Nov 2011 at 20:05 UTC) »

Behold the Boxes!


Dear readers! If you recall, in a blog post not so long ago I introduced you to the wonderful virtual world I now live in.  Now around the same time I wrote that post, some of the GNOME designers and developers (myself included) felt the need for having a UI as an integral part of GNOME that lets users easily manage (create and destroy) virtual machines and at the same time lets them connect to remote machines.

Two of our awesome designers, Jon McCann and Jakub Steiner) started creating design for this UI. We (as in Jon McCann) named it 'Boxes' as its something that deals with..hm.. boxes. At the same time, we (me, Marc-Andre and Christophe) kept working on the foundations for Boxes, mainly in the form of lots of improvements to libvirt, libvirt-glib, libosinfo and spice-gtk.

About less than a month ago we started implementing the design when the design stabilized a bit. The implementation actually started as a "proof of concept" from Marc-Andre over a weekend. The result was already so good that we decided to move it to git.gnome as the bases for Boxes' implementation. While most of the credit for the UI goes to Marc-Andre, I think he will agree that it wouldn't have been so easy to get this started so quickly if we hadn't chosen to write this in Vala.

Since by now you have read a lot of blah blah already, I'll stop boring you more and show you some screenshots of what we have already:








And if that gets you excited, you'd want to see this screencast where I show Boxes in action.

After a few days of tiring work on fixing critical issues in Boxes and its dependencies we finally managed to roll-out our first release. You are more than welcome to try it out already and report any issues you find but please keep in mind that at the moment we require the latest (unstable in many cases) releases of our dependencies to be able to make use of their latest features. If you happen to be a jhbuild user, you are in luck as building boxes is as easy as typing `jhbuild build gnome-boxes`.

Why not virt-manager?

 

virt-manager is an awesome tool and I myself use it everyday. I am sure other Boxes hackers are using it on daily bases as well. However we must keep in mind that the UI we were looking for in GNOME is not meant for enterprise-level system-administrators who have hundreds of mission-critical virtual-machines on an array of super computers but rather a typical end-user who just wants to connect from his laptop to his work machine(s) and/or try different operating systems. While virt-manager is undoubtedly the best choice for the former, its not at all tailored for the latter.

It should be noted that while we decided not to use virt-manager for the UI, we still are trying our best to share as much code base/efforts with virt-manager as possible in terms of infrastructure, mainly in the form of libvirt, libosinfo, qemu and spice-gtk.

Known issues


Boxes is still in its infancy so you might find a lot of issues in Boxes and its dependencies but one issue that is a big show-stopper at the moment is the breakage of floppy support in recent Qemu. Boxes depends on floppy-support for making automated/express install possible for both Linux and Windows. Fortunately the issue is already fixed in git master of Qemu and its just a matter of releasing and packaging by distributions.

How to help?


Seems many people are already very excited about this little project of ours and I'm hoping this blog entry will attract more contributors so I wanted to point out some things we need help with. If you are interested in UI work, Marc-Andre has written down a TODO for Boxes that you can pick some tasks from. Other than that, we still need a lot of help with two of our main dependencies:

  • libosinfo: This library is our store for information on operating systems and means to detect operating systems from installation media.
  • libvirt-glib: libvirt-glib wraps libvirt to provide a high-level object-oriented API better suited for glib-based applications.
While Boxes is written in Vala, these libraries are completely written in C so if you are a C hacker and want to contribute, these would be good places to start with. While most of the work needed on libosinfo is that of populating its database with information on all kinds of operating systems out there, libvirt-glib still lacks a lot of needed API. One particular part of libvirt-glib that needs the most work and is of highest priority to us is its API to deal with libvirt's configuration XML.

We all love boxes, don't we?

Syndicated 2011-11-19 00:50:00 (Updated 2011-11-22 19:30:49) from zeenix

libvirt-glib 0.0.1 is out!

The first public release of libvirt-glib is out! libvirt-glib wraps libvirt to provide a high-level object-oriented API better suited for glib-based applications. Daniel wrote nice release notes so I'll save myself some time and quote it for more details:

I am pleased to announce the first release of the libvirt-glib package,
version 0.0.1 is now available from

ftp://libvirt.org/libvirt/glib/
The packages are GPG signed with

Key ID: 15104FDF Daniel P. Berrange
Key fingerprint: DAF3 A6FD B26B 6291 2D0E 8E3F BE86 EBB4 1510 4FDF

libvirt-glib comprises three distinct libraries:

- libvirt-glib - Integrate with the GLib event loop and error handling
- libvirt-gconfig - Representation of libvirt XML documents as GObjects
- libvirt-gobject - Mapping of libvirt APIs into the GObject type system

As of this release only the event loop integration and some basic APIs for
managing domains are provided. The representation of XML as GObjects is a
major work item that is just beginning.

The libvirt-gconfig library can be used without linking to the main libvirt.so
library, so it is suitable for consumption by applications which use libvirt
indirectly via AMQP, CIM or another API transport which accepts XML documents.

All the libraries support GObject introspection to enable immediate usage
from any language which can dynamically import objects via introspection.
There are also Vala bindings which are automatically generated from the
introspection data.

NB: While libvirt aims to be API/ABI stable, for the first few releases,
we are *NOT* guaranteeing that libvirt-glib libraries are API/ABI stable.
ABI stability will only be guaranteed once the bulk of the APIs have been
fleshed out and proved in non-trivial application usage. We anticipate
this will be within the next 6 months in order to line up with Fedora 17.

Follow up comments about libvirt-glib should be directed to the regular
libvir-list@redhat.com developmenht list.

Thanks to all the people involved in contributing to this release.
@redhat.com>

Syndicated 2011-11-16 14:22:00 (Updated 2011-11-16 14:37:25) from zeenix

26 Oct 2011 (updated 26 Oct 2011 at 17:03 UTC) »

Introducing libosinfo

The first release of libosinfo is out!

What is libosinfo?

libosinfo is a GObject based library API for managing information about
operating systems, hypervisors and the (virtual) hardware devices they can
support. It includes a database containing device metadata and provides APIs
to match/identify optimal devices for deploying an operating system on a
hypervisor. Via the magic of GObject Introspection, the API is available in all
common programming languages with demos for javascript (GJS/Seed) and python
(PyGObject). Also provided are Vala bindings.

libosinfo is Free Software and licenced under LGPLv2+.

Dependencies

  • Required:
    • gobject-2.0
    • gio-2.0
    • libxml-2.0
  • Optional:
    • gobject-introspection
    • Vala (build-time only)

Download

http://fedorahosted.org/releases/l/i/libosinfo/

Homepage

http://fedorahosted.org/libosinfo/

Syndicated 2011-10-26 00:18:00 (Updated 2011-10-26 16:15:59) from zeenix

GNOME 3.2 party in Helsinki!

The party turned out to be a lot more successful than I thought. I thought only a few people will show-up since there aren't that many gnomies around that I know of. We had lots of nice discussions on various topics especially the future of GNOME and Free SW in general. One of the participants was very interested in having some way to write UIs that work for both big screens and tiny screen of his Openmoko mobile phone, which turned out to be quite an interesting discussion.

Taking the EXOPC running Fedora 16 with me was indeed a good idea since almost every participant wanted to see how it works. Although I had to keep telling/reminding everyone that on-screen-keyboard in gnome-shell is not exactly finished, I noticed that people were pretty much already able to use GNOME 3.2 with a touch-only interface. The biggest issue people encountered wasn't the OSK though but the bad touch-screen on the tablet.

Some pictures from the event:











Syndicated 2011-10-06 13:30:00 (Updated 2011-10-06 13:31:11) from zeenix

Helsinki GNOME 3.2 release party

If you happen to be in Helsinki tomorrow (Wednesday) evening, don't forget to drop-by at Kaisla to celebrate the awesome GNOME 3.2 release with us. Not only you will get to hang-out and have beers with other cool people in town but also get to try out GNOME 3.2 on a tablet. If you have never been to Kaisla before, this is one bar you must visit if you are interested in beers as they have a rather decent collection of beers from different countries.

See you tomorrow at 8pm there!

Syndicated 2011-10-04 02:08:00 (Updated 2011-10-04 02:09:21) from zeenix

Got a red hat? Check!

I finally got my (long awaited) hat!







Now back to work...

Syndicated 2011-09-10 01:35:00 (Updated 2011-09-10 01:35:28) from zeenix

See you in Berlin!






I have a talk where I'll attempt to brain-wash educate the masses about the awesomeness of Vala language. If you are even slightly interested, please do attend. I also have arranged a BoF together with KDE's Friedrich Kossebau to discuss about the possibility of SSDP (discovery protocol used by UPnP) as a system service.

See you in Berlin soon!

Syndicated 2011-08-02 20:25:00 (Updated 2011-08-02 20:25:07) from zeenix

303 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!