Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Intel Dev: GTK's Biggest Problem, and What Qt Does Better

timothy posted about 3 months ago | from the choosing-sides dept.

GUI 282

Freshly Exhumed writes "Phoronix has an article about how Dirk Hohndel of Intel's Open-Source Technology Center has stirred the hornet's nest with a talk at Australia's Linux.Conf.Au (MP4 file) about what he views as the biggest problem with the GTK: he finds dealing with upstream GTK/GNOME developers to be tough, with frequent abuse and flame-wars, with accusations from the developers that "you're doing it wrong." Conversely, he found the Qt development community to be quite the opposite: willing to engage and help, with plenty of application developer documentation and fewer communication problems than with their GTK counterparts."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered


It's true! (-1)

Anonymous Coward | about 3 months ago | (#45975611)

Truth hurts, eh, Gnome tards? Qt devs are much more pragmatic.

Re:It's true! (3, Informative)

Selur (2745445) | about 3 months ago | (#45975849)

no not retards, simply 'old'-style linux users,...
Simply folks who think they lend a helping hand when they send you a friendly "RTFM" or multiple links instead of simply helping out even is they could help out and solve the problem in a few sentences. They might think that unless you fully understand every detail they didn't help properly and sure, some times you can only explain a problem roughly and tell folks to read the man-page / manual / wiki for more details, simply because:
a. the problem can't be explained/solved in a simple matter due to it's complexity
b. you can't explained/solved the problem in a simple matter, but instead of posting the infos and noting that you just posted the infos as a general help and can't help more you ended up posting just the infos and look like an ass to a newcomer
-> don't think it's only GDK or linux folks with this bad habit (some audio/video/apple forums/channels/mailing-lists/developers,... are not a bit better), but the qt community is made up of more of a variety of characters than the GDK community and so it often delivers a more friendly vibe.

GTK is trash (3, Insightful)

JDG1980 (2438906) | about 3 months ago | (#45975671)

I don't understand why anyone would use GTK. It's not noticeably easier to use than other toolkits. It doesn't have a "native" look and feel on any system (if you run GIMP on Windows, you'll notice how all the dialogs are much different than what you're used to seeing in other applications). It's cross-platform, but so are Qt, WxWidgets, and probably a bunch of other GUI toolkits that don't come to mind at the moment. So what's the appeal?

Re:GTK is trash (5, Funny)

Anonymous Coward | about 3 months ago | (#45975689)

pissing you off, mainly.

Re:GTK is trash (4, Informative)

Anonymous Coward | about 3 months ago | (#45975727)

Many years ago it was the only FSF-approved cross platform toolkit, so it gained a fair amount of momentum because of that. Qt has since moved to a more favorable license but a lot of people have yet to migrate.

Re:GTK is trash (0, Informative)

Anonymous Coward | about 3 months ago | (#45975783)

That was because the FSF was spreading FUD about Trolltech. Trolltech was free software friendly and was never going to make Qt non-free.

Re:GTK is trash (4, Insightful)

pe1rxq (141710) | about 3 months ago | (#45975831)

Unfortunatly it took them years to formalize that.
Trolltech turned out to be ok, but untill you have the licenses actually reflect that you just can't be sure and it would be foolish to blindly trust them.

Re:GTK is trash (2, Informative)

Anonymous Coward | about 3 months ago | (#45975967)

Years? Less than a year and a half after the FUD started, version 2.0 released in June if 1999 was under the Q Public license which was a "free software license" just not GPL compatible. And by version 2.2 of the X11 version just a few months later it was GPLv2. So in less than 2 years any and all issues were more than solved. The only reason GTK stuck around wad ego and NIH.

Re:GTK is trash (3, Interesting)

cheesybagel (670288) | about 3 months ago | (#45976343)

Until it was LGPLed it was problematic to use it as a system library. It would mean many commercial programs would have to pay Trolltech just to have a GUI which is not something you see in other development platforms. They only did that after they were bought by Nokia AFAIK. They would have little business otherwise.

Re:GTK is trash (1)

Anonymous Coward | about 3 months ago | (#45976445)

This is actually untrue. Trolltech moved to GPL years before the Nokia buy out. Having it GPL instead of LGPL also lead to issues as a system library though.

Re:GTK is trash (4, Informative)

cheesybagel (670288) | about 3 months ago | (#45976599)

Qt is LGPL now. It used to have the Q Public License, then GPL, now LGPL. They switched to GPL after they saw MySQL managed to retain profit with a GPL license and they switched to LGPL after the Nokia aquisition AFAIK.

Re:GTK is trash (5, Interesting)

cheesybagel (670288) | about 3 months ago | (#45976633)

The license issues were bad enough at one point that the KDE developers themselves started developing their own OSS version of Qt called Harmony [wikipedia.org]. After Trolltech made the license more open Harmony folded.

Qt and FUD (0)

Anonymous Coward | about 3 months ago | (#45976487)

> Less than a year and a half after the FUD started [...]

So it was good to start the FUD, I guess? Should we've started the FUD earlier?

Re:GTK is trash (5, Insightful)

znanue (2782675) | about 3 months ago | (#45976083)

That was because the FSF was spreading FUD about Trolltech. Trolltech was free software friendly and was never going to make Qt non-free.

Licenses matter, especially for businesses. You have to know that this piece of software you want to build things around, to rely on, isn't going to be taken from you. And, you shouldn't have to be a "judge of character" for a business in order to have that security. FUD is a heavy characterization that seems to devalue the perspective of those who do feel they need to operate under license security.

Re:GTK is trash (1)

satuon (1822492) | about 3 months ago | (#45976221)

In case you mean that's an advantage for Gtk - the next commercial Gtk app I see will be the first.

Re:GTK is trash (4, Interesting)

Kjella (173770) | about 3 months ago | (#45976095)

That was because the FSF was spreading FUD about Trolltech. Trolltech was free software friendly and was never going to make Qt non-free.

Qt was free on a free platform (Linux), if you wanted a Windows/Mac license then for a long time you had to pay for that priviledge. They were trying to balance being open source and making money and RMS isn't exactly known for ideological compromise. Eventually they went GPL on all platforms and later LGPL, but it also killed off most of the income Trolltech used to have. That wouldn't have been so bad if Nokia had been their sugar daddy using it as their "Android", but I really wonder if Digia can surivie as being the non-native alternative all around. After all Android uses Dalvik/Javaish, iOS and OS X uses ObjectiveC/XCode, Microsoft uses C#/.NET and Qt is essentially trying to be what Java tried to be on the desktop. And I guess we all know how many Java desktop apps we use, right? Good product, not sure it hits a market.

Re:GTK is trash (1)

Anonymous Coward | about 3 months ago | (#45976477)

There is nothing non-native about C++ on Android or iOS/OSX.

Re:GTK is trash (0)

angel'o'sphere (80593) | about 3 months ago | (#45976579)

I'm a Mac "user", that means if I have to program something running on my Mac I use Java. I don't really plan to dig into either Objective-C nor the Apple frameworks.
As I'm looking forward to write a simple App for iOS (and Oracles Java FX seems still far in the future) I strongly consider Qt.
As long as I only have to pay once and not for every sold App or Application I don't realy care about buying a commercial license. Bottom line it is only fair. However: it seems a "all platform" license is indeed very expensive!

Re:GTK is trash (1)

squiggleslash (241428) | about 3 months ago | (#45976597)

No, they were being careful. The FSF couldn't bless a project that wasn't free software, period. There were just too many dangers involved. They didn't bless Java until Java was finally released under the GPL, and it's not as if the FSF had any reason to be particularly antagonistic towards Sun, a major and early contributor to free software.

Re:GTK is trash (0)

Anonymous Coward | about 3 months ago | (#45975771)

> It doesn't have a "native" look and feel on any system
It's a problem in some cases, and an advantage in other.

Besides, GTK looks really neat and runs quite well on the major popular linux distros, that are all using GTK3 in their own way, that's another big reason to use it.

Re:GTK is trash (0, Insightful)

Anonymous Coward | about 3 months ago | (#45975773)

GTK was written (at least initially) by someone who thought they could 'code' better than anyone else so they didn't bother to use any knowledge gained from anyone else and just hacked together a windowing system based on an ugly ass application which decided any conventional user interface standards that existed were not worth following at all, regardless of reason. So instead of reusing an existing toolkit, they wrote from scratch and then pulled a toolkit out of their app and GTK was born.

Thats pretty much 100% ass backwards from the proper way to do it.

It is an example of one of the 'problems' with MOST open source projects. Doing because you can, not because you should. Sure its FAR more professional today than 10 years ago, but the legacy still holds true due to its very nature and the fact that its followers WANTED that in the first place.

GTK is for people who think its cool to run Linux because its not Windows, not for any real reason. They just want to stick it to the man!3@%! kind of thing.


Re:GTK is trash (1)

0123456 (636235) | about 3 months ago | (#45975889)

It is an example of one of the 'problems' with MOST open source projects. Doing because you can, not because you should.

How's that any different from many closed source projects? I've read plenty of stories about the brain-dead misfeatures in Windows which were added just because someone thought it was a good idea.

Re:GTK is trash (1)

gbjbaanb (229885) | about 3 months ago | (#45976167)

Often its because the closed-source project doesn't leave feature decisions to developers, most of them are decided upon through user requirements.

Now Windows, that's a different beast - that's gone full circle back to where ego matters.

Re:GTK is trash (2, Interesting)

benjfowler (239527) | about 3 months ago | (#45975945)

Jamie Zawinski calls this the 'Cascade of Attention-Deficit Teenagers' (CADT) development model.

http://www.jwz.org/doc/cadt.html [jwz.org]

CADT also brings us cheesy, amateur-hour user interfaces, butt-fuck-ugly skins and themes, and terrible usability.

And of course, terribly high levels of techie arrogance, inherited from old-timer UNIX neckbeards.

Re:GTK is trash (1)

realityimpaired (1668397) | about 3 months ago | (#45976053)

CADT also brings us cheesy, amateur-hour user interfaces, butt-fuck-ugly skins and themes, and terrible usability.

GTK isn't inherently riddled with those problems though. I mean, yes, most of the time when you see it, it's pretty god-awful, but it *is* possible to design a UI in GTK that looks pretty good, and which has a degree of UI uniformity. Take a look at elementary OS for an example of how it's possible to do GTK right. (and yes, I realize I'm cherry-picking an example, and that it's incredibly easy to find examples of GTK done horribly horribly wrong)

Of course, to throw a little gasoline on the fire, I prefer Enlightenment... ;)

Re:GTK is trash (2)

Chrisq (894406) | about 3 months ago | (#45976171)

CADT also brings us cheesy, amateur-hour user interfaces, butt-fuck-ugly skins and themes, and terrible usability.

GTK isn't inherently riddled with those problems though. I mean, yes, most of the time when you see it, it's pretty god-awful, but it *is* possible to design a UI in GTK that looks pretty good, and which has a degree of UI uniformity. Take a look at elementary OS for an example of how it's possible to do GTK right. (and yes, I realize I'm cherry-picking an example, and that it's incredibly easy to find examples of GTK done horribly horribly wrong)

Of course, to throw a little gasoline on the fire, I prefer Enlightenment... ;)

The question is "in GTK projects that do look good did the developers find that they were fighting the toolkit as much as using it?". I don't know the answer but that's key - "possible to" is not enough for good interfaces to be common-place.

Re:GTK is trash (1)

cheesybagel (670288) | about 3 months ago | (#45976385)

I like GTK+'s way of doing things better than Qts. Qts main advantage is that it is better at cross-platform and supports C++ by default. Little else.

Re:GTK is trash (4, Insightful)

hubie (108345) | about 3 months ago | (#45976229)

inherited from old-timer UNIX neckbeards.

Old-school UNIX guys had full beards.

Re:GTK is trash (3, Insightful)

znanue (2782675) | about 3 months ago | (#45976131)

One would argue that many people think they can code better projects and do (Say, an unknown Finnish student in 1992). There is a ton of duplication in the software space, but that might not be a bad thing. I think it is so easy to forget that we're building things that may last centuries, millenia. Individual information problems may morph under hardware changes, but a lot of these things we're figuring out could go the distance. I hope the open source movement never loses that audacity, even if it a times it is blind, arrogant, and wrong.

Re:GTK is trash (5, Informative)

tibit (1762298) | about 3 months ago | (#45976253)

Do you even know what "existing toolkits" looked like at the time? They were solid crap. I'm no fan of GTK, but man, reuse of platform-provided functionality in a multi-platform toolkit is usually something you do at the beginning and then quickly backpedal on. There is a very good technical reason why Qt comes with its own raster rendering code, its own event loop, its own containers and atomics, and a host of other things: the platform stuff, if present, is broken in its own way on each platform Qt runs on. Or, if it's not broken, the standards the platform libraries follow simply leave too much to undefined- or implementation-defined behavior to, you know, actually use in practice. For C++ standard library that may be a bit of a less of a problem with modern compilers, but remember that even Qt 4 has to compile on some very broken compilers and very quirky platforms.

Re:GTK is trash (0)

Anonymous Coward | about 3 months ago | (#45975819)

The appeal is/used to be license. Qt was/is free beer, Gtk libre.

Re:GTK is trash (1)

Anonymous Coward | about 3 months ago | (#45975835)

The API is pure C. It's much easier to create wrappers of GTK+ library than Qt in other languages (as a replacement of Tk GUI), because C++ doesn't fit well with others.

Re:GTK is trash (3, Informative)

Desler (1608317) | about 3 months ago | (#45975989)

And yet Qt has language wrappers for 16 different languages. Doesn't seem to be all that hard.

Re:GTK is trash (0)

Chrisq (894406) | about 3 months ago | (#45976191)

The API is pure C. It's much easier to create wrappers of GTK+ library than Qt in other languages (as a replacement of Tk GUI), because C++ doesn't fit well with others.

I think that "much easier" is an exaggeration here - its not hard to wrap an object interface with a flat "c compatible" interface.

Re:GTK is trash (0)

tibit (1762298) | about 3 months ago | (#45976261)

The pure-C api is what makes it harder to use, because you have humans doing the work otherwise done by a C++ compiler. If that's not retarded, I don't know what is.

Re:GTK is trash (2)

loonycyborg (1262242) | about 3 months ago | (#45975871)

Qt and wxwidgets aren't particularly good at blending in with native apps either. Qt5 have dropped any use of native widgets beside for backwards compatibility afaik. All gui toolkits suck in different ways. Qt doesn't appeal to pure C programmers because it's C++, personally I don't particularly like it as C++ programmer because it doesn't use the language to its full potential and employs hacks like MOC. But it's the only more-or-less complete cross-platform C++ GUI toolkit atm.

Re:GTK is trash (2)

tibit (1762298) | about 3 months ago | (#45976277)

You're someone who doesn't value your own productivity if you resort to calling code generators hacks. It's not a hack, it's something that lets the machine do the work a machine can do, instead of forcing a human intervention in generating introspection data. Calling moc a hack is like calling a lexer or parser generator a hack. Now I'm not commenting on the quality of the moc code itself, just on the general approach of leveraging computers in all aspects of software development, not merely to run the resulting machine code.

Re:GTK is trash (2)

cheesybagel (670288) | about 3 months ago | (#45976399)

It is a hack because it does nothing useful that you could not do with later versions of ANSI C++. For whatever reason Trolltech decided they couldn't trust ANSI C++ compilers to be present on the system.

Re:GTK is trash (2)

t_hunger (449259) | about 3 months ago | (#45976495)

Sorry, but that is just not true: moc does add meta data on objects (their methods, properties, etc.) that is _not_ available in ANSI C++. Not even with C++11.

Re:GTK is trash (1)

tibit (1762298) | about 3 months ago | (#45976603)

Yep. The best the C++ standards folk has come up so far is a bunch of proposals that try to get some of moc's functionality into C++. Normal people, who have some perspective, would call moc visionary and ahead of the time (if Common LISP is ignored, of course). Clueless people, well, remain clueless. It makes me a bit happy that I could, if I were looking for work, sell myself to the employers with full knowledge that a large bunch of behind-the-times folk are proclaiming that staying less productive is somehow better. Good for me, bad for the GP :) The educator in me cringes, the employee side of me smiles.

Re:GTK is trash (1)

tibit (1762298) | about 3 months ago | (#45976543)

You really should keep your mouth shut if you neither understand what C++ can and cannot do, and what moc actually does.

Re:GTK is trash (1)

twocows (1216842) | about 3 months ago | (#45976443)

wxWidgets isn't particularly good at blending in with native apps? That's news to me. The whole appeal of wxWidgets is that it's entirely native. Maybe you're thinking of a different project? For what it's worth, I don't like C++ either (see my above post where I said I'm moving to D for backend, that's specifically because I can't stand C++). That doesn't mean there aren't some solid projects built in it, though. wxWidgets and Qt are both very well done and seem to have accomplished what they set out to achieve. Saying they "suck" is just wrong.

GTK does suck, though, for so many reasons. I really wanted to like GTK because I wanted a good toolkit solution I could use in C, but it's really quite terrible. On Windows, you're better off just handling the interface using the WinAPI, it's that bad (assuming you're stuck using C for the frontend for whatever reason).

Re:GTK is trash (1)

squiggleslash (241428) | about 3 months ago | (#45976665)

In the context of X11, what, exactly, is a "native widget"?

OFFS: Slow Down Cowboy! Slashdot requires you to wait between each successful posting of a comment to allow everyone a fair chance at posting a comment. It's been 4 minutes since you last successfully posted a comment Chances are, you're behind a firewall or proxy, or clicked the Back button to accidentally reuse a form. Please try again. If the problem persists, and all other options have been tried, contact the site administrator.

Re:GTK is trash (1)

Anonymous Coward | about 3 months ago | (#45976349)

Oh I could go on for a very long time on the problems of GTK/GNOME/GIMP. But there a lot of "it's not my/our fault" going on there too. For example, GTK is "GiMP toolkit" not "GNOME toolkit." Why GNOME decided to use GiMP toolkit I don't know. It's an application library. And it's certainly one that doesn't well enable having multiple versions of it in the same running OS. GNOME's window managers use GTK. What happens when you want to use CentOS (which uses an older version of GTK) and a current version of GiMP?? It doesn't work. You can compile your own dependency libraries but it becomes a deep, deep rebbit hole to dig through and when you do, you will find that even after all that, the window decorations don't work which makes the program look really strange.

Had GNOME "forked" GTK, then everything would be okay. But they didn't. So the wrongness of the situation really comes to light when running under this particular and fairly common configuration.

Is it GiMP's fault? No. The library is for GiMP even though the GTK project has spun off on its own now but they didn't care even before it did. Is it GTK's fault? Yeah, pretty much. They are very aware of how GTK is being used and they don't care. Is it GNOME's fault? Yeah, I think it is. GNOME and GTK are influenced and guided heavily through RedHat. RedHat doesn't seem interested in the problem(s).

Why GNOME/GTK/RedHat/GIMP refuses to listen to the user community is beyond me. They seem to have this "you don't like it? use something else or write your own fork!" kind of attitude. This is their game and their ball and they will play their way only. It kind of sucks really.

Re:GTK is trash (0)

Anonymous Coward | about 3 months ago | (#45976381)

Not written in C++.

Re:GTK is trash (1)

twocows (1216842) | about 3 months ago | (#45976383)

It's also usable in C, for what that's worth. Calling it cross-platform is a laugh, though. The last Windows version is an outdated version of an outdated version (an old version of the 2.0 branch). Granted, I haven't checked for a few months, but last I knew, the only dev working on the Windows version had abandoned it a while ago.

For my personal projects, I'm moving toward D for the backend and WxPython for the frontend where feasible. Even back when I did almost all of my projects in C, though, I never stuck with GTK. GObject and GLib seemed like decent projects, though.

Re:GTK is trash (1)

jythie (914043) | about 3 months ago | (#45976423)

On the other hand, it is GTK is LGPL rather then GPL, which means many projects favor it for pragmatic or philosophical reasons. WxWidgets, while the license is pretty permissive, has some pretty sketchy bindings (ok, I am mostly thinking wxPython, which makes my life miserable). So GTK can be a 'best worst option'.

Re:GTK is trash (1)

t_hunger (449259) | about 3 months ago | (#45976531)

Qt on the other hand is available in LGPL, GPL or proprietary licensed form. You are free to pick whatever works best for your project. I really fail to see how GTK can be better than that on the licensing front.

don't impose your lang(QML) on device platforms (3, Insightful)

keneng (1211114) | about 3 months ago | (#45976527)

GTK is far from trash. It certainly compiles and links faster than a Qt app. It can build gui's entirely in your c++ code or integrate with glade-tool-created ui which is on par with qtcreator in that respect. It blends well with c++/c libraries.
I have recently delved into gui development with Qt on Ubuntu touch(ubuntu-sdk) and Qt on Android(Necessitas and Qt for Android). I'm not quite content with either. Newer Qt tools force developers to use QML/declarative script. The ide doesn't offer any easy way to use C++ for everything in Android. It's possible, but it's not very well documented. When compiling and Android app without QML/.ui files, the IDE isn't intuitive to use to get what you need to build the minimum .apk with the AndroidManifest.xml and other Android "deployment" characteristics for plain c++ built-apps.

gtkmm has no complications about assembling everything into an apk file. You just assemble everything c++ into your executable or keep them separate. It's the developers choice unlike android's forcing of everything into an apk. I just prefer desktop app development over mobile device development. Qt doesn't save you time with android. You still need to do your homework and learn everything android anyways. i.e. JNI to get access to special non qml apis. There has been recent discussion about difficulty using persistent storage api with qml. That's so 1990's an issue. There are so many ways of skinning that cat with c++ libs of all sorts. boost serialization and mongodb come to mind, but there are so many others. Even golang(higher-level C++-like) has less problems using gtk and serialization than qt/qml and it has even shorter compile/link times than c++. golang/gtk/serialization compile/link time c++/gtk/serialization compile/link time qt/qml serialization compile/link time.

To be blunt, I would rather compile with gtkmm with Ubuntu/Debian on any device mobile/desktop/cloud given the opportunity.
There will be an opportunity to see gtk on ubuntu touch. I would prefer gtk than qt toolkit on ubuntu touch because it would save enormous amounts of time iterating through compiles/links.

Don't call GTK trash and I won't trash QT. They both have their places, but platforms should not impose language choices on developers like android and ubuntu touch did by forcing everyone to use qt. That was a mistake. All this to say GTK has its strengths and weakness and so does qt/qml/declaratives. It's interesting and useful, but doesn't necessarily save the developer time and qt doesn't necessarily give the best runtime performance if an app has qml/declaratives in it when compared with straight c++. If the ubuntu touch team would have stuck with gtk for the touch interface, I believe they would have finished the ubuntu touch/ubuntu edge prototype completely by now. If Android would get rid of all the apk complexity, provided c++-only gui api and stuck to c++ rather than convoluted java/jni/c++, there would have been even more apps in their play store by now. golang will have greater importance on for building guis/apps on all platforms soon enough. go-gtk bindings exist. So do go-qt bindings. One thing is certain. I don't like QML and that's a subjective thing. Knock yourself out with qml if you want but don't impose it on everyone else. That's bad for business. People will walk away if it's the only developer tool option offered for a device.

Woot! (5, Funny)

Anonymous Coward | about 3 months ago | (#45975685)

There hasn't been a good GTK / Qt flamewar around here for ages!

Now that Qt is free, shouldn't we be migrating away from GTK?

Re:Woot! (-1)

Anonymous Coward | about 3 months ago | (#45975803)

Nah, cross-platform widget toolkits are bullshit. If you want your app to look right on OSX, you pretty much need to use Cocoa, if you want it to look right on Windows, you need to use MFC or WPF or XAML or whatever they're using these days, if you want it to look right on Android you need to use Android's widget toolkit. GTK+ and Qt started as a way to get decent-looking software on desktop Linux, which is a platform that nobody important has ever really cared about, and then tried to work outward from there to stay relevant, which they did poorly.

And who the hell is writing new desktop software these days anyway?

It's exactly why GTK was born! (1)

Anonymous Coward | about 3 months ago | (#45975687)

Because Qt guys were doing it wrong, Motif guys were doing it wrong, C++ guys were doing it wrong, .....

Re:It's exactly why GTK was born! (2)

MickyTheIdiot (1032226) | about 3 months ago | (#45975723)

What is the matter with all of you? Curses got it right...

Re:It's exactly why GTK was born! (0)

Anonymous Coward | about 3 months ago | (#45975775)

Ho, ho, hey, hey! My apps run on Tcl Tk!

Re:It's exactly why GTK was born! (1)

dkf (304284) | about 3 months ago | (#45975851)

Motif guys were doing it wrong

To be fair, anyone who has ever worked with Motif should think that its implementers were doing it wrong. It's the nastiest toolkit I've ever used as a programmer (that's because I never worked with anything else layered on top of Xt, except as a user).

N.S.A. Devises Radio Pathway Into Computers (-1)

Anonymous Coward | about 3 months ago | (#45975717)

N.S.A. Devises Radio Pathway Into Computers

By david e. sanger and thom shanker = jan. 14, 2014

= URL: http://www.nytimes.com/2014/01/15/us/nsa-effort-pries-open-computers-not-connected-to-internet.html [nytimes.com]
= Image: http://cryptome.org/2014/01/nsa-quantum-radio.jpg [cryptome.org]
== Coverage #1: http://news.slashdot.org/story/14/01/15/1324216/nyt-nsa-put-100000-radio-pathway-backdoors-in-pcs [slashdot.org]
== Coverage #2: http://cryptome.org/2014/01/nsa-quantum-radio.htm [cryptome.org]
== Coverage #3: http://rt.com/usa/nsa-radio-wave-cyberattack-607/ [rt.com]
=== Archive: http://web.archive.org/web/20140116010210/http://www.nytimes.com/2014/01/15/us/nsa-effort-pries-open-computers-not-connected-to-internet.html [archive.org]

"WASHINGTON - The National Security Agency has implanted software in nearly 100,000 computers around the world that allows the United States to conduct surveillance on those machines and can also create a digital highway for launching cyberattacks.

While most of the software is inserted by gaining access to computer networks, the N.S.A. has increasingly made use of a secret technology that enables it to enter and alter data in computers even if they are not connected to the Internet, according to N.S.A. documents, computer experts and American officials.

The technology, which the agency has used since at least 2008, relies on a covert channel of radio waves that can be transmitted from tiny circuit boards and USB cards inserted surreptitiously into the computers. In some cases, they are sent to a briefcase-size relay station that intelligence agencies can set up miles away from the target.

The radio frequency technology has helped solve one of the biggest problems facing American intelligence agencies for years: getting into computers that adversaries, and some American partners, have tried to make impervious to spying or cyberattack. In most cases, the radio frequency hardware must be physically inserted by a spy, a manufacturer or an unwitting user.

The N.S.A. calls its efforts more an act of "active defense" against foreign cyberattacks than a tool to go on the offensive. But when Chinese attackers place similar software on the computer systems of American companies or government agencies, American officials have protested, often at the presidential level.

Among the most frequent targets of the N.S.A. and its Pentagon partner, United States Cyber Command, have been units of the Chinese Army, which the United States has accused of launching regular digital probes and attacks on American industrial and military targets, usually to steal secrets or intellectual property. But the program, code-named Quantum, has also been successful in inserting software into Russian military networks and systems used by the Mexican police and drug cartels, trade institutions inside the European Union, and sometime partners against terrorism like Saudi Arabia, India and Pakistan, according to officials and an N.S.A. map that indicates sites of what the agency calls "computer network exploitation."

"What's new here is the scale and the sophistication of the intelligence agency's ability to get into computers and networks to which no one has ever had access before," said James Andrew Lewis, the cybersecurity expert at the Center for Strategic and International Studies in Washington. "Some of these capabilities have been around for a while, but the combination of learning how to penetrate systems to insert software and learning how to do that using radio frequencies has given the U.S. a window it's never had before."

No Domestic Use Seen

There is no evidence that the N.S.A. has implanted its software or used its radio frequency technology inside the United States. While refusing to comment on the scope of the Quantum program, the N.S.A. said its actions were not comparable to China's.

"N.S.A.'s activities are focused and specifically deployed against - and only against - valid foreign intelligence targets in response to intelligence requirements," Vanee Vines, an agency spokeswoman, said in a statement. "We do not use foreign intelligence capabilities to steal the trade secrets of foreign companies on behalf of - or give intelligence we collect to - U.S. companies to enhance their international competitiveness or increase their bottom line."

Over the past two months, parts of the program have been disclosed in documents from the trove leaked by Edward J. Snowden, the former N.S.A. contractor. A Dutch newspaper published the map of areas where the United States has inserted spy software, sometimes in cooperation with local authorities, often covertly. Der Spiegel, a German newsmagazine, published the N.S.A.'s catalog of hardware products that can secretly transmit and receive digital signals from computers, a program called ANT. The New York Times withheld some of those details, at the request of American intelligence officials, when it reported, in the summer of 2012, on American cyberattacks on Iran.

President Obama is scheduled to announce on Friday what recommendations he is accepting from an advisory panel on changing N.S.A. practices. The panel agreed with Silicon Valley executives that some of the techniques developed by the agency to find flaws in computer systems undermine global confidence in a range of American-made information products like laptop computers and cloud services.

Embracing Silicon Valley's critique of the N.S.A., the panel has recommended banning, except in extreme cases, the N.S.A. practice of exploiting flaws in common software to aid in American surveillance and cyberattacks. It also called for an end to government efforts to weaken publicly available encryption systems, and said the government should never develop secret ways into computer systems to exploit them, which sometimes include software implants.

Richard A. Clarke, an official in the Clinton and Bush administrations who served as one of the five members of the advisory panel, explained the group's reasoning in an email last week, saying that "it is more important that we defend ourselves than that we attack others."

"Holes in encryption software would be more of a risk to us than a benefit," he said, adding: "If we can find the vulnerability, so can others. It's more important that we protect our power grid than that we get into China's."

From the earliest days of the Internet, the N.S.A. had little trouble monitoring traffic because a vast majority of messages and searches were moved through servers on American soil. As the Internet expanded, so did the N.S.A.'s efforts to understand its geography. A program named Treasure Map tried to identify nearly every node and corner of the web, so that any computer or mobile device that touched it could be located.

A 2008 map, part of the Snowden trove, notes 20 programs to gain access to big fiber-optic cables - it calls them "covert, clandestine or cooperative large accesses" - not only in the United States but also in places like Hong Kong, Indonesia and the Middle East. The same map indicates that the United States had already conducted "more than 50,000 worldwide implants," and a more recent budget document said that by the end of last year that figure would rise to about 85,000. A senior official, who spoke on the condition of anonymity, said the actual figure was most likely closer to 100,000.

That map suggests how the United States was able to speed ahead with implanting malicious software on the computers around the world that it most wanted to monitor - or disable before they could be used to launch a cyberattack.

A Focus on Defense

In interviews, officials and experts said that a vast majority of such implants are intended only for surveillance and serve as an early warning system for cyberattacks directed at the United States.

"How do you ensure that Cyber Command people" are able to look at "those that are attacking us?" a senior official, who compared it to submarine warfare, asked in an interview several months ago.

"That is what the submarines do all the time," said the official, speaking on the condition of anonymity to describe policy. "They track the adversary submarines." In cyberspace, he said, the United States tries "to silently track the adversaries while they're trying to silently track you."

If tracking subs was a Cold War cat-and-mouse game with the Soviets, tracking malware is a pursuit played most aggressively with the Chinese.

The United States has targeted Unit 61398, the Shanghai-based Chinese Army unit believed to be responsible for many of the biggest cyberattacks on the United States, in an effort to see attacks being prepared. With Australia's help, one N.S.A. document suggests, the United States has also focused on another specific Chinese Army unit.

Documents obtained by Mr. Snowden indicate that the United States has set up two data centers in China - perhaps through front companies - from which it can insert malware into computers. When the Chinese place surveillance software on American computer systems - and they have, on systems like those at the Pentagon and at The Times - the United States usually regards it as a potentially hostile act, a possible prelude to an attack. Mr. Obama laid out America's complaints about those practices to President Xi Jinping of China in a long session at a summit meeting in California last June.

At that session, Mr. Obama tried to differentiate between conducting surveillance for national security - which the United States argues is legitimate - and conducting it to steal intellectual property.

"The argument is not working," said Peter W. Singer of the Brookings Institution, a co-author of a new book called "Cybersecurity and Cyberwar." "To the Chinese, gaining economic advantage is part of national security. And the Snowden revelations have taken a lot of the pressure off" the Chinese. Still, the United States has banned the sale of computer servers from a major Chinese manufacturer, Huawei, for fear that they could contain technology to penetrate American networks.

An Old Technology

The N.S.A.'s efforts to reach computers unconnected to a network have relied on a century-old technology updated for modern times: radio transmissions.

In a catalog produced by the agency that was part of the Snowden documents released in Europe, there are page after page of devices using technology that would have brought a smile to Q, James Bond's technology supplier.

One, called Cottonmouth I, looks like a normal USB plug but has a tiny transceiver buried in it. According to the catalog, it transmits information swept from the computer "through a covert channel" that allows "data infiltration and exfiltration." Another variant of the technology involves tiny circuit boards that can be inserted in a laptop computer - either in the field or when they are shipped from manufacturers - so that the computer is broadcasting to the N.S.A. even while the computer's user enjoys the false confidence that being walled off from the Internet constitutes real protection.

The relay station it communicates with, called Nightstand, fits in an oversize briefcase, and the system can attack a computer "from as far away as eight miles under ideal environmental conditions." It can also insert packets of data in milliseconds, meaning that a false message or piece of programming can outrace a real one to a target computer. Similar stations create a link between the target computers and the N.S.A., even if the machines are isolated from the Internet.

Computers are not the only targets. Dropoutjeep attacks iPhones. Other hardware and software are designed to infect large network servers, including those made by the Chinese.

Most of those code names and products are now at least five years old, and they have been updated, some experts say, to make the United States less dependent on physically getting hardware into adversaries' computer systems.

The N.S.A. refused to talk about the documents that contained these descriptions, even after they were published in Europe.

"Continuous and selective publication of specific techniques and tools used by N.S.A. to pursue legitimate foreign intelligence targets is detrimental to the security of the United States and our allies," Ms. Vines, the N.S.A. spokeswoman, said.

But the Iranians and others discovered some of those techniques years ago. The hardware in the N.S.A.'s catalog was crucial in the cyberattacks on Iran's nuclear facilities, code-named Olympic Games, that began around 2008 and proceeded through the summer of 2010, when a technical error revealed the attack software, later called Stuxnet. That was the first major test of the technology.

One feature of the Stuxnet attack was that the technology the United States slipped into Iran's nuclear enrichment plant at Natanz was able to map how it operated, then "phone home" the details. Later, that equipment was used to insert malware that blew up nearly 1,000 centrifuges, and temporarily set back Iran's program.

But the Stuxnet strike does not appear to be the last time the technology was used in Iran. In 2012, a unit of the Islamic Revolutionary Guards Corps moved a rock near the country's underground Fordo nuclear enrichment plant. The rock exploded and spewed broken circuit boards that the Iranian news media described as "the remains of a device capable of intercepting data from computers at the plant." The origins of that device have never been determined.

On Sunday, according to the semiofficial Fars news agency, Iran's Oil Ministry issued another warning about possible cyberattacks, describing a series of defenses it was erecting - and making no mention of what are suspected of being its own attacks on Saudi Arabia's largest oil producer."

"A version of this article appears in print on January 15, 2014, on page A1 of the New York edition with the headline: N.S.A. Devises Radio Pathway Into Computers."


The New Zealand Copyright Act 1994 specifies certain circumstances where all or a substantial part of a copyright work may be used without the copyright owner's permission. A "fair dealing" with copyright material does not infringe copyright if it is for the following purposes: research or private study; criticism or review; or reporting current events.


This is based mostly on the NSA Catalog released by Jacob Appelbaum and Der Spiegel on 30 December 2013:

http://cryptome.org/2013/12/nsa-catalog.zip [cryptome.org] (16.2MB)

NY Times reportedly has the full Snowden material sent to it by The Guardian but, like others, has published very little of it:

http://cryptome.org/2013/11/snowden-tally.htm [cryptome.org]

Application management with C++ (1)

zackhugh (127338) | about 3 months ago | (#45975767)

I've coded applications with Qt and GTK and I prefer Qt because of its native C++ support. GTK has a C++ interface called GTKMM, but at the time I used it, it had serious issues dealing with third-party libraries.

I prefer C when I'm doing embedded/high-performance computing work. But for large, complex GUIs, I prefer C++. So that's why I go with Qt.

GTK+ is a C library (5, Informative)

i ate my neighbour (1756816) | about 3 months ago | (#45975793)

The only reason to use it now is if for some reason you want to avoid C++ and develop in pure C.

Re:GTK+ is a C library (-1, Flamebait)

Anonymous Coward | about 3 months ago | (#45975829)

Every sane developer wants to avoid C++; it's an enormous shitpile. Even the Qt devs realize this, that's why MOC exists.

GTK+ has bindings for actual high-level languages; the Python bindings are very complete and the C# bindings are pretty decent.

Re:GTK+ is a C library (0)

Anonymous Coward | about 3 months ago | (#45975933)

Yes that's true, if you're part of the morons who can't understand how POO works...

Re:GTK+ is a C library (4, Informative)

Greyfox (87712) | about 3 months ago | (#45976041)

I've found with C++11 and Boost that I prefer to develop in C++ than Java. Or pretty much anything else for that matter. Design your code reasonably well and it can be solid, and fast. I've left my applications running constantly for months on end and never seen a resource leak, and the compiled binaries are tiny. I just got done stamping the last of the ruby code out of the code base I have to maintain and my new code runs significantly faster, is so much more maintainable that the previous developers of the code really ought to be ashamed of themselves and takes under a minute to deploy. In about the time it takes gem to warm up, I've deployed my files, verified md5sums on 4 different systems and left to get a donut. Mmmm..... Donut.....

I don't care for GTK or QT. I kind of wish the boost guys would write a widget toolkit so I don't have to do that myself, when I finally get to that item on my to-do list (It's sitting down around 4 or 5 on the list right now, so it'll be a while.)

Re:GTK+ is a C library (1)

Daniel Hoffmann (2902427) | about 3 months ago | (#45976187)

I don't have enough C++ or C development experience to say this for certain but I think that most people that say "Thank god I don't have to use C++ anymore" actually hated using the API calls, like POSIX and Win32 because they did things in a very C way (which made passing and returning strings to functions a pain in the ass for example). Today there are several libraries to abstract that stuff away so you can actually do things in a proper C++ and/or object oriented way (unless you are dealing with some very specific scenarios). Plus the C++11 stuff.

Re:GTK+ is a C library (1, Insightful)

HiThere (15173) | about 3 months ago | (#45976327)

The main reason I don't like C++ (and C, for that matter) is the way they handle unicode. The next reason is the way they handle pointers. (For C++, Templates come in there, too.)

Vala keeps promising to be a good language, but it's been between alpha and beta quality for 5 years now. D is pretty good, but lacks library support. (You can roll your own to C or C++, but it's a real disincentive. And can be quite difficult if your header files have macros.) Ada is ok, and has decent library support, but it's quite verbose, and hard to document (I'm talking about developer documentation, like Javadoc or Doxygen, or even RDoc, not end user documentation). Also, I really like garbage collection, though that's partially a matter of taste.

If I don't need the performance, I generally pick Python as the "least bad". It's not as good as D, but it usually supports the libraries that I need. It's not as good as Vala promises to be, but it's working and well documented NOW. But even Ada has better unicode support than do C and C++.

Re:GTK+ is a C library (2)

satuon (1822492) | about 3 months ago | (#45976555)

That's right, when people are comparing languages, they really are comparing the libraries available for them. And for C++, Qt is a damn good one.

Re:GTK+ is a C library (2)

tibit (1762298) | about 3 months ago | (#45976365)

Qt 5 and C++11 play ball together, there's much less of boost needed beyond application-specific stuff if you use Qt. I'd suggest you have a look at Qt, it provides you with a whole lot of functionality. It'll cost the "boost guys" as much time as it cost Qt folks to come up with Qt: in other words, what you ask for is completely unrealistic unless you've just won a lottery and have some money to burn on developers.

Never mind that boost by itself still can't provide what Qt has provided for a long, long time now: introspection into the methods available on an instrumented object. It also has a metatype system that lets you construct and destruct instances of registered types, completely under program control and without having to sprinkle type-specific knowledge all across the project. This makes for much easier integration with scripting languages, for example.

Re:GTK+ is a C library (1)

sandertje (1748324) | about 3 months ago | (#45976291)

Your argument is invalid. Qt has good open source bindings for Python as well: PySide.

Re:GTK+ is a C library (1)

twocows (1216842) | about 3 months ago | (#45976669)

PySide is dying. The new company that owns Qt has almost gone as far as saying they don't care about it. Best to move to PyQt if licensing permits.

Re:GTK+ is a C library (2)

tibit (1762298) | about 3 months ago | (#45976307)

moc exists not because C++ is a shitpile, it simply takes some manual, boring boilerplate out of the code you write. Boilerplate that's all over code that uses GTK, by the way. Code generators exist to make you more productive. Some platforms even go as far as giving you a compile-time code generation support: C++ has a rather limited, functional-style metaprogramming. In LISP you get the full power of the language available at compile time, and to me that's still unmatched by any other mainstream platform.

Phoronix + link to audio ? (-1, Flamebait)

Gothmolly (148874) | about 3 months ago | (#45975853)

Way to go failmitter.

Phoronix is the TomsHardware wannabe version of the corpse of OSNews, and video/audio articles suck.

Re:Phoronix + link to audio ? (1)

UnknownSoldier (67820) | about 3 months ago | (#45976019)

Agreed 100%.

Yeah, it is pathetic how Phoronix will link "news" to an "earlier" article to itself instead of the actually dam off-site source.

Hostile Communities (1)

therealprologic (2118298) | about 3 months ago | (#45975899)

Unfortunately developer communities can tend to get rather hostile. It only takes a few hostile folks to tarnish an entire community. Python is a classic example as well.

Re:Hostile Communities (1)

Chrisq (894406) | about 3 months ago | (#45976235)

Unfortunately developer communities can tend to get rather hostile. It only takes a few hostile folks to tarnish an entire community. Python is a classic example as well.

Why mention Python and nor Ruby. You Bastard! ;-)

"Intel Dev" in Headline is misleading (4, Interesting)

t_hunger (449259) | about 3 months ago | (#45975915)

Dirk stated in his presentation that this is his own, private opinion he is presenting here and not that of his employer Intel.

So the headline is technically correct, but that Dirk works for Intel is not relevant in this context at all.

GTK+ is standalone (2, Insightful)

Second_Derivative (257815) | about 3 months ago | (#45975917)

Qt, on the other hand, is its own universe. It's written in a weird dialect of C++98 (though I'm sure it works just fine in C++11 these days), it has its own object model, networking stack, container library, threading library, graphics primitive library (i.e. not Cairo). This object model also leaks into its language bindings if you don't want to write your software in C++.

It's the same problem that Java and C# also suffer from: they're not cross-platform, nothing is. What they actually are is their own platform built alongside a perfectly good already-existing one, and you can see the seams.

There's more to each platform's UI than what bitmap you skin buttons and checkboxes with. If you want a cross-platform application, then write a completely different UI for each platform using those platforms' native UI toolkits. Sadly "good enough" is the order of the day here, so you end up with platform-refugee applications that look like shit.

Re:GTK+ is standalone (5, Insightful)

t_hunger (449259) | about 3 months ago | (#45976341)

I would argue exactly the other way around: Qt is stand-alone and GTK is not. If you want to write any app you need more than the UI. You actually want the application to *do* something but render a couple of widgets.

With GTK you end up hunting down a host of glib/gnome based libraries, all with slightly different peculiarities and all of them coming with little useful documentation. How is that stand-alone? With Qt you get everything in one convenient package (and are still free to leave out the parts you do not need in your binary packages).

Qt is a C++ library: Any C++ compiler can compile it on a wide range of platforms. How would that be possible if Qt was written in a weird dialect?

Of course the object model leaks into the language bindings. How could it not be? The same is true for "object-oriented" libraries written in C.

Yes, even with Qt you can not get perfect cross-platform applications. You will need to some platform-specific code in any non-trivial application. That is perfectly possible in Qt... and it still gets you at least 90% of the way! That was the other reason for switching that Dirk gave in his presentation: That GTK does *not* run properly on windows nor on Mac. He claimed that some core GTK people are actually opposing the toolkit working on those platforms and that independent teams are trying to maintain the cross-platform parts as good as they can against a hostile core team.

Subsurface was cross-platform with GTK and it looked like shit on *all* platforms incl. Linux. The Qt port looks way better -- they could finally get the UI they wanted but could not manage to implement in GTK -- and works equally well on all three target platforms. Check the demo right in the middle of the video: Dirk shows of the new UI and contrasts it with the old one in pretty gory details. So, yes, Qt is not perfect, but it is pretty good nontheless:-)

Re:GTK+ is standalone (4, Informative)

Gravis Zero (934156) | about 3 months ago | (#45976435)

it has its own object model, networking stack, container library, threading library, graphics primitive library (i.e. not Cairo).

the toolkit is split into modules that can be used completely independently of each other. If you only want the GUI stuff, you can use just the GUI module.

This object model also leaks into its language bindings if you don't want to write your software in C++.

binding are completely third party software to Qt. you might as well complain about gtkmm while you're at it.

It's the same problem that Java and C# also suffer from: they're not cross-platform, nothing is. What they actually are is their own platform built alongside a perfectly good already-existing one, and you can see the seams. There's more to each platform's UI than what bitmap you skin buttons and checkboxes with.

obviously you have not used Qt in the last five years.

where is the "-1 Ignorant" mod?

Re:GTK+ is standalone (3, Informative)

tibit (1762298) | about 3 months ago | (#45976463)

There is no way other than having a meta-platform that can abstract things away from the physical platform it runs on. A platform is not merely the UI. If you really want to write cross-platform code that has native-API-using GUIs, you'll still find yourself having to use a platform abstraction for all the non-GUI stuff like events, threads, containers, strings/internationalization, etc. Even if this abstraction is provided by the standard C++ library, it's still an abstraction, and you can still choose who provides it - compiler vendors are just one in a crowd here.

There is a very good reason that Qt has its own object model etc. It's because all those things, done natively, are full of inconsistencies, bugs you have to work around, and other shortcomings that have you, the brave cross-platform coder, having to re-do things again and again.

No, using Qt core and networking for non-GUI platform abstraction is no different from using Boost. Just that with Qt you have the option of using the gui stuff, and platform-specific extras, and qt quick, and a whole bunch of other goodies that you get nowhere else.

There is nothing wrong, of course, with doing the core of your application using Qt's core and networking modules, and doing the UI natively. Often, though, you'll find that the native way will not give you as many advantages as you thought you had.

Never mind that even some "native" ways of doing things do it exactly the way Qt does it. For example, WPF on .net is not using native legacy winapi windows controls, since they render everything using GPU acceleration and conceptually are much closer to Qt Quick 2 controls. So even your own "stay native" argument flies in the face of what the "native" platform vendors are themselves doing!!

Re:GTK+ is standalone (4, Informative)

BravoZuluM (232200) | about 3 months ago | (#45976485)

How is this insightful? GTK guys modding this up? FUD. Qt is not written in some weird dialect. Where'd you pull that factoid from? I compile QT all over the place, Windows, Mac, LInux and embedded Linux using the VS C++ compile or gcc. On each of those platforms, it works VERY well. It's cross platform; more so than any other framework/language I've worked with. Qt apps look like Windows apps on Windows, Mac apps on Mac, Linux apps on Linux (if there really is such a thing)

Not all that surprising (4, Interesting)

Octorian (14086) | about 3 months ago | (#45975927)

Gtk+/GNOME (in popular form) basically exists because of a flamewar, so is it any surprise that the community is still like that?

It always struck me as a bunch of stuck up C developers who outright refused to use C++, on principle alone. So instead, they implemented everything C++ does on top of C, using macros and coding conventions. They later managed to spin their crusade as "actually" being about the licensing issues with Qt at the time. While those licensing arguments may have been valid, to me they always felt like little more than a cover for a C vs C++ fight. However, it made their side of the story a lot easier to sell.

Re:Not all that surprising (1)

cheesybagel (670288) | about 3 months ago | (#45976473)

No. People just used GTK+ because GIMP used it as a toolkit. Eventually someone pushed GNOME around but that was later.

And why are we listening? (2, Funny)

evilviper (135110) | about 3 months ago | (#45975943)

That's awfully big talk, from the company that unleashed EFI upon an innocent and unsuspecting public.

Open Source Culture (2)

EmperorOfCanada (1332175) | about 3 months ago | (#45975955)

I never really thought about it but different OS project have vastly different cultures. I have long had a happy relationship with Qt; I was worried a bit after their Nokia purchase, and then really worried after MS bought Nokia; but all seems to still be good. For instance the Python culture is embroiled in a civil war with 2.x vs 3.x. And quite clearly some OS projects are very responsive to customers (For example the warning that git screamed after typing "git add ." disappeared. Other projects like Boost are definitely populated by academics, and so on.

I generally have stayed away from GTK and part of that reason might be that I sensed an unfriendliness there.

Re:Open Source Culture (1)

HiThere (15173) | about 3 months ago | (#45976467)

Saying "the Python culture is embroiled in a civil war with 2.x vs 3.x" is grossly misstating the position. Both Python2 and Python3 are currently supported, and, as much as feasible, fixes to Python3 are backported to Python2. A lot of people still use and develop in Python2, but it's no longer recommended for new projects. (It will be EOLed in a year or so. I believe 2.8 is intended to be the last version, but it could be 2.7, as I haven't kept current.) That said, 2.7 is stable and well supported on all major systems. But it's more inconvenient to use, e.g., unicode strings in Python2 than in Python3, and Python3 is generally faster (though not hugely so).

However, the two languages have been kept similar enough that it's often possible to write programs that work in both. If you're looking for help, however, it *is* useful to say which version you are using. And even which sub-version. And it's quite feasible to have BOTH installed on the same computer.

Personally, I prefer Python3, so I acknowledge that I'm a bit biased in that direction. But the main advantage that I see in Python2 is that there are libraries and tools (like Epydoc) that haven't been ported to Python3 yet. If you need one of those, you should choose Python2.

GTK programs appear diseased to me (-1)

Anonymous Coward | about 3 months ago | (#45975963)

Pee pee......have you ever heard a song about pee pee?

It's a little bit of rain coming out of you.

It's a tinkle it's a puddle it's a wee wee too.

Wee wee in French means yes yes yes.

No no in French means no.

Red is stop and green is go and sometimes pee pee is yellow.

PS: Fsck GTK

Nerds (-1)

Anonymous Coward | about 3 months ago | (#45976035)

"What?! Socially retarded neckbeard nerds are a bigger threat to an open source product than technical factors?!! This is unprecedented!"
    -- All of slashdot

Native Widgets (4, Informative)

robmv (855035) | about 3 months ago | (#45976109)

Can we stop spreading false information about QT?

the native widgets for OS X / Linux / Windows

QT doesn't have native widgets for any platform, QT draw the widgets with their own code, it only skins them with the platform APIs if they are available, Quoting myself [slashdot.org]:

Native controls means more than to have the same look, if that is the way to measure "nativeness", then Java Swing UIs (Windows/GTK L&F) are native because they call platform theme APIs.

When a toolkit draw controls by itself, the applications normally lose a lot of UI functionality, for example, if Android/iPhone controls add proper default assistive technology metadata to their controls, the toolkit (QT in this example) need to do the same for each control they draw, because the OS don't see buttons as buttons, It see them as a custom control. If the platform control change behaviour in a new OS release, the QT control will not see it, for example when Windows added default context menus to the text fields, self drawed controls don't expose that behaviour until applications are updated with a new version

Re:Native Widgets (3, Informative)

satuon (1822492) | about 3 months ago | (#45976329)

In reality, I've never noticed practical differences between Qt and a native application on Windows, or on Gnome Linux. On Android currently it doesn't look native at all, but that's because it's not implemented yet, they plan on doing it later.

Re:Native Widgets (0)

Anonymous Coward | about 3 months ago | (#45976499)

If it looks native, thats all a user cares about. And it does look native.

Re:Native Widgets (3, Informative)

tibit (1762298) | about 3 months ago | (#45976513)

You do know that Qt has had accessibility support for quite a while now, in both Qt 4 and Qt 5? You do realize that WPF itself is not using the native winapi controls, and is peddled as the "new native way" of doing controls on Windows? You do realize that Qt does way more beyond mere native-looking-skinning of controls? It does actually re-implement platform-specific behaviors on a lot of controls, often in ways that are much simpler to code for than whatever native legacy boondoogle of an API someone at MS or Apple has conceived?

There is something to be said for having uniform principles for the design of an application framework, and Qt is reasonably good in that department. My experience is that the non-nativeness of Qt-provided controls is something that is hard to notice if it can be noticed at all, if the application developer has done their homework.

Re:Native Widgets (1)

tibit (1762298) | about 3 months ago | (#45976523)

Basically, Qt is doing controls on Windows the same way Microsoft is doing controls on Windows these days. So stop with the FUD.

Re:Native Widgets (1)

robmv (855035) | about 3 months ago | (#45976671)

Accessibility was an example, I was referring about updates to the OS Widgets not being inherited by QT because QT does not have native widgets. It doesn't matter if Microsoft is doing the same with WPF, QT doesn't have native widgets, plain and simple. is that good or bad? is your call.

Anecdote of asshole Gnomes: libnotify timeout (0)

Anonymous Coward | about 3 months ago | (#45976549)

For the longest time the man page listed a timeout parameter but the godlike gnomes decided to simply ignore the parameter, because they knew better...

I couldn't find a good bug but this should give you a hint https://bugzilla.gnome.org/show_bug.cgi?id=665761 [gnome.org]

I guess the gnomes have taken alot of flak for gnome-shell but some of it is deserved and no excuse to act like total assholes. I wish Karen the best of luck herding these rude, stubborn cats...

That's Depressing (3, Insightful)

zakkudo (2638939) | about 3 months ago | (#45976573)

I feel like all the time I donated helping with gtk questions on the gtk irc channels was useless now. )-:
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account