Remember that's not the way open source works and is actually a huge stereotype. People work on what interests them and just because they work on project doesn't mean they'd be interested in working on another project even if it were similar. Open Source developers are not just one big pool of resources that can be pushed around where popular opinion thinks they should go.
Good point, unless you want to pay me. If you want to pay me, I'd be happy to hack on OO or a Freehand/Illustrator clone for you. I know a lot of talented coders who'd do it for a rather minimal salary (e.g. 40K/year plus health benefits) just for the chance to work on open-source full time.
But if I'm working on open-source in my spare time, for free, then I'm going to work on whatever I feel like, thank you.
This is the first time that any Anime has won an Oscar - and it was up against "Ice Age", a CG wonder, and two Disney films, "Treasure Planet" and "Lilo and Stitch".
Was I the old one who thought that Ice Age sucked? The plot was really dumb, and the CG didn't break any new ground. Lilo and Stitch was fine, but Spirited Away was much, much better.
I honestly didn't expect that Hollywood would give it to Spirited Away, but I'm very glad they did.
Of course he got booed. Michael Moore is to liberals as Rush Limbaugh is to conservatives.
I'm liberal, and I'm critical of the war on Iraq, but I don't want Michael Moore to be my spokesperson. Sometimes I find him funny, but he's so over-the-top that it's impossible to take anything he says seriously.
There are some genuine reasons to be critical of President Bush and his international policies. As Thomas Jefferson said, "dissent is the highest form of patriotism".
But Michael Moore, as usual, is just name-calling.
Well, FFTW 3.0 beta has been released, and it includes Altivec support. I would be very surprised if this new FFTW wasn't extremely competitive with all the benchmarks presented on this page, if not better.
My company uses the 9/80 work week which occurs over a 2-week period as follows: employees work seven 9-hour days in a 2-week period, one 8-hour day and then receive one "free" day off every other week.
What a great deal, you're only working 71 hours every two weeks!
Actually I think you meant to say that you work EIGHT 9-hour days, one 8-hour day, and then one free day off. That adds up to 80 hrs every two weeks.
"Expert" users rarely make heavy use of menues - they use the keyboard.
Bullshit. Sure, I have all of the keyboard shortcuts for my favorite development IDE and web browser memorized, so I can do a lot of work without using the mouse. But being an expert user, I also make use of dozens of other programs that I'm half-familiar with, but don't use often enough to have all of the shortcuts memorized. So I use the mouse a lot. The Mac's single menu bar really is easier to use in this case.
Ever wonder why some universities have money to build new sports stadiums and swimming pools, but no money to fix a broken dining hall? Or why a liberal-arts school might have a brand-new Science building while the library is about to crumble?
One reason is that too many donors are only willing to give money with strings attached. You want to build a Science building, so you ask the Keck or Broad foundation to give you money. No problem. You need to raise an extra 100K here, another 100K there for general maintenance and repair, and nobody wants to give.
If you're in the position to donate a significant amount of money to a university, please consider giving it with no strings attached. I understand that sometimes it's nice to have your name on a building, but don't forget about all of the programs that get neglected because all of the school's money is already earmarked for other projects.
Audacity on Linux (well, the 1.0 series) is only good if you don't need full duplex recording. Which means you cannot do any multitrack recording with it. It shows promise, but it has a long way to go.
Version 1.0 is based on a codebase nearly 18 months out of date. Try the latest code from CVS, you'll be pleasantly surprised. Full duplex on virtually all platforms, floating-point samples, real-time resampling, and lots more. We're hoping to release version 1.2 in a few short months.
Too bad it doesn't seem to be jack [sourceforge.net]-aware yet. Though that should change with the new portaudio [portaudio.org] version, which already has the beginnings of a jack-output.
Yes, Jack support is definitely coming, as soon as PortAudio v19 is finished.
The test: two groups of programmers are given a convoluted mathematical problem and are tasked to write a program that solves it. One group works in silence. The other gets tunes to listen to.
The trick: the problem is actually an identity function; the output is just the input.
The results:Nearly everyone wrote a working program. But more people in the silence group discovered it was an identity function and came threw with a one-liner.
That's consistent with my experience. When I'm trying to solve a tricky problem, I need absolute silence. But that only accounts for 10% of what I do. I can write a parser, fix compile errors, hunt through documentation to find an API function definition, etc. while listening to music. The trick is knowing when to turn the music off and concentrate.
Here's a concrete example: when our NFS file server is rebooted while I have an NFS directory in use on my client, I get a "stale NFS file handle" message on Linux. I can't get rid of it without rebooting. On Solaris, I can just cd back into the directory and keep working.
I'm skeptical, but it seems to me as if they've made it easy to test the accuracy of their claims. All we need is for one person to subscribe to their service, record all of their predictions for a few weeks, then compare it to public earthquake data from USGS.
Be sure to check that they don't change any of their data after the fact - i.e. that their archive of past forecasts really does match what they predicted. Also, make sure that the "updates" they make to each forecast aren't too dramatic - if the forecast says that there'll be an earthquake here in one week, but tomorrow the forecast says it will actually be 300 miles away from here, then it's a lot less useful as a resource.
Reading through their site, they certainly don't show many of the typical warning signs of a scam. Sure, it would be nice if they published their methodology, but it doesn't really matter. We can test the accuracy of their system as a "black box" without their cooperation, simply by comparing their forecasts to reality.
That said, here are my main concerns:
1. They claim 90% accuracy of earthquakes magnitude 6.5 and higher. Their sample period is three years - how many 6.5+ earthquakes have there been since 2000? Also, does this mean that of all earthquakes that did happen, they predicted them with 90% accuracy, or that of the earthquakes they forecast, they were 90% accurate? With the latter interpretation, they wouldn't be penalized for earthquakes they didn't forecast at all.
2. They give themselves a near-perfect score if they underestimate the magnitude of an earthquake. Is this reasonable? Should they get credit for forecasting a 2.5-3.5 earthquake if a 5.5 hits? Or a 7.5?
3. After the first time they forecast an event (up to a year in advance!) they update their prediction daily. After the predicted time window has passed, do they score themselves based on the most recent prediction, or based on the first prediction? One could imagine that their methodology really does work - but only two days in advance. To make it seem like they can predict much farther in advance, they just make up random predictions and update them daily, changing the closest random prediction two days before a "real" prediction says an event will occur.
Yeah you're right I didn't account for MMX and SSE.
However there is little comparison.
Alti-Vec # 32 separate Registers # 128 bits per register # No interference with FP registers # no context or mode switching # max throughput: 8 Flops / cycle
MMX/SSE # 8 MMX registers shared with the FPU, 8 for SSE # 64 bits per mmx register, 128 bits per xmm register # MMX stalls the FP registers # context switching required for MMX # max throughput: 2 Flops / cycle
When you are playing a 3D game do you really want your FPU stalled for vector calculations?
To be fair, you could program your 3D game to do all FPU calculations in SSE. gcc has an option to do this automatically now. And SSE2 is one step ahead of AltiVec in one regard - it supports a few double-precision operations.
But aside from those two nitpicks, I agree completely. I've hand-optimized code for both Pentium/SSE and G4/AltiVec and there's no comparison: SSE provides a small performance boost for a lot of work, while AltiVec provides a large performance boost for a little bit of work. AltiVec has very fancy shift, rotate, and shuffle instructions that are completely lacking in SSE. These are useful for more than just RC5 - they're totally necessary to vectorize many more complicated algorithms without the overhead of putting the data in the right place eating up any potential speed gains.
That's why the 970 in a Mac will easily beat the P4 in a number of tests: Apple has optimized hundreds of system calls to use AltiVec already, so many programs get the speed gain automatically.
I don't know all the much but their iBook comparison is off... I think they have Powerbook and iBook specs combined into one notebook... the iBook has a G3 chip not a G4 and I don't think it has PCMCIA slots either...
Actually it's just mislabeled. The specs there match the 12" PowerBook perfectly.
The equivalent specs for an iBook would be:
Lindows Mobile PC iBook
CPU 933 MHz VIA C3 700 MHz G3
Memory 256 MB 128 MB
HDD 20 GB 20 GB
Weight 2.9 lbs 4.9 lbs
CD External Internal
Screen 12.1 TFT 12.1 TFT
Res 1024x768 1024x768
USB 2 2
1394 1 1
Flash Y N
LAN Y Y
Modem Optional Y
PCMCIA Y N
Price 799 999
Of course, the iBook comes with an ATI Radeon 7500 with 16 MB of video RAM. The Lindows PC probably has a cheapo video card with no 3D acceleration.
It also has built-in speakers, a microphone jack, VGA video out, S-Video out,
If anyone knows how to get this past Slashdot's "junk" filter, please repost this comment!!!
While I'm a big fan of Qt, I'm also a fan of wxWindows, and I'd like to point out that wxWindows does all of the things you mentioned.
Qt is simply the single best designed piece of software I have -ever- seen. While it sets out for a huge task, being a completely self-sufficient C++ framework, a multiplatform one at that (and it can indeed easily replace the entire MFC), the class hierarchy [trolltech.com] is extremely clean, and it's very easy to get the hang of it. Actually, the entire documentation [trolltech.com] is absolutely excellent, clear and very well cross-referenced. I've never stayed stuck while looking for some info in there (quite unlike the MSDN documentation!). Go take a peek, someday.
The wxWindows documentation is online here. Go take a peek - it's remarkably complete and detailed.
One of the nice things with Qt is, if you need to do some basic task, Qt makes it trivial. Reading a file line by line is an example I was confronted to just today: using the MFC's idea of files, it's tedious at best -- gotta do the nitty gritty job manually. Wasted time. Using Qt, it's, well, trivial [trolltech.com].
wxWindows provides a few ways of doing this: you can either use a wxTextFile or a wxTextInputStream. Both give you a ReadLine method or equivalent.
The other thing about Qt is, if you need to do something complex, Qt makes it very straightforward. For instance, yesterday, our VB programmer was trying to make a custom widget that lets you stack frames vertically, each under its own tab, and showing only one at a time. After hours of work, he got to work a simple version of it that couldn't resize, among other shortcomings. Well, it took me much less time to rapidly put together the same thing in Qt, only it worked right away without those shortcomings, could accept any kind of subwidget, and, oh, of course, could resize at will and would work right away on any platform. Keep in mind that this guy is very experienced with his tools, while I'm a relative beginner with Qt.
Also easy with wxWindows. Their Sizer classes are by far the best method I've ever seen for laying out automatically resizable dialogs.
There are countless useful features in Qt. For instance, it doesn't duplicate data when duplication is not either required or specifically requested by the programmer. Copy a QString or a QPixmap ten times, and Qt will keep only one copy of the data in memory for all the instances. Modify one of the ten instances, and Qt will then replicate its data to modify it without touching the nine other instances.
wxWindows also reference-counts strings, bitmaps, and many other common data types.
And those guys actually license their boon of a tool under the GPL. That's almost too good to be true.
Unless you want the Windows version - that costs an arm and a leg. wxWindows is GPL for all platforms (and it currently supports more platforms than Qt).
Anyway, enough rambling. If you're a programmer, do yourself a favor, and check out Qt. Even if you don't end up using it, you will likely learn quite a lot about how powerful object orientation can be when used by people who know what they are doing.
Agreed. Check out both, though. Honestly, if I had a large budget to create a commercial cross-platform application, there's a good chance I'd choose Qt. But wxWindows has its advantages. For a free cross-platform software project, there's no contest: wxWindows is free on all platforms, with a very comparable feature set.
Does the dialog box also send a report to the relevant "bad-designer" party?
It appears to me that this method only addresses the symptoms.
What do you think carries more weight? Occasional random email complaints from Mac users, or a phone call from an Apple developer on behalf of 15,000 Mac users that reported the bug, along with detailed information on how it could be fixed?
The websites he visits are all optimized for Windows
This is going to change fast, thanks to Safari. Whenever a page looks incorrect or doesn't function in Safari, click the little bug icon in the upper-right corner, and it pops up a dialog where you can send feedback directly to Apple's Safari team. It can optionally include a screenshot of the page.
Trust me, if enough people report problems with the same site, Apple WILL figure out a way to fix it. Safari has already improved dramatically in the beta version from last month to the one released this week.
Anyway, I too have been frustrated by web pages that are optimized for Windows, but thanks to Safari, and also thanks to standards-compliant browsers like Mozilla/Netscape 7, things are finally starting to change.
If you're "big," 1,000 bucks a day for the studio's about average, not including engineers/producer/etc. Plan for 3 or 4 months in the studio. The first Sabbath album was recorded in a day; Metallica's Black Album took ~8 months.
Maybe it's just because I'm a jazz musician, but I don't understand how people can spend 3 months in the studio! Doesn't it make more sense to write your songs first, rehearse them, and then go to the studio and record each one in 3-4 takes, max? Go ahead and spend a couple of days getting the equipment set up, but that still doesn't come anywhere close to months!
Do people actually try to write new songs in the studio? Do they spend weeks teaching cute teenage boys and girls how to play four chords on a guitar so that the band appeals to the target demographic? Any they honestly wonder why they never make any money...
I can only assume that they're recording dozens of takes of each track. Maybe if they hired more talented musicians to begin with, they'd be able to get it right the first time.
If there is a serious answer to my question (what do bands DO for 3 months), please respond...I'm curious...
A high quality (ie expensive) studio with high quality engineers and high quality software and equipment can make a decent singer sound good, and a good singer sound great. That's where a big chunk of that change is going.
Am I the only one who's sick and tired of decent and good singers? There are thousands of great singers out there, and I'd rather hear them.
Somehow the record producers decided that if you take slightly-above-average talent, and throw lots of money into postproduction and marketing, you can make more money than if you just record the best talent to begin with.
I'm all in favor of Internationalization, but I don't see how this applies to Slashdot. Slashdot is an English website, for discussion among English-speaking people - so it makes sense that they would filter out other languages, since 99% of the time it wouldn't be legitimate.
Besides, there are Slashcode-based sites in many other languages.
They should declare a default character set, though. I think ISO-8859-1 would be a better choice, since that's what most people posting comments would be using.
Use SDL if you want to create a cross-platform game, or movie player. For everything else that has a GUI, use wxWindows or one of the toolkits mentioned above.
As an avid wx user (and casual contributor) for three years, let me say that wx is remarkably bug-free for a library that size. I use wx daily, both at work (designing GUIs for scientists at JPL) and on the side (Audacity) and I haven't seen a wx memory leak in a year. Nor have I seen a crash: the worst problems I've seen recently are occasional cosmetic errors that are easy to work around (i.e. a window redraws itself unnecessarily when you modify a certain attribute).
As for wxWindows (which others have suggested), I tried it some time ago and I think it truly sucked. Hopefully it has improved since then:-)
How long ago did you try wxWindows? If it was before 2.0, I can forgive you, but especially since version 2.2, wxWindows completely rocks.
wxWindows provides native widgets on more platforms than any other toolkit (Windows, Mac OS 9, Mac OS X, Unix/GTK, plus wxUniversal which gives you themable widgets based on extremely low-level interfaces such as pure X11 or a PDA's framebuffer).
It's closely modeled after the most widely-used GUI toolkit in existence (MFC) yet it deviates from the MFC model when necessary to make it more consistent, more flexible, or easier to use. What this means is that it's reasonably easy for anyone to pick up, but doubly easy for anyone who's used another modern C++ GUI toolkit like MFC, PowerPlant, or Qt.
wxWindows has more utility classes than just about any other toolkit I've seen, too: check out their list of classes. One thing I love about wxWindows is that it goes beyond the least common denominator, and in fact makes it easy to take advantage of platform-specific features when you want to: for example setting the X Display of a window you pop up in X11, changing the Taskbar icon of a window in Windows, or setting the type/creator of a file on the Mac. Oh yes, and it has a perfectly decent OpenGL widget, too.
wxWindows is also not limited to C++ - it works well from Python, too...
Finally, the wxWindows developer and user communities are very helpful.
Remember that's not the way open source works and is actually a huge stereotype. People work on what interests them and just because they work on project doesn't mean they'd be interested in working on another project even if it were similar. Open Source developers are not just one big pool of resources that can be pushed around where popular opinion thinks they should go.
Good point, unless you want to pay me. If you want to pay me, I'd be happy to hack on OO or a Freehand/Illustrator clone for you. I know a lot of talented coders who'd do it for a rather minimal salary (e.g. 40K/year plus health benefits) just for the chance to work on open-source full time.
But if I'm working on open-source in my spare time, for free, then I'm going to work on whatever I feel like, thank you.
This is the first time that any Anime has won an Oscar - and it was up against "Ice Age", a CG wonder, and two Disney films, "Treasure Planet" and "Lilo and Stitch".
Was I the old one who thought that Ice Age sucked? The plot was really dumb, and the CG didn't break any new ground. Lilo and Stitch was fine, but Spirited Away was much, much better.
I honestly didn't expect that Hollywood would give it to Spirited Away, but I'm very glad they did.
Of course he got booed. Michael Moore is to liberals as Rush Limbaugh is to conservatives.
I'm liberal, and I'm critical of the war on Iraq, but I don't want Michael Moore to be my spokesperson. Sometimes I find him funny, but he's so over-the-top that it's impossible to take anything he says seriously.
There are some genuine reasons to be critical of President Bush and his international policies. As Thomas Jefferson said, "dissent is the highest form of patriotism".
But Michael Moore, as usual, is just name-calling.
Well, FFTW 3.0 beta has been released, and it includes Altivec support. I would be very surprised if this new FFTW wasn't extremely competitive with all the benchmarks presented on this page, if not better.
Anyone want to add it to the benchmark?
My company uses the 9/80 work week which occurs over a 2-week period as follows: employees work seven 9-hour days in a 2-week period, one 8-hour day and then receive one "free" day off every other week.
What a great deal, you're only working 71 hours every two weeks!
Actually I think you meant to say that you work EIGHT 9-hour days, one 8-hour day, and then one free day off. That adds up to 80 hrs every two weeks.
"Expert" users rarely make heavy use of menues - they use the keyboard.
Bullshit. Sure, I have all of the keyboard shortcuts for my favorite development IDE and web browser memorized, so I can do a lot of work without using the mouse. But being an expert user, I also make use of dozens of other programs that I'm half-familiar with, but don't use often enough to have all of the shortcuts memorized. So I use the mouse a lot. The Mac's single menu bar really is easier to use in this case.
Ever wonder why some universities have money to build new sports stadiums and swimming pools, but no money to fix a broken dining hall? Or why a liberal-arts school might have a brand-new Science building while the library is about to crumble?
One reason is that too many donors are only willing to give money with strings attached. You want to build a Science building, so you ask the Keck or Broad foundation to give you money. No problem. You need to raise an extra 100K here, another 100K there for general maintenance and repair, and nobody wants to give.
If you're in the position to donate a significant amount of money to a university, please consider giving it with no strings attached. I understand that sometimes it's nice to have your name on a building, but don't forget about all of the programs that get neglected because all of the school's money is already earmarked for other projects.
Audacity on Linux (well, the 1.0 series) is only good if you don't need full duplex recording. Which means you cannot do any multitrack recording with it. It shows promise, but it has a long way to go.
Version 1.0 is based on a codebase nearly 18 months out of date. Try the latest code from CVS, you'll be pleasantly surprised. Full duplex on virtually all platforms, floating-point samples, real-time resampling, and lots more. We're hoping to release version 1.2 in a few short months.
- Dominic [Audacity developer]
Too bad it doesn't seem to be jack [sourceforge.net]-aware yet. Though that should change with the new portaudio [portaudio.org] version, which already has the beginnings of a jack-output.
Yes, Jack support is definitely coming, as soon as PortAudio v19 is finished.
- Dominic [Audacity developer]
The test: two groups of programmers are given a convoluted mathematical problem and are tasked to write a program that solves it. One group works in silence. The other gets tunes to listen to.
The trick: the problem is actually an identity function; the output is just the input.
The results:Nearly everyone wrote a working program. But more people in the silence group discovered it was an identity function and came threw with a one-liner.
That's consistent with my experience. When I'm trying to solve a tricky problem, I need absolute silence. But that only accounts for 10% of what I do. I can write a parser, fix compile errors, hunt through documentation to find an API function definition, etc. while listening to music. The trick is knowing when to turn the music off and concentrate.
Oh yes, pirates harm Microsoft so much that they only have a 30% profit margin.
You're thinking of Apple. Microsoft has an 80 percent profit margin on products like Windows and Office.
Here's a concrete example: when our NFS file server is rebooted while I have an NFS directory in use on my client, I get a "stale NFS file handle" message on Linux. I can't get rid of it without rebooting. On Solaris, I can just cd back into the directory and keep working.
I'm skeptical, but it seems to me as if they've made it easy to test the accuracy of their claims. All we need is for one person to subscribe to their service, record all of their predictions for a few weeks, then compare it to public earthquake data from USGS.
Be sure to check that they don't change any of their data after the fact - i.e. that their archive of past forecasts really does match what they predicted. Also, make sure that the "updates" they make to each forecast aren't too dramatic - if the forecast says that there'll be an earthquake here in one week, but tomorrow the forecast says it will actually be 300 miles away from here, then it's a lot less useful as a resource.
Reading through their site, they certainly don't show many of the typical warning signs of a scam. Sure, it would be nice if they published their methodology, but it doesn't really matter. We can test the accuracy of their system as a "black box" without their cooperation, simply by comparing their forecasts to reality.
That said, here are my main concerns:
1. They claim 90% accuracy of earthquakes magnitude 6.5 and higher. Their sample period is three years - how many 6.5+ earthquakes have there been since 2000? Also, does this mean that of all earthquakes that did happen, they predicted them with 90% accuracy, or that of the earthquakes they forecast, they were 90% accurate? With the latter interpretation, they wouldn't be penalized for earthquakes they didn't forecast at all.
2. They give themselves a near-perfect score if they underestimate the magnitude of an earthquake. Is this reasonable? Should they get credit for forecasting a 2.5-3.5 earthquake if a 5.5 hits? Or a 7.5?
3. After the first time they forecast an event (up to a year in advance!) they update their prediction daily. After the predicted time window has passed, do they score themselves based on the most recent prediction, or based on the first prediction? One could imagine that their methodology really does work - but only two days in advance. To make it seem like they can predict much farther in advance, they just make up random predictions and update them daily, changing the closest random prediction two days before a "real" prediction says an event will occur.
Yeah you're right I didn't account for MMX and SSE.
However there is little comparison.
Alti-Vec
# 32 separate Registers
# 128 bits per register
# No interference with FP registers
# no context or mode switching
# max throughput: 8 Flops / cycle
MMX/SSE
# 8 MMX registers shared with the FPU, 8 for SSE
# 64 bits per mmx register, 128 bits per xmm register
# MMX stalls the FP registers
# context switching required for MMX
# max throughput: 2 Flops / cycle
When you are playing a 3D game do you really want your FPU stalled for vector calculations?
To be fair, you could program your 3D game to do all FPU calculations in SSE. gcc has an option to do this automatically now. And SSE2 is one step ahead of AltiVec in one regard - it supports a few double-precision operations.
But aside from those two nitpicks, I agree completely. I've hand-optimized code for both Pentium/SSE and G4/AltiVec and there's no comparison: SSE provides a small performance boost for a lot of work, while AltiVec provides a large performance boost for a little bit of work. AltiVec has very fancy shift, rotate, and shuffle instructions that are completely lacking in SSE. These are useful for more than just RC5 - they're totally necessary to vectorize many more complicated algorithms without the overhead of putting the data in the right place eating up any potential speed gains.
That's why the 970 in a Mac will easily beat the P4 in a number of tests: Apple has optimized hundreds of system calls to use AltiVec already, so many programs get the speed gain automatically.
Actually it's just mislabeled. The specs there match the 12" PowerBook perfectly.
The equivalent specs for an iBook would be:
Lindows Mobile PC iBook
CPU 933 MHz VIA C3 700 MHz G3
Memory 256 MB 128 MB
HDD 20 GB 20 GB
Weight 2.9 lbs 4.9 lbs
CD External Internal
Screen 12.1 TFT 12.1 TFT
Res 1024x768 1024x768
USB 2 2
1394 1 1
Flash Y N
LAN Y Y
Modem Optional Y
PCMCIA Y N
Price 799 999
Of course, the iBook comes with an ATI Radeon 7500 with 16 MB of video RAM. The Lindows PC probably has a cheapo video card with no 3D acceleration. It also has built-in speakers, a microphone jack, VGA video out, S-Video out,
If anyone knows how to get this past Slashdot's "junk" filter, please repost this comment!!!
While I'm a big fan of Qt, I'm also a fan of wxWindows, and I'd like to point out that wxWindows does all of the things you mentioned.
Qt is simply the single best designed piece of software I have -ever- seen. While it sets out for a huge task, being a completely self-sufficient C++ framework, a multiplatform one at that (and it can indeed easily replace the entire MFC), the class hierarchy [trolltech.com] is extremely clean, and it's very easy to get the hang of it. Actually, the entire documentation [trolltech.com] is absolutely excellent, clear and very well cross-referenced. I've never stayed stuck while looking for some info in there (quite unlike the MSDN documentation!). Go take a peek, someday.
The wxWindows documentation is online here. Go take a peek - it's remarkably complete and detailed.
One of the nice things with Qt is, if you need to do some basic task, Qt makes it trivial. Reading a file line by line is an example I was confronted to just today: using the MFC's idea of files, it's tedious at best -- gotta do the nitty gritty job manually. Wasted time. Using Qt, it's, well, trivial [trolltech.com].
wxWindows provides a few ways of doing this:
you can either use a wxTextFile or a wxTextInputStream.
Both give you a ReadLine method or equivalent.
The other thing about Qt is, if you need to do something complex, Qt makes it very straightforward. For instance, yesterday, our VB programmer was trying to make a custom widget that lets you stack frames vertically, each under its own tab, and showing only one at a time. After hours of work, he got to work a simple version of it that couldn't resize, among other shortcomings. Well, it took me much less time to rapidly put together the same thing in Qt, only it worked right away without those shortcomings, could accept any kind of subwidget, and, oh, of course, could resize at will and would work right away on any platform. Keep in mind that this guy is very experienced with his tools, while I'm a relative beginner with Qt.
Also easy with wxWindows. Their Sizer classes are by far the best method I've ever seen for laying out automatically resizable dialogs.
There are countless useful features in Qt. For instance, it doesn't duplicate data when duplication is not either required or specifically requested by the programmer. Copy a QString or a QPixmap ten times, and Qt will keep only one copy of the data in memory for all the instances. Modify one of the ten instances, and Qt will then replicate its data to modify it without touching the nine other instances.
wxWindows also reference-counts strings, bitmaps, and many other common data types.
And those guys actually license their boon of a tool under the GPL. That's almost too good to be true.
Unless you want the Windows version - that costs an arm and a leg. wxWindows is GPL for all platforms (and it currently supports more platforms than Qt).
Anyway, enough rambling. If you're a programmer, do yourself a favor, and check out Qt. Even if you don't end up using it, you will likely learn quite a lot about how powerful object orientation can be when used by people who know what they are doing.
Agreed. Check out both, though. Honestly, if I had a large budget to create a commercial cross-platform application, there's a good chance I'd choose Qt. But wxWindows has its advantages. For a free cross-platform software project, there's no contest: wxWindows is free on all platforms, with a very comparable feature set.
Does the dialog box also send a report to the relevant "bad-designer" party?
It appears to me that this method only addresses the symptoms.
What do you think carries more weight? Occasional random email complaints from Mac users, or a phone call from an Apple developer on behalf of 15,000 Mac users that reported the bug, along with detailed information on how it could be fixed?
The websites he visits are all optimized for Windows
This is going to change fast, thanks to Safari. Whenever a page looks incorrect or doesn't function in Safari, click the little bug icon in the upper-right corner, and it pops up a dialog where you can send feedback directly to Apple's Safari team. It can optionally include a screenshot of the page.
Trust me, if enough people report problems with the same site, Apple WILL figure out a way to fix it. Safari has already improved dramatically in the beta version from last month to the one released this week.
Anyway, I too have been frustrated by web pages that are optimized for Windows, but thanks to Safari, and also thanks to standards-compliant browsers like Mozilla/Netscape 7, things are finally starting to change.
If you're "big," 1,000 bucks a day for the studio's about average, not including engineers/producer/etc. Plan for 3 or 4 months in the studio. The first Sabbath album was recorded in a day; Metallica's Black Album took ~8 months.
Maybe it's just because I'm a jazz musician, but I don't understand how people can spend 3 months in the studio! Doesn't it make more sense to write your songs first, rehearse them, and then go to the studio and record each one in 3-4 takes, max? Go ahead and spend a couple of days getting the equipment set up, but that still doesn't come anywhere close to months!
Do people actually try to write new songs in the studio? Do they spend weeks teaching cute teenage boys and girls how to play four chords on a guitar so that the band appeals to the target demographic? Any they honestly wonder why they never make any money...
I can only assume that they're recording dozens of takes of each track. Maybe if they hired more talented musicians to begin with, they'd be able to get it right the first time.
If there is a serious answer to my question (what do bands DO for 3 months), please respond...I'm curious...
A high quality (ie expensive) studio with high quality engineers and high quality software and equipment can make a decent singer sound good, and a good singer sound great. That's where a big chunk of that change is going.
Am I the only one who's sick and tired of decent and good singers? There are thousands of great singers out there, and I'd rather hear them.
Somehow the record producers decided that if you take slightly-above-average talent, and throw lots of money into postproduction and marketing, you can make more money than if you just record the best talent to begin with.
I'm all in favor of Internationalization, but I don't see how this applies to Slashdot. Slashdot is an English website, for discussion among English-speaking people - so it makes sense that they would filter out other languages, since 99% of the time it wouldn't be legitimate.
Besides, there are Slashcode-based sites in many other languages.
They should declare a default character set, though. I think ISO-8859-1 would be a better choice, since that's what most people posting comments would be using.
Anyone figure out how to get OpenOffice.org 1.0.1 to run? It keeps trying to start up XDarwin...
SDL is great, but it's not a GUI toolkit.
Use SDL if you want to create a cross-platform game, or movie player. For everything else that has a GUI, use wxWindows or one of the toolkits mentioned above.
Hi, Vadim.
As an avid wx user (and casual contributor) for three years, let me say that wx is remarkably bug-free for a library that size. I use wx daily, both at work (designing GUIs for scientists at JPL) and on the side (Audacity) and I haven't seen a wx memory leak in a year. Nor have I seen a crash: the worst problems I've seen recently are occasional cosmetic errors that are easy to work around (i.e. a window redraws itself unnecessarily when you modify a certain attribute).
As for wxWindows (which others have suggested), I tried it some time ago and I think it truly sucked. Hopefully it has improved since then :-)
How long ago did you try wxWindows? If it was before 2.0, I can forgive you, but especially since version 2.2, wxWindows completely rocks.
wxWindows provides native widgets on more platforms than any other toolkit (Windows, Mac OS 9, Mac OS X, Unix/GTK, plus wxUniversal which gives you themable widgets based on extremely low-level interfaces such as pure X11 or a PDA's framebuffer).
It's closely modeled after the most widely-used GUI toolkit in existence (MFC) yet it deviates from the MFC model when necessary to make it more consistent, more flexible, or easier to use. What this means is that it's reasonably easy for anyone to pick up, but doubly easy for anyone who's used another modern C++ GUI toolkit like MFC, PowerPlant, or Qt.
wxWindows has more utility classes than just about any other toolkit I've seen, too: check out their list of classes. One thing I love about wxWindows is that it goes beyond the least common denominator, and in fact makes it easy to take advantage of platform-specific features when you want to: for example setting the X Display of a window you pop up in X11, changing the Taskbar icon of a window in Windows, or setting the type/creator of a file on the Mac. Oh yes, and it has a perfectly decent OpenGL widget, too.
wxWindows is also not limited to C++ - it works well from Python, too...
Finally, the wxWindows developer and user communities are very helpful.