Hello. I received some feedback from the 0.3.0 release of GXml at the end of the Google Summer of Code. Mainly that it wasn't compiling on another person's machine. Changes to autotools to increment the version caused files to not install in a unusuaable configuration, but I didn't notice as I still had files installed from before I incremented the version. :D
I spent last night and today going through autotools files and libfolks to understand what was going wrong. Then I rewrote a third of GXml's configuration. I tried following the Vala tutorial's advice, only to discover it was base on GXml. "make distcheck" now passes too, though I had to relocate some tests and fix a bug in caching deserialised objects.
Thus, 0.3.1:
Any more feedback would of course be welcome.
2012-08-20
[GNOME] GXml 0.3.0
update: thanks to Marcus Lundblad for pointing out issues with the examples
The Google Summer of Code 2012 now comes to a close, so to celebrate, GXml 0.3.0 has been tagged with GObject Serialization as its big feature.
The last few days have had been trying to find a clever way to reliably identify some types of collections, but that's not finished, so they're not being automatically serialized in this release.
I've also bravely fought against autotools to try to figure out how to minimise the number of places where I have to update a version number. Too much of autotools remain a mystery to me, sadly, but I think I got it? It works for me: hopefully someone will file a bug if something doesn't work for them.
Summary
Vala Example
Automatic serialization
Implementing the interface: overriding how a property is serialized
Implementing the interface: override view of properties
Challenges
These are the greatest challenges I've dealt with
Future
Download tar ball: http://ftp.gnome.org/pub/GNOME/sources/gxml/0.3/
The Google Summer of Code 2012 now comes to a close, so to celebrate, GXml 0.3.0 has been tagged with GObject Serialization as its big feature.
The last few days have had been trying to find a clever way to reliably identify some types of collections, but that's not finished, so they're not being automatically serialized in this release.
I've also bravely fought against autotools to try to figure out how to minimise the number of places where I have to update a version number. Too much of autotools remain a mystery to me, sadly, but I think I got it? It works for me: hopefully someone will file a bug if something doesn't work for them.
Summary
- Serialization class
- that can automatically handle many types
- that can deserialise to types known on the local system and distinguish multiple references to the same object. I have some future plans to remove redundant XML that gets generated, too.
- Serializable interface
- allows classes to override default serialization and serialize non-public properties too. Yay!
- follows json-glib so that a common serialization interface can be defined in the future
- Documentation
- successfully got Valadoc to generate GtkDoc (and fixed a lot of documentation in GXml from before)
- Testing
- created test suites for serialization features
- API breakage
- namespaces were changed, in part to reduce the amount of code C programmers have to write.
Vala Example
Automatic serialization
GXml.DomNode xml = GXml.Serialization.serialize_object (banana);
...
banana = GXml.Serialization.deserialize_object (xml);
Implementing the interface: overriding how a property is serialized
public class Banana : GLib.Object, GXml.Serializable {
public int weight { get; set; }
public GXml.DomNode? serialize_property (string prop_name, GLib.ParamSpec spec,
GXml.Document doc) {
switch (prop_name) {
case "weight":
return doc.create_text_node ("%d".printf (weight * 1000));
default:
return null;
}
}
public bool deserialize_property (string prop_name, GLib.ParamSpec spec,
GXml.DomNode prop_node) {
GLib.Value outvalue = GLib.Value (typeof (int));
switch (prop_name) {
case "weight":
int64.try_parse (((GXml.Element)prop_node).content, out outvalue);
this.weight = (int)outvalue.get_int64 () / 1000;
return true;
default:
return false;
}
}
}
Implementing the interface: override view of properties
using GXml;
public class Plantain : GLib.Object, GXml.Serializable {
private int weight { get; set; }
private ParamSpec[] _props = null;
public unowned ParamSpec[] list_properties () {
if (this._props == null) {
this._props = new ParamSpec[1];
this._props[0] = new ParamSpecInt ("weight", "weight", "weight",
0, 200, 0, ParamFlags.READABLE);
}
return this._props;
}
private ParamSpec prop;
public unowned ParamSpec? find_property (string prop_name) {
ParamSpec[] props = this.list_properties ();
foreach (ParamSpec prop in props) {
if (prop.name == prop_name) {
this.prop = prop;
return this.prop;
}
}
return null;
}
public new void get_property (ParamSpec spec, ref Value str_value) {
Value value = Value (typeof (int));
if (spec.name == "weight")
value.set_int (this.weight);
else {
((GLib.Object)this).get_property (spec.name, ref str_value);
return;
}
value.transform (ref str_value);
return;
}
public new void set_property (ParamSpec spec, Value value) {
if (spec.name == "weight")
this.weight = value.get_int ();
else {
((GLib.Object)this).set_property (spec.name, value);
}
}
}
...
Challenges
These are the greatest challenges I've dealt with
- my masters: there's a lot of pressure to hurry up and finish; ideally, a GSOC should be the sole or primary focus of my summer, but I don't have much opportunity to take a summer off right now. Going to GUADEC was amazing, but consequently made my masters a bigger part of these past two weeks.
- autotools: a lot of feedback centred on people wanting autotools instead of WAF, so now you have and now I cry myself to sleep at night. I just need to make it a bigger part of my life.
- valadoc: I was having issues getting valadoc to correctly generate GtkDoc last year and this year until Philip Withnall directed me to libfolks.
Future
- want to support automatic serialization of more complex types; I've been working on collections but there are problems with it that prevent me from committing it.
- two projects approached me at GUADEC suggesting GXml for saving data to disk, so I am going to write patches for them. :D
- examples in other languages
Download tar ball: http://ftp.gnome.org/pub/GNOME/sources/gxml/0.3/
2012-08-16
[Technology] A nuisance
One of my complaints about my Linux desktop is the lack of feedback I get when things aren't working. If my firewall blocks something, I don't want it to do it silently, I want to know that the firewall is the reason this or that feature is currently not working. When SELinux blocks an application from doing something, I want to know; apparently it's supposed to tell me, but setroubleshootd isn't running on my laptop by default, and I can't see where it's supposed to start. When speech-dispatcher seems broken for a few months, I'd like to know that it's trying to emit audio but that the volume on its channel is muted with PulseAudio. Sigh.
2012-08-15
[Technology] Transient Nausea
That sinking feeling when you notice Evolution is sending out mail that was supposed to go out over a year ago and you frantically try to "killall evolution sendmail" and disconnect in the hopes of avoiding disaster. O_O
[Technology] Double the factors, double the authentication, double mint
Awkward commercial concepts from the 80s.
Today I enabled two-factor authentication for logging into Google. I've been reluctant to because it feels a little overly complicated for what they're trying to achieve, but I had an issue with people accessing my account in the past, so I might as well try to be more secure for the future. The idea is that you have your password and separate code to log in. Your password you remember, the code is something Google gives you, generally by your phone. The code expires after use (but you can let a machine/browser be trusted after using a code, so you won't need a code on it again), so someone would have to be able to get a new code to crack into your account. The code is typically sent to you through a phone (they can even give it to you via a voice call to a landline instead of a text message to your phone).
One problem of course is that a lot of applications don't support it. To that end, you can request unique passwords for each application that needs to authenticate to Google. That has been the most annoying part. As soon as I changed to two-factor authentication, three different applications popped up password dialogues on my machine complaining that the old one didn't work. I presume I'll be generating one-time passwords for a little while now, but for now I have Empathy, Evolution Calendar and Evolution Mail working again. I can finally send mail from my desktop again (broken for like a year), and for now, Empathy seems to not be randomly refusing to connect any more (only started with Fedora 17, but I think that was a problem with GNOME Keyring and old passwords saved there).
2012-08-14
[GNOME] GSOC, GNOME Documents/Tracker, and Tablets
GSOC "Pencils Down": GObject Serialization with GXml
Yesterday was pencil's down (joke with friends of yesterday: What's a pencil? Is that like a stylus? O_O). I pushed the changes I'd been working on. It was a bit of a wrestling match with automake trying to get my devhelp pages to successfully generate via valadoc, but I prevailed in the end. A hearty thanks goes to the Folks developers and Philip Withnall who have essentially been the template I followed. In the end, the biggest obstacles seem silly in retrospect, though. Sigh. I want to write up a quick guide for future people after my semester ends. I want to do a lot of things.
Also, deserialisation handles multiple references to the same original object correctly now, hooray! There is one issue with it in some cases, where there might be an ID collision on the serialised objects. I have a few ideas for solutions, but for now, that's it.
I have work to push on automatically serialising collections, but it's a bit too buggy right now. If I can't finish it this week, I'll put it in a branch and push that.
GNOME Documents and Tracker
Sam Thursfield the other day asked if I could try Tracker 0.14.2, after I noted that Tracker's subjective impact on interactivity was preventing me from using GNOME Documents. I found a package in Fedora's koji for 0.14.2 (after vainly trying to install git to ~/.local/; I gave up on trying to get tracker to load from ~/.local/libexec/). I'm not sure if it's any better?
It initially stalled twice. (0.14.1 was stalling while mining the file system sometimes, according to tracker-control.) The first time was just when it started, it got 2% of my file system done and just never progressed beyond that. No CPU activity, though. I restarted, and it made some more progress. I then tried to preview a file it had indexed, and LibreOffice document, and then resulted in soffice consuming all my CPU for over 5 minutes before I killed it. tracker-control indicated no further progress for a while, so I restarted again. I don't feel I have enough reproducible information from either instance to file a bug, sadly.
It's been going for over an hour now. Performance on my desktop is intermittently laggy while it runs while I'm trying to interact with it, sadly, but I think it's better than it used to be over a year ago? It was slowing down my system for a while when I started using my browser and a terminal 15 minutes ago, but after about 5 minutes of sluggishness, it seems to have backed off, though still using a very small amount of CPU. I hope it hasn't stalled again. I will let it finish its initial indexing and then monitor its behaviour after that to see whether I can live with it turned on. Heavy I/O and CPU use while I'm trying to interact will be a big no-no.
UPDATE: one of the issues seems to be large memory usage causing programs I'm interacting with (e.g. Firefox) to have to swap a lot. I have 2GB RAM. Hopefully when it's done it's initial indexing, that won't happen.
Can anyone else comment on Tracker 0.14.2 and up, and their experience with interactive performance while it's running?
GNOME on Tablets
This is a comment on my previous post about testing GNOME on my tablet. I find it a bit weird. Despite all the ways in which GNOME is not yet great for a tablet, there are several things I already prefer about it. One is having a completely Free software stack operating my machine. Another is familiar software and features. Another is that by having a desktop-background, its applications have options and features available that aren't provided on other tablet systems and their apps that simplify UIs beyond what GNOME does even in 3.x; I don't have to compromise functionality. I'm not sure, but do other tablets have things like user switching yet? I also like having normal control of the system underneath, even if I have to use a terminal to access it: it makes running sshd and rsync a lot easier.
A nice thing about GNOME is its design can evolve and adapt. GNOME 3 is much more touch-friendly than GNOME 2 was. Having always used tablet PCs (the stylus variety) for laptops, I like having direct interaction with the screen, and look forward to many touch-enabled computers in the future. A lot of the considerations that would go into making GNOME on a tablet a more enjoyable experience wouldn't subtract from using GNOME on a laptop, so I think the noted deficits are valid issues.
So, why should GNOME not be nicer to run on tablets?
Yesterday was pencil's down (joke with friends of yesterday: What's a pencil? Is that like a stylus? O_O). I pushed the changes I'd been working on. It was a bit of a wrestling match with automake trying to get my devhelp pages to successfully generate via valadoc, but I prevailed in the end. A hearty thanks goes to the Folks developers and Philip Withnall who have essentially been the template I followed. In the end, the biggest obstacles seem silly in retrospect, though. Sigh. I want to write up a quick guide for future people after my semester ends. I want to do a lot of things.
Also, deserialisation handles multiple references to the same original object correctly now, hooray! There is one issue with it in some cases, where there might be an ID collision on the serialised objects. I have a few ideas for solutions, but for now, that's it.
I have work to push on automatically serialising collections, but it's a bit too buggy right now. If I can't finish it this week, I'll put it in a branch and push that.
GNOME Documents and Tracker
Sam Thursfield the other day asked if I could try Tracker 0.14.2, after I noted that Tracker's subjective impact on interactivity was preventing me from using GNOME Documents. I found a package in Fedora's koji for 0.14.2 (after vainly trying to install git to ~/.local/; I gave up on trying to get tracker to load from ~/.local/libexec/). I'm not sure if it's any better?
It initially stalled twice. (0.14.1 was stalling while mining the file system sometimes, according to tracker-control.) The first time was just when it started, it got 2% of my file system done and just never progressed beyond that. No CPU activity, though. I restarted, and it made some more progress. I then tried to preview a file it had indexed, and LibreOffice document, and then resulted in soffice consuming all my CPU for over 5 minutes before I killed it. tracker-control indicated no further progress for a while, so I restarted again. I don't feel I have enough reproducible information from either instance to file a bug, sadly.
It's been going for over an hour now. Performance on my desktop is intermittently laggy while it runs while I'm trying to interact with it, sadly, but I think it's better than it used to be over a year ago? It was slowing down my system for a while when I started using my browser and a terminal 15 minutes ago, but after about 5 minutes of sluggishness, it seems to have backed off, though still using a very small amount of CPU. I hope it hasn't stalled again. I will let it finish its initial indexing and then monitor its behaviour after that to see whether I can live with it turned on. Heavy I/O and CPU use while I'm trying to interact will be a big no-no.
UPDATE: one of the issues seems to be large memory usage causing programs I'm interacting with (e.g. Firefox) to have to swap a lot. I have 2GB RAM. Hopefully when it's done it's initial indexing, that won't happen.
Can anyone else comment on Tracker 0.14.2 and up, and their experience with interactive performance while it's running?
GNOME on Tablets
"No auto-rotate, no swipe to scroll, no two-finger zoom or resize aren't
issues.
The real and only issue is that no part of GNOME is better on a tablet
than iOS or Android. So the issues you pointed out are really non-issues
since the product, by design, isn't a good one [for this form factor]."
This is a comment on my previous post about testing GNOME on my tablet. I find it a bit weird. Despite all the ways in which GNOME is not yet great for a tablet, there are several things I already prefer about it. One is having a completely Free software stack operating my machine. Another is familiar software and features. Another is that by having a desktop-background, its applications have options and features available that aren't provided on other tablet systems and their apps that simplify UIs beyond what GNOME does even in 3.x; I don't have to compromise functionality. I'm not sure, but do other tablets have things like user switching yet? I also like having normal control of the system underneath, even if I have to use a terminal to access it: it makes running sshd and rsync a lot easier.
A nice thing about GNOME is its design can evolve and adapt. GNOME 3 is much more touch-friendly than GNOME 2 was. Having always used tablet PCs (the stylus variety) for laptops, I like having direct interaction with the screen, and look forward to many touch-enabled computers in the future. A lot of the considerations that would go into making GNOME on a tablet a more enjoyable experience wouldn't subtract from using GNOME on a laptop, so I think the noted deficits are valid issues.
So, why should GNOME not be nicer to run on tablets?
2012-08-13
[GNOME] Tablet support testing
Hello Planet GNOME, and in particular those interested in seeing GNOME be tablet-friendly. I have a question for you:
Is there any part of GNOME you'd like me to test on a tablet?
It occurred to me that I happen to have a development tablet that I could install GNOME on to and test software on, so I did (Fedora 17). Initial issues have been:
I kind of expected the above. Here are some parts I thought would work, though, but didn't
I'll try to file bugs for these next week. (This week is too busy with the end of school and GSOC. :D) I just thought I'd mention this so far and offer to test things while it was fresh in my mind.
Is there any part of GNOME you'd like me to test on a tablet?
It occurred to me that I happen to have a development tablet that I could install GNOME on to and test software on, so I did (Fedora 17). Initial issues have been:
- no auto rotate. Perhaps my device lacks a sensor for orientation, though.
- no swipe to scroll
- no two-finger zoom or resize
I kind of expected the above. Here are some parts I thought would work, though, but didn't
- after manually rotating the screen, the touch cursor gets confused so where I touch is no longer synced up with where the cursor goes. I touch the top-left in portrait mode, and it goes to the top-left if it was in landscape.
- clicks are weird. I can successfully click many things on the interface and have them respond, but not folders in nautilus or buttons in Rhythmbox (UPDATE: sometimes they do, sometimes they don't). A USB mouse works, though.
- the on-screen keyboard will pop up when you focus a text field, but when a number of apps open, they have a text-field focused by default, resulting in the keyboard popping up, like System Settings.
- display off after N minutes doesn't actually turn off the display (like "$ xset s activate" does but just gives it a black overlay) (NEW)
- lock screen doesn't let you bring up the on-screen keyboard (I think that's fixed in a GSOC project this year though :D) (NEW)
- on-screen keyboard has no arrow-keys (so trying to use it for a terminal where you want to navigate it's history is hard) (NEW)
- the on-screen keyboard currently wants presses/mouse clicks
to be exactly within a key, let alone on the right key. It would be
nice if it could accept presses next to the key nearest, or even get
some intelligence. (NEW)
I'll try to file bugs for these next week. (This week is too busy with the end of school and GSOC. :D) I just thought I'd mention this so far and offer to test things while it was fresh in my mind.
2012-08-08
[Technology] Autonomous vehicles
Posted by
Richard
um
05:54
Labels: #Technology, autonomous automobiles, cars, Europe, google, pumpkin, self-navigating car
Labels: #Technology, autonomous automobiles, cars, Europe, google, pumpkin, self-navigating car
The future is nigh!
I look forward to self-driving cars. My goal had been once to avoid driving in my life time. I dislike its impact on the environment, car culture, the expense of car ownership, etc. I'm actually in the process of getting my license, mostly because I don't want to be stranded if my father falls ill and I need to somehow visit him. However, I still think of autonomous vehicles as helping address some of my issues. Can we get an efficient network of pod cars that encourage car sharing, to reduce the inefficiency of per-family vehicles? Intelligent driving to reduce accidents and marginally improve efficiency? Make them naturally safer so we can reduce the cost of cars themselves and insurance?
I want one shaped as pumpkin.
- simTD networks cars and not-cars, sharing data to increase automobile awareness and hopefully reduce accidents. In Frankfurt, Germany with 120 vehicles from different brands.
- EU says that by November 2013, cars have to have autonomous breaking. I wonder how they're dealing with liability when it causes a problem? Requiring cars to have it so soon is a fascinating proposition.
- Google expands their self-driving car project, with Googlers now to use going between home and work without a buddy in the car. Also, adding a new model of car, and acknowledging the need to try out snow.
I look forward to self-driving cars. My goal had been once to avoid driving in my life time. I dislike its impact on the environment, car culture, the expense of car ownership, etc. I'm actually in the process of getting my license, mostly because I don't want to be stranded if my father falls ill and I need to somehow visit him. However, I still think of autonomous vehicles as helping address some of my issues. Can we get an efficient network of pod cars that encourage car sharing, to reduce the inefficiency of per-family vehicles? Intelligent driving to reduce accidents and marginally improve efficiency? Make them naturally safer so we can reduce the cost of cars themselves and insurance?
I want one shaped as pumpkin.
2012-08-07
[GNOME] My proceedings of GUADEC 2012
As you may have noticed, I attended GUADEC 2012, the GNOME Users And Developers European Conference, in A Coruña, Spain, over the last couple of weeks. This is my second GNOME Conference, after attending the Desktop Summit in Berlin last year.
Talking
As mentioned in my GXml Serialization update last week, I got to give a lightning talk about my project. My favourite part about that was having two developers approach me on the last day and give me ideas on possible users for my library.
Listening
Unfortunately, due to a delayed flight, I ended up missing most of the first of the conference. This is unfortunate, as I was looking forward to the following missed talks
I look forward to when the videos are uploaded. There were other talks I would have liked to go to, too, but these were the ones that felt more controversial to me and more important to have clarified. (I have issues with how GOA is implemented, for instance, which I got to discuss with others there.)
Now for some notes on actual talks I found memory (or unmemorable),
Working
In getting to interact directly with other developers, I also discovered new things about GtkDoc, Valadoc, and automake that let me spend some time on my project making things Work the way I originally wanted to.
Collaborating
My favourite part has to be the people. I got to meet a lot of people I met last year, better acquaint myself with some, and meet new people. One of the best parts was learning how GNOME mattered to others and what they wanted out of it. There were a lot of conflicting visions going around, but lots of enthusiasm for GNOME. I hear that's how it is every year.
The Venue and A Coruña
The organising team did an amazing job. I only have the Desktop Summit 2011 to compare it too, which was good, but this was amazing. I really appreciated the care that went into looking after my vegan dietary requirements, even though there was some comic confusion with language barriers. I felt a bit bad for not learning more Spanish before arriving, to which my friend Ed has replied, "Don't feel bad -- I didn't learn any Australian before leaving for Australia."
The organised accommodations and the university were great. Internet was available (unlike last year) and there was a lot of space to collaborate and to conspire with others over bananas.
Also, the social activities were reasonable and enjoyable, though the attempt to give a value-added experience to the professionals may need some fine tuning (note: I was not a professional, I just heard that a separate cocktail event ultimately didn't seem like the best idea).
GNOME
The future is always a bit scary but promising. Sponsors come and go, the market and users' needs change. However, being at GUADEC proves to me that these are my people, and where they go, I must follow. It's one of the best things in the world, to be with a group of people who also value quality, excellence, and good ideas, so positively and with such great encouragement.
See you next year!
Thank you GNOME for helping me get there |
Talking
As mentioned in my GXml Serialization update last week, I got to give a lightning talk about my project. My favourite part about that was having two developers approach me on the last day and give me ideas on possible users for my library.
Listening
Unfortunately, due to a delayed flight, I ended up missing most of the first of the conference. This is unfortunate, as I was looking forward to the following missed talks
- Xan Lopez and Juan José Sánchez Penas' talk "A bright future for GNOME"
- Debarshi Ray's talk "GNOME Online Accounts: for users and hackers".
- Federico Mena Quintero's talk "Desktop systems based on Gnome technologies"
I look forward to when the videos are uploaded. There were other talks I would have liked to go to, too, but these were the ones that felt more controversial to me and more important to have clarified. (I have issues with how GOA is implemented, for instance, which I got to discuss with others there.)
Now for some notes on actual talks I found memory (or unmemorable),
- "Beyond dead reckoning":
I actually only stayed for the beginning and the end; while GNOME design is a popular topic right now, the presenters seemed a little ... tired, so I took the opportunity to catch another talk of personal interest on OCR... - Joaquim Rocha's "OCRFeeder: OCR Made Easy on GNOME":
this was pleasant to see one of the more complex features you might want on a desktop available. It was mostly a demonstration of what was currently possible. I'd be happy if it was seamlessly integrated into my scanning and image viewing experience (it would be great if I could go from Shotwell photo manager and scan text in an image I took). - Lennart Poettering's "The UI and the OS":
This ties for my favourite talk of the conference, as did Lennart's talk last year. I appreciate it for its grand technical vision of the future driving the lower levels into a state that makes the desktop-level much simpler, secure, efficient, etc. My favourite idea is adding the concept of an application to the kernel which will be useful to things like GNOME Online Accounts (and hopefully resolve my problem with it) among others. - Cosimo Cecchi's "Documents - one year after":
I wrote previously about Documents and problems I was having with it, and Meg Ford's reply to that post was very welcome and helpful. This talk also highlighted what my problem had been: Documents' local functionality is dependent on Tracker running and Tracker causes notable subjective performance loss when running. It is unable to stay out of my way, and so it ends up disabled, and Documents becomes completely useless. Hopefully, Tracker will one day be able to address its issues and I'll be able to actually use Documents. - Yorba's keynote "Crowdfunding GNOME Application Development":
This concerned various possible fund raising models for app development. Yorba wants to spend more time working on GNOME apps and less time working on contract work needed to fund the GNOME work. I find funding open source a bit difficult, because if you do it at a high level, it's hard to tell where the money should be allocated (to apps, to subsystems, etc). In some ways I think it's better to let fund raising be done per module, but I don't think we have a large enough community to pull off something like KickStarter's level of funding. Hmm. - Philip Withnall's "Folks of the future: more contacts everywhere":
This talk highlighted one of my problems with folks: that it mostly just aggregates contacts from other services rather than syncing and modifying them. However, I've enjoyed following folks as an example of a good vala library, which has been useful to my own project. - Owen Taylor's "Smooth animations for applications":
This was pretty to watch, though in the end it seemed the benefits would not be quite as revolutionary as I had hoped when it started. It was great to learn more about how the UI is rendered and where its latency and lag comes from. I had at one moment hoped it would address the inability of GNOME Shell to extend the width of my two monitors while GNOME Panel+metacity can. Sigh. - Jean-François Fortin Tam's "PiTiVi and the GStreamer Editing Services: state of the onion":
This talk tied with Poettering's talk for my favourite. PiTiVi is an application I'd really like to use, but I've yet to successfully edit a video with it, even trying to accomplish relatively simple tasks. Half of the problems I've attributed to it being written in Python, in that I get TypeErrors about None types when I click buttons because code changed once and some variable that no longer exists is still being referenced, problems static compilation catches. I'll try to be quite thorough in filing bugs the next time I attempt to use it. There appears to be a wonderful amount of improvements (including GES in C) so hopefully the next released version will be the start of something beautiful for me and PiTiVi. - GNOME's keynote "The History of GNOME":
This was wonderful to watch. It was weird learning about things I didn't know, and then having the talk reach the point where I started following GNOME, and then hear much-the-same view I had of events over the past ... almost a decade!
Working
In getting to interact directly with other developers, I also discovered new things about GtkDoc, Valadoc, and automake that let me spend some time on my project making things Work the way I originally wanted to.
Collaborating
My favourite part has to be the people. I got to meet a lot of people I met last year, better acquaint myself with some, and meet new people. One of the best parts was learning how GNOME mattered to others and what they wanted out of it. There were a lot of conflicting visions going around, but lots of enthusiasm for GNOME. I hear that's how it is every year.
The Venue and A Coruña
The organising team did an amazing job. I only have the Desktop Summit 2011 to compare it too, which was good, but this was amazing. I really appreciated the care that went into looking after my vegan dietary requirements, even though there was some comic confusion with language barriers. I felt a bit bad for not learning more Spanish before arriving, to which my friend Ed has replied, "Don't feel bad -- I didn't learn any Australian before leaving for Australia."
The organised accommodations and the university were great. Internet was available (unlike last year) and there was a lot of space to collaborate and to conspire with others over bananas.
Also, the social activities were reasonable and enjoyable, though the attempt to give a value-added experience to the professionals may need some fine tuning (note: I was not a professional, I just heard that a separate cocktail event ultimately didn't seem like the best idea).
GNOME
The future is always a bit scary but promising. Sponsors come and go, the market and users' needs change. However, being at GUADEC proves to me that these are my people, and where they go, I must follow. It's one of the best things in the world, to be with a group of people who also value quality, excellence, and good ideas, so positively and with such great encouragement.
See you next year!
2012-08-02
[GNOME] GXml Serialisation update
As Daniel Siegel kindly pointed out to me in person a couple hours ago, I've missed an update last week. That's because I was busy preparing for GUADEC, the GNOME Users and Developers European Conference, in A Coruña, Spain this past week. I'll write about the conference separately, but now I'll give an update on the current status of GXml.
- Gave a 3-minute lightning talk about GXml Serialisation at GUADEC
- Slides (Google Docs)
Me speaking. Not visible: the fox
- The namespace has changed from GXmlDom to GXml. Last year it was GXml.Dom. This should make it more appealing just for writing. Most of the DOM classes don't conflict with future GXml plans for SAX or XPath. This also let me change GXmlDom.XNode to GXml.DomNode. (It's not simply Node because higher level languages will get namespace conflicts with GNode in GLib.
- Speaking with Philip Withnall gave me a basis to use Valadoc after all and still generate GtkDocs. I'm following libfolks' autotool magic to manage this. It's not particularly esoteric, but I'm no autotools master.
- Speaking of which, the GXmlSerialization class and the GXmlSerializable interface are both well documented now.
- A solution was picked to deal with multiple references to the same object when serialising. It's the simple obvious solution: assign objects a deterministic ID as they're serialised, and let references after the first one just refer to it. That lets us easily deserialise it without erroneously duplicating objects and separating their references.
- I've spoken with developers who want to use it for data storage on disk. I also received recommendations for systems to try to port to it. Someone suggested GNote, but I believe they're trying to stay compatible with Tomboy. I have to look into what their current situation is. If you're involved in software that currently manages saving data to disk in XML (or something uglier than json) by itself, and would like to rely on something clean and simple, let me know, and I can prototype a patch and make sure your usage case is taken into account as I stabilise serialisation.
- Support for automatic serialisation of collections is coming along. Someone asked me to supported GBoxed types like json-glib does, so I will pursue that too.
[Technology] Two wishes
- A better web site creation solution from Google. They currently have two partial solutions that overlap with Google Sites and Blogger. Both cater to different audiences but both incorporate reduced functionality of the other. Sites has simple blog-like features that Blogger does better, and Blogger offers better control over aesthetics. Blogger's ability to host static pages is more limited, though.
- Then perhaps I could embed Google Docs into my blog posts like you can with Sites (yeah, browsing a presentation or spreadsheet directly within the post, no plug in necessary: that's some beautiful integration).
- That Google Drive could upload ODP (OpenDocument Presentations) and convert them to Google Docs Presentations.
As a fellow conspirator just said, the obvious solution is to deploy or build my own platform. Sigh.
Abonnieren
Posts (Atom)
Blog Archive
-
▼
2012
(42)
-
▼
August
(11)
- [GNOME] GXml 0.3.1: Can't live in an alternate uni...
- [GNOME] GXml 0.3.0
- [Technology] A nuisance
- [Technology] Transient Nausea
- [Technology] Double the factors, double the authen...
- [GNOME] GSOC, GNOME Documents/Tracker, and Tablets
- [GNOME] Tablet support testing
- [Technology] Autonomous vehicles
- [GNOME] My proceedings of GUADEC 2012
- [GNOME] GXml Serialisation update
- [Technology] Two wishes
-
▼
August
(11)
Dieses Blog durchsuchen
Labels
#Technology
#GNOME
gnome
gxml
fedora
bugs
linux
vala
google
#General
firefox
security
gsoc
GUADEC
android
bug
xml
fedora 18
javascript
libxml2
programming
web
blogger
encryption
fedora 17
gdom
git
emacs
libgdata
memory
mozilla
open source
serialisation
upgrade
web development
API
Spain
containers
design
evolution
fedora 16
fedora 20
fedora 22
fedup
file systems
friends
future
glib
gnome shell
internet
luks
music
performance
phone
photos
php
podman
preupgrade
tablet
testing
typescript
yum
#Microblog
Network Manager
adb
apache
art
automation
bash
brno
catastrophe
css
data loss
debian
debugging
deja-dup
disaster
docker
emusic
errors
ext4
facebook
fedora 19
gee
gir
gitlab
gitorious
gmail
gobject
google talk
google+
gtk
html
libxml
mail
microsoft
mtp
mysql
namespaces
nautilus
nextcloud
owncloud
picasaweb
pitivi
ptp
python
raspberry pi
resizing
rpm
school
selinux
signal
sms
speech dispatcher
systemd
technology
texting
time management
uoguelph
usability
video
web design
youtube
#Tech
Air Canada
C
Electron
Element
Empathy
Europe
GError
GNOME 3
GNOME Files
Go
Google Play Music
Grimes
IRC
Mac OS X
Mario Kart
Memento
Nintendo
Nintendo Switch
PEAP
Selenium
Splatoon
UI
VPN
Xiki
accessibility
advertising
ai
albums
anaconda
anonymity
apple
ask
asus eee top
automake
autonomous automobiles
b43
backup
battery
berlin
bit rot
broadcom
browsers
browsing
canada
canadian english
cars
chrome
clarity
comments
communication
compiler
complaints
computer
computers
configuration
console
constructive criticism
cron
cropping
customisation
dataloss
dconf
debug symbols
design patterns
desktop summit
development
discoverability
distribution
diy
dnf
documentation
drm
duplicity
e-mail
efficiency
email
english
environment
estate
experimenting
ext3
fedora 11
festival
file formats
firejail
flac
flatpak
forgottotagit
freedom
friendship
fuse
galaxy nexus
galton
gay rights
gdb
german
germany
gimp
gio
gjs
gnome software
gnome-control-center
google assistant
google calendar
google chrome
google hangouts
google reader
gqe
graphviz
growth
gtest
gtg
gvfs
gvfs metadata
hard drive
hard drives
hardware
help
hp
humour
ide
identity
instagram
installation
instant messaging
integration
intel
interactivity
introspection
jabber
java
java 13
jobs
kernel
keyboard
language
language servers
languages
law
learning
lenovo
letsencrypt
libreoffice
librpm
life
livecd
liveusb
login
lsp
macbook
maintainership
mariadb
mario
matrix
memory leaks
messaging
mounting
mouse
netflix
new zealand
node
nodelist
numix
obama
oci
ogg
oggenc
oh the humanity
open
open standards
openoffice
optimisation
org-mode
organisation
package management
packagekit
paint shedding
parallelism
pdo
perl
pipelight
privacy
productivity
progress
progressive web apps
pumpkin
pwa
pyright
quality
recursion
redhat
refactoring
repairs
report
rhythmbox
rust
sandboxes
scheduling
screenshots
self-navigating car
shell
sleep
smartphones
software
software engineering
speed
sql
ssd
synergy
tabs
test
tests
themes
thesis
tracker
travel
triumf
turtles
tv
tweak
twist
typing
university
update
usb
user experience
valadoc
video editing
volunteering
vpnc
waf
warm
wayland
weather
web apps
website
wifi
wiki
wireless
wishes
work
xinput
xmpp
xorg
xpath
Powered by Blogger.