Older blog entries for movement (starting at number 31)

Been spending far too long dealing with Qt problems and weirdness in the LyX Qt port. Here's a random selection of some of the bugs I've been dealing with :

  • WType_Modal is being ignored for QListBox (and you have to derive - setWFlags() is protected)
  • For some reason Qt is adding lots of blank entries to the QListBox for no reason
  • There is no simple way to handle single-click QListBox style widgets
  • QWidgetStack is not performing geometry management vertically at all
  • QListBox geometry management is broken
  • QDialogs cannot be WDestructiveClose (fixed in 3.0.5)
  • QTextViews in tabs do not manage their natural geometry properly.
  • QMenuBar::activated() isn't working in Qt 3
  • There is no way to get server DPI without having a widget/QPaintDevice
  • The menu stuff uses an undocumented internal class in its API
  • Qt's keyboard handling is seriously awkward
  • QAction cannot handle sequences (fixed in 3.1beta)
  • You cannot distinguish between Qt::Key_A and Qt::Key_a (but can with Agrave vs. agrave)
  • image rotation clips wrongly and fills with white instead of transparent pixels
  • image handling makes dealing with b/w vs. colour etc. very awkward
  • Qt provides no way to integrate select() handling
  • Removing all items from a menubar incurs updates even with setUpdatesEnabled(false)

I could go on. It's starting to prove a serious hindrance. My hope that moving away from xforms would reduce the time spent dealing with toolkit b0rkenness is looking a bit silly now. Add onto this all the annoying but ultimately not too painful bogosities of moc and it's making me weep.

I really need somebody with real Qt battle scars to help out with this. Kalle, come back ! All is forgiven (or forsaken).

-lilo- [Global Notice] Hi all. On behalf of PDPC and freenode, I wanted to let you know that, after these messages, we are discontinuing the global fundraising notices and wallops. As you may know, freenode (formerly OPN) is now a service of Peer-Directed Projects Center.
-lilo- [Global Notice] As a new nonprofit, PDPC is in need of funding, but with the unhappiness expressed at these fundraising notices, we've decided it's best to retire them in favor of less intrusive fundraising methods.
-lilo- [Global Notice] On behalf of the board of PDPC and the staff of freenode, we apologize sincerely to anyone who has been offended by the notices, and refer you to our website (http://freenode.info/) if you should wish to contribute. Thanks for your attention and have a good day.

That's good to hear. Hopefully everybody can forget all about this now and we can get back to swapping MP3's, er, I mean hacking.

Seems to be all the rage to be modest about your certification. Alas the descriptions are a little vague. Do I earn a journeyer certification ? I'm the primary author of a project I consider useful, and I hack on another, and then I have lots of bits and pieces. Am I a competent programmer ? I don't know.

The fact is rather a large number of certifications on Advogato are phony. I'm not sure it really matters though.

Got a dressing-down from wli about my thoroughly absent knowledge of basic maths (in particular algorthmic analysis of generative functions, apparently). Well deserved, but I don't really know what I can do about it: I'm rather long in the tooth (as is my TODO list).

What books should I be reading ?

So raph is working on a diary metric. Interesting, although I can't say I need it personally (yet). I wonder what he's planning to do about the ability to edit diary entries retrospectively. Either the edits have to be made public, or some fine line needs to be drawn between the ability to correct errors, and the potential for abuse.

I'm beginning to see why this stuff is so interesting :)

14 Jun 2002 (updated 14 Jun 2002 at 19:23 UTC) »

Mozilla, standards, standards, standards

Netscape, Well, um, uhh ...

Update: Hixie - "I am frankly ashamed ..."

GOBBLES is pioneering a new form of communication - content trolling. Good on "them".

Then again, maybe it's not that new an idea.

I'm amazed people are still finding out about valgrind. Some of these things spread so slowly. Why ?

Another one that seems to be taking a long time to seep into the group conciousness is that the new POSIX standard is available online for free.

lilo still hasn't explained why the gap between having a tech job and being on the streets doesn't exist for him. Can you explain to us again why you can't get a job in a shop Rob ??

I need to stop flaming in this diary...

1 Jun 2002 (updated 2 Jun 2002 at 02:30 UTC) »

It took nearly an entire year for this minor but embarrassing problem with mozilla.org frontpage to be applied (not fixed, note: the problem has had a fix within days of the bug being filed).

How could this happen ? Is this a symptom of the growing resentment of how Netscape work (even by their own staff !) ?

Or am I just an unintentional troll ?

Addendum: I wonder if bugs like this (which might have important security considerations) will be on the increase as more "web technology" is used

daniels: I don't see how you can deny that Qt is written in pseudo-C++, for the following reasons :

1. It is not C++. There is no emit keyword in C++. pre-moc code is written in some layer above C++, which is why I called it pseudo-C++

2. It does not take advantage of the standard library. Whilst this made sense some time ago, due to poor compilers, things are improving all the time, and such code is becoming more and more anachronistic.

I think you mis-understood my point somewhat. I'm not arguing against Qt including XML facilities. I'm not arguing against it having useful utility classes. I am arguing that when you write in a particular language, you should actually write in that language, not some warped version of it.

The single biggest disadvantage of Qt re-inventing the wheel (std::ostream vs. QTextOStream etc.) is that it's another API to learn. An experienced C++ developer will not be pleased to have to re-learn all the basic APIs, especially their differences (QString::isNull() being a very good example).

(btw, I wasn't criticising automake, I don't know where you got that from).

22 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!