KWIQ
So, KHTML is a HTML rendering engine, built on Qt.
WebCore is an HTML engine based on KHTML for Mac OS X.
This was all accomplished via something called Kwiq. Kwiq, created by Apple, is basically a reimplementation of portions of Qt needed to port KHTML. Qt widgets become Cocoa widgets, and all is happy.
GtkWebCore is a rendering engine based on WebCore for Gtk+.
What interests me about the whole thing is that GtkWebCore is accomplished essentially just by porting the Kwiq layer to Gtk+. So…..now we have large portions of Qt implemented on top of Gtk+?
What could be accomplished with a simple recompile, and a few header files diddled?
Poor
Slashdot has a little story on how much money developers make, relative to the national (US) average.
Having read through this little discussion, with people saying that if they made a dinky 50k for programming, they’d start checking gas meters for $20/hour, I felt the need to vent.
I have three years of software development experience, including one year of R and D management experience, and I make half of the lowest wage mentioned. I’m paid hourly, I get no vacation time, no benefits, and I make 12k a year (that’s about 15000 euros). I have a food budget of 20 dollars a week, for both me and my wife. I’m the lowest paid person at my company (all my “employees” make more, marginally, or some make the same). Currently, the CEO is investing in a product built entirely under my supervision as the manager of the dev team.
Before I started, there was some vague talk of putting the code in CVS, but all of the devs were convinced that it would simply create overhead on projects that were all perpetually behind schedule. CVS was mentioned because it was the only form of version control these guys had heard of.
I put everything in subversion, setup a ticket tracking system, pushed as many of the complete lummoxes out the door as I could, began setting up daily builds and automated testing, and established rules about the CEO never speaking to my team directly, all via me. The team has never been more productive, and I saw the first project to ever ship on time.
I hired testers, wrote documentation, and I still program when I get home. I’m the only one to dedicate myself to a regular schedule (though it’s suffered since school started) so that I can be available whenever people need me, and I’ve taken the blame for everything that’s broken, and given the credit to my team when ever something worked (they deserved it, dammit!).
I have never recieved a raise.
*sigh*
Anyway, thanks for putting up with that. I now return you to your irregularly scheduled programming
Xfce News – From Then Till About Now
Let’s pretend the last several months haven’t happened, and I’ll pretend that more than three of you read this.
That said, it seems like the best thing to do is to lay out where we are going, where we are, and what’s happening to get us there. If you care what’s been going on in Xfce, but haven’t been following the various blogs and lists, this is your chance to get caught up.
Mousepad! Finally!
Okay.
So, I finally just crawled through my email till I found the right URL to do a checkout from the Xfce repository.
I felt very very stupid.
Having done so, I pulled a fresh checkout of Mousepad (since the one I had was corrupted), and made a branch for 0.3. Since I was without internet for so long, I was working on Mousepad a few minutes a day in a local repo. I commited those files to the new branch with surprisingly little difficulty.
It’s amazing how easy that was, once I remembered to not be a douche.
You can pull it from the anonymouse repository this way
svn co http://svn.foo-projects.org/svn/xfce/mousepad/branches/mousepad-0.3.x mousepad
And you can build it with a simple ‘make’
Currently, it does very little that’s interesting, just a window with a GtkTextView in it. The Makefile is even handwritten. The goals of this rewrite are:
- Eliminate deprecated stuff where possible
- Organize the code into a maintainable structure
- Take advantage of the Xfce platform more fully
- Make it faster
- Make it smaller
- Add some small features
- More fully learn C, Gtk+, and autotools
We’ll see how much of this I manage to acheive. However, so far, all looks good.
If you see a bug in Mousepad, please let me know. It is highly likely that there are memory management bugs inside. It’s also likely that I do things in ways which are not cross platform, or reinvent the wheel.
As an anecdote, the reason to fork leafpad was I needed printing support. Since I could read C poorly, and write it hardly at all, a good chunk of the printing code was copy and paste from the inside of the “Save” routine. Turns out the old save routine reimplemented a GtkTextView method, and poorly, so the printing code did the same.
Had I realized I didn’t need to fight with it to add printing support, I might not have bothered with the fork, really.
Tales From The Xfweiner
So, everything that has possibly gone wrong has gone wrong. Basically, life sucks.
But I’m not going to go into that. Things will get sorted out. Until then, however, my Xfce participation is a mess.
However, I’m hoping to pick up a few hours a week on Mousepad, and get the damn thing finished.
In other news, Robert Moog, the father of electronic music (Leonard Theremin being the grandfather), died from a brain tumor. I got the chance to meet Bob several years ago, he settled down in the smallish town in the mountains where I live. He was one of my heros, and I will miss him.
Also: This is what God intended. I’m tired of apps like Abiword having no Gnome dependecies mean “Just libgnomeprintui”. And Totem depending on gnome-vfs. But that’s really another story, since gnome-vfs isn’t going to go into GTK+. But the principle remains.
Thoughts
I may have mentioned this to a few of you already, but I’m currently undergoing a bounty of family concerns. My grandma (technically my great grandmother) slipped into a coma last weekend, and that’s added to the stack.
I feel like I haven’t been doing my part around here, with Thunar still being written primarily by Benny, and 4.4 looming, and Mousepad still in pieces on my harddrive. I hope things get sorted out soon, and I can be a useful community member again.
As a comment on the recent KDE posts: the thing I noticed most is where KDE wants to become more like Xfce. Namely, the respect that both of those posts had for simple, small applications that did their job and nobody elses. I have some more deep thoughts about that, but it’ll have to wait till later.
Xfce Review
I can’t read the current Xfce review on Linux Magazine – I can’t seem to find a copy in English :-(.
However, I can read this review of Xfce: http://www.linux-magazine.com/issue/13/Desktopia.pdf
Of course, that’s for Xfce 3.8.
It’s nice to see that Xfce got it right then and get’s it right now, pretty much by heading in the same direction it was going back in 2001. The reviewer praises Xfce’s following of up and coming desktop standards, the collection of handy tools that make adding it to your system easy and simple, it’s simple and straightforward configuration, and it’s low resource usage.
Today Xfce follows freedesktop standards very closely, Benny’s install-it makes GUI installation of Xfce a snap for those who would build from source, the MCS manager provides a nice central UI for configuration of both Xfce and desktop related X settings, and users praising Xfce’s ability to restore old machines to use is a nearly daily occurance.
It’s fun though, to see what people were saying about Xfce then, and now
Mousepad
Mousepad development is slowed down to nearly a crawl – it’s a few lines of code a day. Hopefully that will change now that I’m not out of town litterally every other week.
The most common feature requests are for syntax highlighting, and tabs. At that point, the adding of a customizable toolbar via libexo is trivial. However, at that point Mousepad has journeyed far afield of the original concept (which was basically “What do you mean printing doesn’t work in Leafpad!”).
So, what I am thinking is to finish up this Mousepad release, and then fork the new clean codebase into a new more Ninja Coder style text editor in the style of Nedit and BBedit, using libexo and either scintilla or GtkSourceView. However, if I go down that road, Mousepad will still need some love and care which I may not be in the position to give it. Not sure yet what to do about that, but stay tuned to this space for more.
A Long Week
Edscott pointed out that it’s been a long time since the last XWN. A “long week” as he put it.
Well, I plan on using tomorrow to take care of that since I’m off work.
‘Cept I just got a copy of Harry Potter. So nah nah nah.