| « 2008.0 documentation | SCALE 6x » |
SCALE, ebuilds, burning apps, and gtk
SCALE
It's been a coupla weeks now since SCALE 6x, so it's about time for an after-action report.
My wife and I arrived Friday night after suffering a two-hour delay because of heavy traffic. The 405 was the worst. LA traffic always gives me nightmares.
Saturday morning came far too early, but at least we were already registered. We got there the same time as omp, who'd brought a Windows-using friend along as a booth slave--er, volunteer.
Our booth setup included a giant Gentoo poster, omp's desktop rig, and one (occasionally both) of my laptops, displaying Xfce. It was more popular than the extremely minimal openbox desktop, so HAH! We gave out lots of bribes--snacks--and even more LiveCDs. It's too bad we didn't have flyers, business cards, shirts, or other Gentoo swag this year. Lots of folks were asking for them. At least we gave out snacks'n'luv.
Wireless internet sucked throughout the weekend. Apparently it was the same for everyone. Spotty, minuscule bandwidth, and nameservers couldn't be reached. Made it hard to demo things that needed internet access, such as emerging packages, looking up our homepage, or highlighting documentation.
One of our users, calculus, was around much of the time to help out; was nice to see him at SCALE again this year. And wormo made an incognito appearance, too. To all the users and everyone else who stopped by and asked questions, gave feedback, or just chatted -- thank you. You're terrific. I'm always excited to meet a Gentoo user in person. It's like "Really? you use Gentoo? No way!" We were possibly the least-known distro there (tied with Foresight and Damn Small Linux?), certainly the least commercial one. The other distros were all heavyweights: Ubuntu, Red Hat, Suse, Fedora, etc.
Still, we had lots of traffic. Several people wanted to know what's up with Gentoo in regards to our recent legal status issues, so I provided the news in-person, and that seemed to go over well. Curiously, none of the enterprise-level folks were much interested in our legal status. They pretty much all said the same thing: "We're not worried. All the technical development is still there; nothing's changing." It was only the individual users who had all kinds of worries and needed the explanation. The corporate sector wasn't worried at all: "As long as it's still being developed."
There are plenty of pictures of our booth around the 'net in reviews and photo sites; you just have to look for 'em.
I had a blast at SCALE. I plan to attend next year, too.
ebuilds
Lately I've been poking random ebuilds from the tree, posting updates to Bugzilla, creating new local ebuilds, asking for keywords/stabling, and so on. It's a lot of fun. A fair amount of edgy experimentation, but that's what my new laptop is for. Things like wicd that I'd like to see in the tree, or the latest version of brasero.
burning apps
Speaking of burning software . . . brasero seems to be the only actively developed gtk+-based application. Everything else hasn't had a release in years. Xfburn, gnomebaker, graveman, xcdroast....you name it. That's not good news. Brasero is a good choice for my Gnome desktop workstation, but I wouldn't even think of putting Gnome on my laptop, which is a pure Xfce machine. And yet I hate the idea of putting K3B on my laptop even more, because of the ugly, ugly Qt and kdelibs dependencies.
I went ahead and installed brasero on my laptop anyway, since it's gtk+, and it can work with DVDs. None of the other apps I mentioned support 'em. That added 33 huge Gnome deps, including (ugh) nautilus. The irony? K3B only wanted 18 total packages. Still, it's uglier. That's what counts, right?
So thinking about this sad state of affairs for gtk+-based burning apps got me thinking . . . what would it take to create a new one? Something fast, with minimal dependencies, and gtk-based.
gtk
I've skimmed the gtk tutorial and the reference manual before, but only as a passing curiosity. Today I really took a shot at figuring 'em out. This is where I ran into the cliff known as "C programming."
I'm not a programmer. I can do markup languages, I can do some bash, some javascript, little things like that. But I've never been trained in OOP. Or any kind of programming, except some BASIC in elementary school and college. My degree is in theatre, not computer science!
Still, I'm determined to make what headway I can with these gtk+ guides. I've started to see what does what, and why. And some of the necessary parts of an app. Now I need to find out how to get that button press to do something, like . . . burn a CD. Copy a disc. Save an iso. And so on. For that, I've been poking at the source code for Xfburn, libburn, and brasero. This is all still just a bit over my head, but I'm trying, at least.
I've already partly answered my own question of "Why aren't there more up-to-date gtk+ burning apps available?" because I created a sample task list.
Writing a graphical app is a huge undertaking. What burning backend will be used? cdrtools, cdrkit, libburn/libisofs, dvd+rwtools are all possibilities. Same goes for the media types used in writing audio discs. The app has to handle notification (possibly via dbus), disc drive status/detection, set/get write speed, and a dozen other critical tasks. Oh, and it needs to be translatable (those pesky .po files that take up space), and it really should make use of autotools. What other libraries will it use? Will any of its features be optional compile-time switches? Got to add those too. Where will the project be hosted? What VCS? And so on.
Lots of stuff to do. No wonder brasero's the only active gtk+ burning app. And that's too bad, too. It has a ton of dependencies that folks using Xfce or just a WM don't care to install. I'd like to see the huge gap between "brasero" and "nothing" filled by a low-dependency, fast, capable application. I just don't think I'm up to the task of creating it all by myself. ![]()
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
14 comments
Also, what is wrong with installing GNOME libs? GNOME is good. :-)
Brasero is designed to be an application for Gnome, that's why it absolutely must have lots of Gnome dependencies.
Not everyone wants this kind of stuff cluttering up their alternative environment. I know that I don't want something as slow as gnome-vfs or nautilus on my beautifully lean, fast Xfce laptop. See what I mean? ;)
Using C makes only sense if you want to learn it no matter what (however, there are other projects better suited for this aim).
Have Fun, Bj
If you have questions about C / GTK+ though, don't hesitate to ask. Same with Python and GTK+, I've used that too. I idle in #gentoo all the time :)
Hopefully I can make SCALE next year! I'm always so shy when it comes to those things...
As the functions of libgnome/libgnomeui are slowly being integrated into gtk+ I do not think those deps are really the problem, at least not in the long run.
You'd need to ask upstream[1] about the n-c-b dependency. To the best of my knowledge, they're not planning on dropping it.
[1] http://lmedinas.livejournal.com
I used it 4 months ago and worked fine (later, I switch to brasero ;-))
I intend to do a Gnomebaker release next month. If you have any wishes, please feel free to throw them at me, and I'll see what I can do :). For XFCE, some of the folks I know are actively working on Xfburn, ofcourse based on libburnia libs backend (:P), so you're more then welcome to help with that. I'm available for any help you might need, and I believe our libs (libburnia) documentation is really good. Anyway, what mail do I use to contact you? :)
KR,
M.
No, it doesn't. That's in part because of FAQ #25[1], and because it can't do dual layer writes, which makes all my regular data backups useless.
[1] http://www.xcdroast.org/xcdr098/faq-a15.html
@Mario:
Hey there! I spent awhile on the libburn site. Your documentation is outstanding! Libburn looks like a good backend choice just for that alone.
That being said, No one's made any commits to Xfburn in months; years for the important bits. I tried it yesterday, but it simply doesn't work. Did absolutely nothing, so that's disappointing.
@lefou
Let me clarify what I meant. It's not that only brasero supports DVDs, but that the other gtk+ apps either have no support or only partial support. Brasero is the only one that can write to dual-layer media, for example.
@Chewi:
Yeah, the whole proDVD/cdrkit mess seemed to kill off several projects.
Well on brasero we will migrate to GIO/GVFS that will lower the dependencies a bit but as for n-c-b we totally depend on it now... we plan to remove this dependency soon but it won't be easy since we would end up rewriting the ncb library on brasero.
Hey Luis!
Good to know. Seems that GVFS and GIO are going to be the way of the future for a lot of projects.
Will you be reusing code from n-c-b, or replacing it with something else, like libburnia or cdrtools?