rich
A trip down memory lane
Saturday, 17 November 2012
I was digging through some old backups on Friday looking to see if I had any old versions of the Qt source code lying around after Eirik mentioned during his devdays talk that the release tar balls for lots of the early releases including Qt 1.
Read More
An Unexpected Journey
Saturday, 19 May 2012
Recently, when building qt5, I'd started noticing some very strange errors from the configure script. The errors seemed to indicate that an awk script was being used as a filename - very strange.
Read More
What's New in Qt 5 for SSL?
Saturday, 14 April 2012
With the availability of the Qt 5 alpha, I thought I'd try to summarise what's been done in the SSL stack. Most of the changes in Qt 5 for SSL are incremental improvements, or things that will form the basis of future changes.
Read More
Using GnuTLS with QTcpSocket
Saturday, 14 January 2012
It's been quite a while since I last wrote a blog post, but it's not because I haven't been coding, in fact quite the opposite. The Qt opengov project is finally underway and I've been doing quite a lot of work on the various SSL classes.
Read More
Qt SSL Update
Sunday, 6 November 2011
It's been a while since I blogged, so I thought I'd post an update on what I've been up to.
Along with nearly a thousand other Qt developers, I headed over to Munich for the Qt Dev Days.
Read More
SSL at the Qt Contributor Summit
Sunday, 3 July 2011
I haven't written any posts for a few weeks, so I figure it's time for an update. I, along with a bunch of other people who hack on Qt, attended the Qt Contributor Summit in Berlin.
Read More
Improving SSL Security with Certificate Change Notification
Sunday, 22 May 2011
Improving the security of SSL is a hot topic these days, and trust in certifcate authorities is rightly at an all time low. One way of improving the situation that doesn't rely on believing that a 3rd party will actually do their job properly is to notify users when the certificate for a site changes.
Read More
QPcap - A Qt-Style Wrapper Around libpcap
Saturday, 19 March 2011
I've been working on a new library for the last couple of weeks that provides a Qt style API for libpcap. For those who aren't familiar with it, libpcap is the library used for capturing raw packets used by tools like tcpdump and wireshark.
Read More
Loading and Scaling Images in a Thread
Saturday, 22 January 2011
In a previous blog post, I showed a simple example of using threads to perform complex calculations (SHA hashes) in a worker thread. I used them there because generating the hash of a DVD ISO can take a while, and GUIs that block make everyone cry.
Read More
Getting the details of an SSL connection
Sunday, 9 January 2011
SSL is a pretty complex topic, and whilst Qt makes the APIs pretty easy to use, there's a lot going on underneath and it can be hard to debug. In order to make life a bit easier, I've written a simple tool that will connect to an SSL service then dump every piece of information Qt makes available concerning it.
Read More
Rendering UI files to PDF
Monday, 3 January 2011
As a followup to my previous blog post about rendering widgets to SVG, lets take a look at rendering them to PDF. I won't go into as much detail as the previous blog post since the code is mostly the same.
Read More
Rendering UI files to SVG
Monday, 3 January 2011
In response to a question on IRC yesterday, here's a quick example for the New Year - rendering designer's UI files to SVG using QSvgGenerator. As usual, the code is simple since Qt gives us everything we need.
Read More
Implementing a Reusable Custom QNetworkReply
Saturday, 28 August 2010
In my last blog post, I showed how to use a proxy QNetworkAccessManager to restrict network accesses to sites included in a whitelist. One limitation the previous version had is that it stopped the disallowed requests by rewriting the request itself to be to an invalid url.
Read More
A White-listing QNetworkAccessManager
Saturday, 5 June 2010
My last blog post showed how a proxy class can be used to monitor the requests being made by a QNetworkAccessManager, and illustrated it using an example that displayed those requests graphically.
Read More
QNetworkAccessManager Proxy Classes
Saturday, 1 May 2010
This blog post will demonstrate how you can tap into QNetworkAccessManager (QNAM), the class is used by QtWebkit for all its networking. QNAM is also the recommended API for high-level networking protocols such as HTTP in Qt.
Read More
Tokamak4 - A New Hope
Wednesday, 24 February 2010
Today I'm leaving Tokamak 4, so I thought I'd write a post about what I've been up to while I've been here.
The first day or so I spent getting my machine sorted out as trunk was causing some issues with my graphics driver leading to a hang in the DRI layer of the kernel.
Read More
A Simple Threading Example
Thursday, 14 January 2010
A topic that I've not mentioned in any of my blog posts is threading, not because I have anything against it, simply because a simple use-case hadn't come up. Today I was coding something easy to describe, where using threads was a good solution, so let's take a look at it.
Read More
Cutting the Web Down to Size
Tuesday, 20 October 2009
A feature that has been floating around in a few places but hasn't been a significant feature in KDE is web slicing. This is the ability to take a piece of a web page (commonly a div) and render it as a standalone object.
Read More
Adding custom objects to Qt Webkit
Sunday, 5 July 2009
One question I've seen come up several times on #qt and qt-interest is how to add custom (application specific) APIs to those available by default in QtWebKit. This is actually pretty easy (once you know how) as I'll show below.
Read More
First Hack with ItemsViewsNG
Friday, 10 April 2009
People reading planet will have seen Thomas Zander's post about the new ItemViews framework the Trolls^H^H^HQt Software guys have been working on. It's very experimental right now, but I thought I'd have a quick look.
Read More
Querying a Wiki Using Qt
Sunday, 11 January 2009
I spent a little time yesterday working on a class that provides a wrapper around the MediaWiki API. It makes quite a nice example of how the QNetworkAccessManager API can be combined with QXmlStreamReader to quickly access web services.
Read More
Advertising
Monday, 29 September 2008
Just watched a very clever advert for the new iphone.
It's a manual, it shows you how to download (and buy) new apps. It's very short, just one feature User ends up having fun - playing game, and then call from a guy Interupting you in the middle of the game is presented as a feature!
Read More
Akademy 2008
Thursday, 14 August 2008
As you've seen from all the stores on the dot and on planetkde this week has seen all the KDE developers gathering in Mechelen in Belgium. The organisation this year has been excellent - even the network (usually the achilles heel of KDE conferences) has worked from day one.
Read More
New Plasma Widgets Design
Monday, 14 April 2008
This is the draft design for a new widget API for plasma, it will be appearing on techbase later, but here's what we're thinking.
General Notes The intention of this API is to provide a very simple way for users to create plasma applets.
Read More
Plasma Sprint Day One
Saturday, 12 April 2008
After a day's work at the Plasma sprint, there's already quite a lot of news to report. After a lot of trawling through log files, I was able to fix the problem that was preventing the Plasma binding plugin from loading.
Read More
QtScript Web Browser
Monday, 24 March 2008
As some of you may have seen, Kent has released the QtScript binding generator on Troll Tech labs. I've been playing with the code for a bit, and as with KJSEmbed one of the first tests was to make sure you could use it to write a simple web browser.
Read More
Qtscript Binding Generator
Monday, 10 March 2008
In 4.0 plasma had support for writing applets using Qt's built in javascript interpreter QtScript, but the facilities have been fairly limited. In KDE 3.x KJSEmbed gave us reasonably complete bindings to the Qt and KDE api's, allowing us to write applications such as a web browser in 10 lines of javascript.
Read More
XML Doesn't Beep
Thursday, 17 January 2008
I learnt a something new about XML today, a part of the specification that deals one of the many edge cases that exist in every file format. To illustate this, lets take a look at a few examples.
Read More
Programming Styles - Why Encapsulation is a Good Thing
Friday, 21 December 2007
I was reading a blog post on beautiful code about different styles of programming earlier this week. The author was comparing the 'ruby style' of direct access to member variables with the getter/setter pattern common in Java code.
Read More
EEE PC
Sunday, 9 December 2007
I finally got my hands on an EEE PC on Friday after having waited for nearly a month for the one I ordered by mail order to arrive. I found out that 'Toys R Us' had some stock and checked that the one in manchester had some.
Read More
QtScript is also good for tiny things
Sunday, 14 October 2007
Here's a quick example of why it's nice to have a script interpreter embedded in Qt: Plasma's KRunner has a calculator which used code borrowed from the KDE 3.x minicli. The old code started up the bc command line calculator then displayed the result - not exactly an efficient way to do things.
Read More
Plasma Scripting
Sunday, 29 July 2007
I've made some decent progress in the scripting support for plasma today with the addition of the ability to access QPainter, QTimer and QFont from scripts. I've also improved a few other bits of the code.
Read More
Back from Glasgow
Tuesday, 10 July 2007
Well, I'm back from Glasgow and have now almost recovered. The conference was great, and I'd like to thank all the organising team for their efforts. For me things were quite productive, with some nice steps forward in my QtScript code (my bindings are now dynamically loaded plugins for example) and lots of useful discussions about topics from improving the library facilities for scripts.
Read More
Animating Widgets
Tuesday, 6 March 2007
Qt 4 includes a useful class called QTimeLine that can form the basis of animations, it's used in QGraphicsView but is also more generally applicable. I did a bit of hacking this weekend and wrote a class that illustrates how it can be used to create a fairly general mechanism for animating QWidgets.
Read More
QtScript 105
Monday, 12 February 2007
I've done a bit more stuff with QtScript in order to keep up with the changes in the Qt snapshots. The API has changed a bit to make things more consistent, and I've updated the demo code I had to work with the new version.
Read More
QtScript 104
Friday, 19 January 2007
So far, I've only accessed QObjects, slots and UI files, we need to do better to be able to do anything useful as the Qt 4 API has a lot of methods that aren't accessible that way.
Read More
QtScript 102
Sunday, 7 January 2007
I've done a bit of tidying up of the QtScript code I was working on, so here's another version. Now, as well as being able to create individual widgets, you can load UI files from Designer.
Read More
QtScript 103
Sunday, 7 January 2007
Now we can create widgets and load .ui files, we can take the time to fix a few other things. Initially, we could create widgets, but we couldn't specify their parents.
Read More
QtScript 101
Saturday, 6 January 2007
As you might have read in Kent's blog post yesterday, the latest Qt 4.3 snapshots just gained a javascript interpreter. I had a bit of a play with it yesterday and it's pretty neat.
Read More
Yet another CMake Blog
Sunday, 6 August 2006
Since everyone else is blogging on build systems today, I thought I'd join in. Overall CMake seems to be working out ok, but like anything else, it is not without its problems.
Read More
I hate telemarketers
Tuesday, 1 August 2006
I just got a spam call from some telemarketers called Eurointerview who are based in Germany. They seem to think that because they're not in the UK the telephone preference service doesn't apply to them, and presumably that because they're calling the UK the German laws don't apply either.
Read More
First steps towards Kasbar 4
Sunday, 21 May 2006
Over the last few days I've started working a rewrite of Kasbar for Qt 4. This is a rewrite rather than a straight port because lots of the code in kasbar was there to work around limitations in X11 that will not apply once we have a composition manager.
Read More
KJSEmbed 4, small steps
Thursday, 30 March 2006
I finally got some time to spend on KDE last weekend, so on Sunday I started working on a new binding generator for KJSEmbed on Qt 4. In the KDE 3 version I used Doxygen to generate XML output then processed that with XSLT (using xsltproc) to produce the C++ code for the bindings.
Read More
KPassivePopup
Thursday, 9 March 2006
Well, after a long break I've finally had a chance to work on KDE again. As a start, I've been trying to get KPassivePopup into a sane state in the KDE 4 libraries.
Read More
Scripting, Malaga and KDE 4
Sunday, 4 September 2005
I'm now back from Malaga and have just about recovered, so I thought I'd blog a little about the discussions etc. I've been involved in over there. For me, obviously, the big questions were about scripting.
Read More
Scripts with a KDE Feel
Sunday, 28 August 2005
At the party last night I got asked to put my presentation from yesterday online. So, for now I've put it online on my website http://xmelegance.org/. Thanks to everyone who came, I hope you found it useful.
Read More
Qt 4 Work
Wednesday, 18 May 2005
Some progress has been made on the Qt 4 front this week. I've implemented a simple QHttp based version of XMLHttpRequest that will ultimately be bound to KJSEmbed/Qt4. This will mean that the scripts will be able to access web based XML services such as news feeds, weather reports etc.
Read More
KJSEmbed 4
Wednesday, 11 May 2005
Well, I've just got back from London visiting my brother. A note for anyone who plans to visit the Turner Whistler Monet exhibition at Tate Britain - make sure you book.
Read More
The trouble with DConf
Friday, 15 April 2005
There's been lot of discussion on the XDG list about a proposal called 'DConf'. Unfortunately, it seems to me to have missed some rather important issues. The most obvious question in any sort of common configuration is system is 'What configuration can be shared?
Read More
Trinary operator in python
Friday, 15 April 2005
Here's an example of an easy and compact way to simuate the trinary operator in python. It is not short circuit like the one in C, but it is pretty simple:
Read More
Kasbar and Kicker
Sunday, 3 April 2005
I'm wondering about kicker and kasbar in KDE 4. If we can make kicker's abilities powerful enough to support the features kasbar needs, then maybe it should be less of a standalone app.
Read More
Well, I drew a new avatar...
Friday, 1 April 2005
I decided I didn't like the photo I had here before, so I drew a new avatar. What do you think?
Preparing for Qt4
Saturday, 26 March 2005
I've started looking into porting KJSEmbed to Qt 4. To begin with, I've recreated most of the Q_CLASSINFO demo I posted recently using the Qt 4 equivalents. Listing the slots of an object is even easier than before, as is finding a marker interface:
Read More
KListViewSearchLine Rocks!
Sunday, 13 March 2005
KListViewSearchLine is a great class - I just added search capability to to kdcop with 2 lines of code and a little bit of work in designer!
First filter
Second Filter
When you add stuff to KDE Libs...
Saturday, 12 March 2005
Reviewing some of the new code that has been added to kdelibs for 3.4, I've noticed a few old problems recurring. Some of the new classes are missing d pointers, this will be a pain in the future and should not have happenned.
Read More
Avoiding marker interfaces
Sunday, 27 February 2005
I was talking Ian Geiser last night on IRC about ways to allow you to dynamically query KParts for their interfaces. This would for example allow you to avoid having to link special interface classes, or to use marker classes to identify your capabilities.
Read More
Duplication in open source
Friday, 27 August 2004
One thing that people constantly seem to carp on about in Open Source circles is the frequency with which there are several apps that do the same thing. They then generally go on to say that the developers should work on whatever their favourite application is.
Read More
Re mpyne's gstreamer blog
Tuesday, 24 August 2004
Since mpyne's blog on planetkde doesn't allow comments I'll post this here: You are incorrect that KDE requires glib thanks to arts - use the ARTS_1_1_BRANCH like most of the core team.
Read More
Coming soon to a CVS repository near you
Friday, 20 August 2004
It's been a little while since I posted what I've been up to, so here's an update. I've been busy at work, so I've had less time for KDE than I would have liked, but even so I've made good progress on kasbar 3.
Read More
Don't worry annma
Thursday, 19 August 2004
Don't worry annma, your not the only one missing the conference. I'm going to be stuck enjoying the thunderstorms here in Manchester.
I would hate you a lot clee
Monday, 2 August 2004
Clee, I'm dead set against you (or anyone else) splitting up kdelibs. This is a poor idea for a large number of reasons which have pointed out before.
KasBar 3NG
Saturday, 24 July 2004
I've been doing some work in the last few weeks to get Kasbar ready for the KDE 3.3 release. The code is now looking good, and doing this has given me some ideas for some major Kasbar enhancements for the next KDE release.
Read More
First Thoughts on Qt4
Saturday, 10 July 2004
Last night I downloaded the Qt 4 preview and had a play with it, so far I'm very happy. The new painter code seems great and the GL painting demo suggests a lot fun ideas.
Read More
KJSEmbed gains momentum
Monday, 21 June 2004
A few minutes ago, I was thinking that kjsembed is picking up users less quickly than I would have expected (given how easy it is to use). In the short time between then and now I've found out about two people/projects using it that I wasn't aware of, which has cheered me up.
Read More
Being Earnest is Nice, but Being Useful is More Important
Friday, 21 May 2004
Last night I was able to commit to CVS the first cut of a kjsembed app I'm working on that will be useful to anyone - even if they don't care about scripting.
Read More
KDE is Best Linux Desktop
Wednesday, 21 April 2004
Just a quick note to say KDE won best linux desktop for KDE 3.2 last night!
Ready for UK Expo
Monday, 19 April 2004
Well, I'm all set for the UK expo now. Hopefully I'll see some of you there. I'm only going to be around on the second day, but the booth will be manned on both.
Read More
Nat, Miguel, FUD and other buzzwords
Monday, 29 March 2004
It's hard to see what's going on at Novell right now, and recent comments by Nat and Miguel aren't making things any clearer. They're claiming that they're not aware of any SuSE development using Qt other than YaST, ignoring all the SuSE sponsored KDE development (including new hires such as the developer of the KDE-OpenOffice GUI glue).
Read More
UsageMonitor - A New Tool for Usability
Friday, 12 March 2004
One thing that recent dicussions about usability have highlighted is how much our decisions are currently based on personal opinions rather than hard facts. Aaron has recently been trying to address this by asking people how much they use the various buttons in the konqueror toolbar, but this is both labour intensive and inaccurate.
Read More
Usability Teams - A Problem or a Solution
Sunday, 7 March 2004
Aaron has posted a blog entry about developes 'fearing' usability teams, I've replied to his post itself by a comment but I'd like to provide a fuller view of things here.
Read More
ADSL from tomorrow, look out XPath and KJSEmbed here I come
Tuesday, 2 March 2004
My ISP confirmed last night that my ADSL should be working from tomorrow, so I'll be getting back to work on XPath and KJSEmbed. Hurray!
I hate moving too
Tuesday, 24 February 2004
I just moved house (like aseigo) and I second his thought on how much it sucks. My ISP was due to reconnect me to my ADSL today, but this morning I got a call saying it could be another week.
Read More
Making a start on XPath
Wednesday, 28 January 2004
I've started taking another look at how to best add support for XPath to KHTML. I've got a bunch of code I'm busy reexamining that lets you define an AST for XPath.
Read More
Autogeneration of JS bindings is a go!
Monday, 29 December 2003
There's good news to report today, I added the first autogenerated binding to the CVS last night! The binding provides access to QDir but the tool is generic and should work on anything we can access as a JSOpaqueProxy (this limitation will be lifted later).
Read More
Quicky demo of image effects in JS
Sunday, 9 November 2003
Here's a nice piccy of a water colour effect that was created using Javascript. It was originally one of the n7y pics - enjoy!
KJSEmbed reorganisation complete - many fixes
Sunday, 2 November 2003
This didn't seem to work first time, so I'll try again:
I did a major reorganisation of the code just before the freeze hit. This caused a lot of breakage (eg.
Read More
KJSEmbed marches on
Sunday, 12 October 2003
I haven't written much about KJSEmbed for the last couple of weeks because I've been concentrating on squashing bugs in kasbar, but over the last couple of days I've had a chance to work on some kjsembed stuff that has been becoming more and more important.
Read More
KJSEmbed support for event handling
Saturday, 6 September 2003
KJSEmbed can now handle events. At the moment only mouse events, but the rest will come soon. The example below shows how this can be used in practice. Note that I haven't committed this code yet, so it'll be a couple of days before you can use it.
Read More
KJSEmbed now supports enums!
Thursday, 28 August 2003
I've just committed some basic support for enums to kjsembed. This means that enums published by QObjects using the Q_ENUM declaration can be used by scripts. At the moment, the constants are properties of the proxy object itself rather than the class, but the basics are there.
Read More
Creation of KParts, opaque QVariant support, void * support...
Sunday, 17 August 2003
Lots of new features in KJSEmbed over the last few days. I got a new factory method implemented that lets you create read-only parts! This has let me knock together an example that uses KHTMLPart to provide a web browser - total code 22 lines (including blanks and comments).
Read More
Things are coming along nicely
Saturday, 2 August 2003
I managed to get a first pure-KJSEmbed application working last night. It's only a basic text editor, but it creates its own KMainWindow and has acess to the action collection. Combined with the signal/JS function code I added recently I think we're almost at the point where KJSEmbed can be used to create real applications rather than just simple wizards etc.
Read More