Saturday, April 3, 2010


This blog and the GSoC project finished a long time ago.

To conclude with 2010 hindsight

- the project was completed and a featureful wizard was the result
- a python printer setup program created for Ubuntu won out over my wizard as it was a superset of the features. It was a complete printer management tool

So, what I learned is: streamed XML parsing, GUI vs. business logic separation, Qt.

Lots of fun and fond memories of late-night coding - farewell.

Monday, August 20, 2007


Lots of fixes.

What is left:
  • driver reader job (multiple download queries)
  • presentation bug in selectprinterpage
  • create a driverwidget (v. similar to printerwidget)
  • use alien to install
  • add runtime check for alien

Friday, August 17, 2007

I'm back

Hello. I'm going to be frank and say that I haven't been the best GSoC student for the last 2 weeks. My project fell to the wayside compared to other issues. I shall be talking with my mentor Cristian when he is back from vacation on the 25th of August.

"Pencils down" is 20th August. I will be working on that basis regardless. Perhaps I will be successful. Regardless, I shall finish the project (though I am away from 10 September to 24 September in America where I'm not allowed work).

I will be working hard from now on to make up for my lack of applied effort.


Saturday, July 28, 2007

An update

It has been just over a month since my last post. Not very well done Gavin...

Today I finished implementing the nicer GUI for displaying the printer selection choice. The parser is temporarily broken though :P Doesn't want to recognize the XML tags anymore. I've checked the diff of my changes since it last worked and that the XML hasn't changed. No luck. I still think this will be fixed tomorrow or the next day.

Nearly done with my behindkde interview too :P

(I wonder will Catherine read this...)

Wednesday, June 27, 2007

Rebuilding kde* from scratch

Rapidly filling hard drive space (now since mitigated) led me to completely delete the build and install directories for kde4 today. I'm regretting it now because I've to wait about 2 hours for them to recompile from scratch! And I can't compile a single piece of my code...

What should be a very simple issue with QHash (that requires recompiling some debug stuff in, hence :( ) is halting the XML work now.

I'm please that my madness with XmlQueryJob was stopped. That class was horrible. Simple stuff now. I think LOC was reduced about a third just with that removal!

My tooth chipped today. And my brother just has shaky hands, I'm not that blurry. Edit: photo is gone!

Monday, June 25, 2007

A clarification on querying

Note: This post is a slightly blogified version of a comment I left to my mentor's comment to my last post. Also note that that sentence is awful. ;)

Yes, I shall be using QtXml module most likely with the SAX2 style variant being the most likely. (I've looked at QXmlStreamReader as it can parse an incomplete bytearray so we don't need the full XML before parsing.)

2 step process:
When querying, there are 3 types of information we can retrieve (using the type argument/option):
  • manufacturer (I likely won't use this)
  • printer
  • driver
So, in order to find and download a specific driver for a specific printer, there necessitates 2 queries.

The first query gets information from machine (and perhaps the user) about the printer type. This will also give lots of information about drivers available for the printer (there could even be a list of many recent, functional drivers that could all "work").

The second query will use this driver list (so we need the first query's XML parsed before we can make the second) and make a driver query. Here we can get information about the driver such as the all important download URL.

Sunday, June 24, 2007

Query 1, meet Query 2

Today I'm going to:
  • scope around some XML parsing code in other KDE/Qt projects
  • start an implementation (if above is successful)
  • refactor my existing code (to be found at branches/work/soc-kdeprint-openprinting) to use the two step query process*
Said goodbye to the lady off to America and everyone who's going is gone too now. No excuses - more KDE time