> GIMP, quite unfortunately, is nowhere close to Photoshop on the "pro" end, > esp. dealing with high color depths (>24 bpp), CMYK, etc, etc. It has also > less color management and other important tools and filters.
Yes - but:
1) The original request was specifically *NOT* about professionals.
2) If you need high precision colours - then use 'FilmGIMP'
which is good enough to have been used on a number of
big-name movies for video compositing. Most people don't need
that.
> I find GIMP extremely annoying in too many situations.
Well, that's probable just a case of 'Second Editor Syndrome' - where the first thing you learned (presumably Photoshop in your case) always sets your expectations - making the second thing seem much worse - even though in fact it's only "different".
Whilst I have a great deal of sympathy for Stallmans position, I have to say that he's just too late.
Just as all brands of flavored gelatin are 'Jello' (at least here in the US), all little plastic bricks are "Legos" (even though they aren't all made by Lego Inc and the correct name is "Lego" without the 's')...and in Britain, all vacuum cleaners are "Hoovers" and what you do when you clean your carpet is "Hoovering" - even if you are using a vacuum cleaner made by some other company to do it.
Language is a meme - and it evolves for maximum utility and not to meet the desires of individuals, marketeers or politicians. Once a word gets into the language, you can't do ANYTHING to change it. Remember people fought tooth and nail to retain the original meaning of "Gay"? God knows I've tried to preserve the word "Hacker" for its prestigious earlier purpose - and in that case there isn't a single alternative word that comes even *close* to the original term.
I can't think of a single case when the popular use of a word has been changed by begging, pleading, campaigning, legal action or repeatedly hitting people over the head with clue sticks.
The French government regularly institute LAWS to require people to use French words rather than import English words...it makes ZERO practical difference to people in the street. Once "Parking" made it into the language, "Stationnment au cote de la rue" (or whatever the heck it is) just didn't get used any more.
So, whilst I wish with all my heart that GNU was in that name somewhere, I'll still go on calling it just plain "Linux" - just like every single one of the people I talk to about it on a regular basis. The word "Linux" no longer means "The Kernel written by Linus" - it now *means* "All that GNU stuff - and a kernel written by Linux". I just can't even *think* of it as meaning 'just the kernel' anymore.
Stallman should console himself by knowing that 'GNU' is immortalised in *plenty* of other places (The "GNU Public License" for example) and anyone who is ever likely to either know or care who built all this stuff ALREADY knows that it's "GNU stuff". He already has fame, credit and a large band of loyal worshippers. He's gotten his place in history and would do better to just quietly let it drop and not make quite such a public idiot of himself.
The Feynman Lectures on Physics - three large red-covered paperbacks - cost about $150 new - but can be found cheap in 2nd hand bookstores near any University campus!
For less intense reading - alternate chapters from these books with chapters from the many biographies of Feynman.
Feynman was an awesome physicist and a great educator - but in his spare time he was...well - just read the biographies!
I saw this Robot at SigGraph and spoke at some length with it's designer. I think it's a lot more cool (and *clever*) than it first seems.
It's not so much that it's invisible (*obviously* not) - it's just that he's slow moving and quiet and generally unobtrusive.
When you pay attention to him and pose, his camera makes an audible (and unnecessary) "CLICK" - but when he's just quietly rolling around capturing 'natural' photo's, his camera goes quiet.
He's all novelty to start with - so he gets a bunch of posed photo's - but soon people lose interest and get lost in conversation and/or alcohol & wedding cake - and then the robot's ability quietly roll around grabbing photo's comes into it's own.
It's software automatically frames pleasing photo's according to the usual 'golden ratio' rules. The version at SigGraph had a base station that would allow guests to view photo's and have them emailed to them.
I liked it - and I'd definitely invite it to my wedding.
If I had to find a criticism, it is that it's framing algorithm doesn't cope well with very short people - notably children. I'm sure that could easily be fixed.
THE PROBLEM WITH COMMERCIAL GAME PORTS (WITH A FEW NOTABLE EXCEPTIONS):
The problem with Loki was that their games releases lagged the release of the same game under Windoze by six months or more. Whilst the Loki version of the game was about the same price as the original ON THE DAY IT WAS RELEASED, by the time the Linux version was out at $40, the Windoze version was available at $19.99 or less.
Anyone with a dual-boot machine (pretty much a necessity for SERIOUS gamers who love Linux) would either buy the Windoze game as soon as it came out and not wait for Loki to catch up - or they'd wait - and be disappointed to find that the Loki version was so expensive.
Linux is still too small of a market for the big games companies to want to drain their valuable developer resources either co-developing the Linux version or having their programmers help out a third party with co-developing it. That means that we are doomed to seeing that six month lag.
Quake is an exception - the Linux versions of that series were done more as a hobby by the developers than as a viable business. They lost money on it.
THE PROBLEM WITH FREEWARE GAMES:
(...And I speak from bitter experience. I wrote 'Tux The Penguin: A Quest for Herring' and TuxKart).
It takes a team of programmers at least a couple of years to write a game that comes even remotely close to the quality of a MODERN commercial game...and that assumes that you can find OpenSource Artists and Musicians (which you can't - trust me).
That's OK - I could live with that - anything worth doing is worth the commitment. But these games have a 'shelf life' of just a couple of months and then there are no more downloads, your work is gradually forgotten. That's to be expected - most games are something you play for a few weeks and then you are looking for something different. Remember that only one in THIRTY commercial games ever sees a profit.
So you spend years of your life developing something - only to find that your rise to fame is extremely short-lived. That's not a very rewarding experience.
Also, the 'Bazaar' effect where lots of people come on board a working software project to make it better either doesn't happen - or is a waste of time because the game has fizzled in popularity before the effect can build up to a useful degree.
If you 'commit early' and release your game before it's fully polished then people play it once, decide that it's crap and never return to play it again.
It's just not like most other OpenSource development. If I had written another GIMP or an Apache or even some other small-but-useful application, my work would be used and appreciated by others for years to come. Other developers would improve upon it. I would feel that all the effort was worthwhile.
Games are a lot of fun to write though - that's what keeps me doing it.
DEPRESSING CONCLUSION.
I think there will be no significant numbers of good Linux games until there are perhaps ten times as many people using Linux as there are currently. At that point, there might be enough of a market for the mainstream games companies - or smaller startups - to make commercially viable Linux games.
Meanwhile, there are more than 50 versions of Tetris and over a dozen Bomberman clones - because those games can be written quickly and without the skills of a dozen great 3D artists.
Ah - you are assuming that I would like the no-adverts law to be a civil offense. No! I think *criminal* law should be involved. You see an advert, you call 911!:-)
We all pay for television because the cost of the products we buy includes a price for advertising that product. It follows that if there was no TV advertising, we'd save (on average) at least as much as it costs to produce those TV shows because all the products we'd buy would be proportionately cheaper.
Ideally, adverts would cease, products would get cheaper - but we'd have to pay to watch TV. A simple pay-per-view model with encryption would be simple to create when digital broadcasting becomes standard.
However, Joe Public wouldn't like that (because he's irrational and doesn't understand numbers) so we'd have pay for TV out of a sales tax raised on the kinds of products that used to be advertised. Since without adverts, products would be cheaper, raising the tax should have no economic effect on society as a whole.
We ought to be able to save money overall because the cost of filming the adverts is significant - and that's an expense that just doesn't occur in the new world. Of course without the adverts, we'd need more content-per-hour but you need that if you are advert-skipping with your PVR anyway.
Advertising is just a *huge* drain on everyone's resources - it should be illegal. Just *ban* in. The constitutional right to free speech in the USA should NEVER have been extended to companies - it should only apply to individuals.
If there was no advertising whatever in the world, we'd all be MUCH better off. No TV interruptions, no ugly freeway billboards, no SPAM, no cold callers, no popup ads. Cheaper goods, more broadcast bandwidth. Products would have to be sold on their true merits instead of their advertising budgets. Small companies could compete with the big guys on an equal footing once more. More choice, better quality.
You could still find out the best products that are out there (if you really NEED to know which is the better soap powder) using a model similar to online book stores where you have reviews of the product written by the general public. That gives you the TRUTH and it's genuinely an opt-in system. If I'm going to buy a car, I'd much rather read the reviews written by people who own the car than watch pictures of it driving along improbably twisty roads or splashing pointlessly through mud. As a male dog owner, I wouldn't even need to *know* about the existance of things like Cat Litter and Feminine Hygene products...Hooray!
You *might* still allow companies to have *strictly* opt-in advertising - like their own web sites extolling the virtues of their product - or opt-in email bulletins about new products that their customers might be interested in.
I'm not suprised at this - when you spend your effort optimising for output, dragging that final image back up to the input is kinda like running up a downward moving escalator...you *can* do it - but you probably shouldn't.
It seems to me that if you are rendering movies with this technology, you are either a small operation who can probably afford to wait (say) 10x longer than realtime to do it - or you are some big production house who can afford to do better.
In those cases, why not simply stick a frame-grabber onto the digital output?
Heck you can even get around the 8 bits-per-component problem by using a fragment shader to render the high order bits to red and the middle bits to green and the low order bits to blue - then do three passes to render the Red component of your image at 24 bits per pixel, then the green, then the blue.
Using the downstream performance to your advantage is the way to go.
The title of this article (which talks about "Texture Download" is most confusing because that's a term usually used to describe the process of taking a texture map out of the CPU and stuffing it into the graphics card's texture memory.
I bought my wife a antique diamond ring. As you suggest, there is very little resale value for second-hand diamonds - so they are cheap. On the other hand, *you* may look cheap if you arrive on bended knee with a modern second hand ring.
The answer is to seek out an antique ring - the Victorian ring I settled on was about the same price as a new, modern ring - but MUCH nicer than anything you could get off-the-shelf - probably fairly unique too.
It's pretty scandalous how the diamond industry has hyped these rather common rocks though. In a rational world we'd treasure more important things.
> Hm. Adding useful features to please the user *after* a monopoly is already > established. How much sense does that make?
Well, suppose you are a monopoly - and near-as-dammit 100% of computers have your software installed.
How do you stay in business when 100% of your customer base already owns what you are selling them?
1) You add features - make it easier to use - so people will pay to upgrade. 2) You ban people from using the software they own on their next computer
by writing things like WinXP that physically prevent that. 3) You stop people from installing the software they already own on their
next computer by preventing people like Dell from selling computers
without another copy of the OS on them.
Microsoft are doing all three of those things...Duh.
Windoze version N *does* have competition - but that competition is Windoze version N-1 and that's not helping the monopoly situation.
The most galling thing is that there is an extensive advert for the joys of The-DVD-That-Is-Prophesised on the 2 DVD set that is now. Aaarrggh!
I pre-ordered before the 4 DVD set was mentioned - but it's important that everyone who can wait for the delux edition so that the manufacturers realise the folly of their evil ways.
I'm very sceptical of the claim that FORTRAN is superior in speed to C/C++ on a modern CPU. The reason is that CPU's are optimised to suite the most prevelent programming languages. With the vast proportion of all recent software packages being written in C or C++, surely the Intel's and AMD's of this world are optimising their CPU's instruction sets to run C or C++ - and not something like FORTRAN.
In the 1980's, he wrote a lot about a language called SAASL - which is a varient of Lambda Calculus...obscure stuff to be sure.
He wrote his algorithms in a language of his own invention - for which a compiler did not exist and which is hard even to type because it uses a lot of non-ASCII characters.
If you know him for nothing else, Dijkstra's Semaphores (aka P and V operators) are a fundamental construct in pretty much any parallel processing environment. Many CPU's have Dijkstra's semephores implemented at the hardware level. It's hard to think of anyone else who has such a fundamental construct named after them. OK, maybe 'Booleans' and the long defunct "Hollerith String".
It's bad to think of Dijstra only in terms of *one* memorable thing he did...but since we're doing that anyway...
When I learned to program in the early '70s, our lecturer told us that if we used even *one* 'goto' in our work, we'd score zero for the entire assignment.
I've been programming for ~30 years now and never felt the slightest need to use one in a high level language since that day.
I strongly disagree about recursion though. Used properly, it's *very* readable:
(NOTE: You may be able to make it faster or more memory efficient without recursion though).
The art of reading and writing recursive programs is to try to forget that they are recursive.
I think to myself:
"In order to walk this tree, I walk the two child branches
- hmmm - I have a function to walk trees - I'll just use it
and assume it'll do what it's told."
The fact that the routine you are calling is also the routine you are currently writing just doesn't matter in most cases.
When I was just fresh out of college back in 1978, a collegue of mine who had been on Dijstras circulation list gave me a large stack of photocopied papers from Dijstra...all written in his own handwriting because he liked to invent his own symbols and found typewriters too limiting. I was working for Philips Research at the time - and I suppose Dijstra was working at Philip's "Math Center" in Eindhoven, Holland.
I've kept a whole boxful of his papers over the years - just because they are so fascinating to browse.
He invented his own programming language for expressing algorithms - but doesn't seem ever to have written a compiler for it. He refers to algorithms his mother came up with...almost every document has something interesting like that.
The notes are written in the most perfect handwriting you've ever seen.
They could have been printed - they are that precise. Then, one of them out of the blue seems to have been written in someone else's handwriting - it's just as amazingly neat though and when you get to the end of it, it says something like: Apologies for the poor handwriting in this note, but my left hand could use some practice.:-)
These cannot be stored as text files without losing most of their historical interest. Maybe I should spend an evening or two to scan them and put them online. There could be no more fitting tribute to the man.
> The problem I have with all of this, or virtually any solution is that > it's really easy to reproduce a bug. Once I hear how someone else did > it, I can do the same. So can everyone else who has that piece of software.
That happens with Cars too - when every car off the production line has some common design problem, they do a recall. Same here - when a problem is reported, you get out a patch and then, no more warranty claims.
> If they had to refund my money, then all my software would be free.
No because when you return something in order to get your money back, you give up your rights to the thing you returned.
*HOWEVER* if you buy a PC with Windoze included and you'd rather run Linux on it - then the smallest, teeny-tiniest flaw and you sent Windoze back for a refund....I like that!
If the limit of one's *LIABILITY* under the warranty was the cost of the software license - then we'd be OK.
* OpenSource Software authors charge $0 for their code,
so their liability is $0. There is a warranty - but it's
practical impact is zero.
* RedHat et al charge for the cost of putting free software
onto physical media - but the software is still free so
long as it can still be freely redistributed. So their
liability is only for the non-free parts of their distro.
That's also fine by me - it gives them an incentive to
keep their distro's squeaky-clean and freely distributable.
* Microsoft suffer horribly because whenever WORD crashes,
I can demand to be refunded the entire cost of the package.
They'd go bust *very* quickly - which is fine by me!
* Large software companies that produce reasonably reliable
code and charge reasonable amounts of money for it are
under great incentive to write code that (whilst it may
not be 100% bug-free) is sufficiently reliable that they
won't get significant numbers of warranty returns.
Good!
If the limit of liability is the cost of the *damage* done by bad software then it's not just the OpenSource world that'll be out of business - it would be hard to imagine *ANY* generic software such as operating systems, compilers, word processors surviving the barrage of law suits that would immediately result.
Bring it on I say!
Re:NOT XBA! Display accelerator for mobile devices
on
Bitboys Silicon Sighted
·
· Score: 2, Interesting
I don't understand. If this is targetted at crappy PDA and mobile phone displays, why does it need such insane resolution and bandwidth?
They should be concentrating on getting hardware Transform & Lighting running so as to relieve the relatively slow CPU's on those devices of transforming all of those polygons.
However, some of the photo's referenced in the original article definitely show some kind of hardware driving a PDA-resolution LCD, so I guess that truly is their target environment.
I hit this huge asteroidal boulder with a hammer - it cracked open and out crawled a 6 foot tall bug-eyed green monster with tentacles - the whole works "Take me you your leader" it said.
Well, I've never seen anything like it. I looked for other places that similar phenomenon might have occured. I looked and looked (and I'm quite adamant on this point), but I couldn't find such things anywhere except in life on earth. My first reaction was to assume that therefore this bug-eyed monster was evidence of life.
But then Mr Gardner kindly explained how I had been insufficiently sceptical and that this didn't constitute proof.
--ooOOoo--
There have to be limits to scepticism when the weight of evidence is sufficient. There are very few widely accepted scientific 'facts' that one could completely prove with mathematical rigor.
> The liberty to copy DVDs? You never had that liberty...
Yes, you did - it falls under 'fair use' provisions. This includes your rights to make a backup, your right to use small clips for the purposes of criticism or satire,...lots of reasons.
> I'm in favor of strong copy protection on media like DVDs and CDs.... > If some jerk hadn't decided to crack CSS...we probably wouldn't > have gotten a questionable piece of legislation like the DMCA.
You completely miss the point.
You can copy a DVD without DeCSS - it's just a bunch of files on a DVD-ROM. If you want to make an illegal copy that'll play on a DVD player then you certainly *don't* want to un-encrypt it!
However, if you have legally purchased an original DVD and you'd like to play it on your PC (running Linux say) - then you need to be able to decrypt it. That's what DeCSS is for - and when I use it this way, I wasn't breaking any laws....until DMCA came along.
DMCA made illegal the simple process of watching a DVD that I'd legally purchased and had absolutely zero effect on the ability of people to pirate DVD's. Even if it did have something to say about illegal copying of DVD's, it was a completely unnecessary law because that was ALREADY illegal.
> Now, I know, I just know, that somebody's gonna get up here and make a stink > about how they want to make "backup copies" of their CDs and DVDs.
No, I don't. I just want to play my DVD on my DVD drive without being forced into using a Microsoft operating system to do it.
> You know what? I don't have a "backup copy" of my car.
But when you buy a car, you *own* it...all of it.
When you "buy" a DVD, you bought the physical media (cost about 50cents) *and* the rights to use the information it contains (cost about $18) when the physical media craps out, why should I lose all the information on it?
I think the right to backup copyrighted media *is* valid - although I don't choose to do so myself.
I was writing a serial port driver for a 68000 CPU (it might have been a 68010 or an '020 - I forget) - it worked byte-by-byte - no special line-by-line reading. It echoed everything that came into the serial port directly to the output.
Trouble was, the first character on every line of keyboard input would get 'lost'...despite the fact that the application was reading one character at a time and the return key wasn't treated as anything special.
The dumb terminals of those days couldn't scroll an entire screenful of text at full baud rate - so you were advised to send a null byte after every linefeed to give the terminal an extra millisecond or so to do scrolling in case the cursor was on the last line of the screen.
My serial port output code (which seemed to work perfectly) said something like:
char *UART_data_port = SOME_HARDWARE_ADDRESS;
*UART_data_port = character;
if ( character == '\n' )
*UART_data_port = 0 ;/* Send a null byte */
The problem was that the compiler silently optimised the 'UART_data_port=0' to:
CLR UART_data_port...but the 68000 has a bizarre quirk in it's instruction set that when you clear a memory location, it *reads* that address first. Normally, it doesn't matter a damn that you read something when you needn't have... unless the location you are reading from is memory mapped hardware...like my UART.
Since the data port was memory-mapped and the same address was used for READING the serial port as for WRITING to it, whenever my code wrote a newline, the ensuing null byte would cause the CPU to read a character from the input stream and throw it away!
Argh! That was hard to find...the output code was in a separate module from the (suspected) input code - even when I looked at the compiler output, it looked OK - in the end I had to hang a logic analyser on the UART and the CPU address bus to find out where it was executing when the character was 'eaten'. Then reading the Motorola data book revealed the awful horror.
This was a problem with an Algol program I wrote on an ancient Singer mainframe when I was in college back in the mid 1970's. I don't remember enough Algol to write it out - but in C++ it would be something like:
void foo ( double &bar ) { bar = bar + 1.0 ; }...and then later...
foo ( 6.0 ) ;...and *much* later...
printf ( "%f", 6.0 );
Well, in C++, this is illegal because you can't take the address of a constant like 6.0 - but on this old mainframe, the Algol compiler optimised the use of storage by keeping one copy of each large constant that you used (like 6.0) in a table somewhere in memory. Being a crappy compiler, it didn't error-detect my little faux-pas.
Hence the value of the constant 'six' was invisibly changed to seven - everywhere in the program from the point where foo() was called onwards.
Of course this happened in a 3,000 line program that was much more complicated than the example above. Finding that problem was a *BITCH*. You just don't suspect things like simple numeric constants!
> GIMP, quite unfortunately, is nowhere close to Photoshop on the "pro" end,
> esp. dealing with high color depths (>24 bpp), CMYK, etc, etc. It has also
> less color management and other important tools and filters.
Yes - but:
1) The original request was specifically *NOT* about professionals.
2) If you need high precision colours - then use 'FilmGIMP'
which is good enough to have been used on a number of
big-name movies for video compositing. Most people don't need
that.
> I find GIMP extremely annoying in too many situations.
Well, that's probable just a case of 'Second Editor Syndrome' - where
the first thing you learned (presumably Photoshop in your case) always
sets your expectations - making the second thing seem much worse - even
though in fact it's only "different".
I learned GIMP first - QED.
Whilst I have a great deal of sympathy for Stallmans position, I have to say that he's just too late.
Just as all brands of flavored gelatin are 'Jello' (at least here in the US), all little plastic bricks are "Legos" (even though they aren't all made by Lego Inc and the correct name is "Lego" without the 's')...and in Britain, all vacuum cleaners are "Hoovers" and what you do when you clean your carpet is "Hoovering" - even if you are using a vacuum cleaner made by some other company to do it.
Language is a meme - and it evolves for maximum utility and not to meet the desires of individuals, marketeers or politicians. Once a word gets into the language, you can't do ANYTHING to change it. Remember people fought tooth and nail to retain the original meaning of "Gay"? God knows I've tried to preserve the word "Hacker" for its prestigious earlier purpose - and in that case there isn't a single alternative word that comes even *close* to the original term.
I can't think of a single case when the popular use of a word has been changed by begging, pleading, campaigning, legal action or repeatedly hitting people over the head with clue sticks.
The French government regularly institute LAWS to require people to use French words rather than import English words...it makes ZERO practical difference to people in the street. Once "Parking" made it into the language, "Stationnment au cote de la rue" (or whatever the heck it is) just didn't get used any more.
So, whilst I wish with all my heart that GNU was in that name somewhere, I'll still go on calling it just plain "Linux" - just like every single one of the people I talk to about it on a regular basis. The word "Linux" no longer
means "The Kernel written by Linus" - it now *means* "All that GNU stuff - and a kernel written by Linux". I just can't even *think* of it as meaning 'just the kernel' anymore.
Stallman should console himself by knowing that 'GNU' is immortalised in *plenty* of other places (The "GNU Public License" for example) and anyone who is ever likely to either know or care who built all this stuff ALREADY knows that it's "GNU stuff". He already has fame, credit and a large band of loyal worshippers. He's gotten his place in history and would do better to just quietly let it drop and not make quite such a public idiot of himself.
Gotta give 'em GIMP. Better than Photoshop - FREE!
The Feynman Lectures on Physics - three large red-covered
paperbacks - cost about $150 new - but can be found cheap
in 2nd hand bookstores near any University campus!
For less intense reading - alternate chapters from these books
with chapters from the many biographies of Feynman.
Feynman was an awesome physicist and a great educator - but
in his spare time he was...well - just read the biographies!
I saw this Robot at SigGraph and spoke at some length with
it's designer. I think it's a lot more cool (and *clever*)
than it first seems.
It's not so much that it's invisible (*obviously* not) - it's
just that he's slow moving and quiet and generally unobtrusive.
When you pay attention to him and pose, his camera makes an
audible (and unnecessary) "CLICK" - but when he's just quietly
rolling around capturing 'natural' photo's, his camera goes
quiet.
He's all novelty to start with - so he gets a bunch of
posed photo's - but soon people lose interest and get
lost in conversation and/or alcohol & wedding cake - and
then the robot's ability quietly roll around grabbing
photo's comes into it's own.
It's software automatically frames pleasing photo's
according to the usual 'golden ratio' rules. The version
at SigGraph had a base station that would allow guests
to view photo's and have them emailed to them.
I liked it - and I'd definitely invite it to my wedding.
If I had to find a criticism, it is that it's framing
algorithm doesn't cope well with very short people - notably
children. I'm sure that could easily be fixed.
THE PROBLEM WITH COMMERCIAL GAME PORTS (WITH A FEW NOTABLE EXCEPTIONS):
The problem with Loki was that their games releases lagged the release of the same game under Windoze by six months or more. Whilst the Loki version of the game was about the same price as the original ON THE DAY IT WAS RELEASED, by the time the Linux version was out at $40, the Windoze version was available at $19.99 or less.
Anyone with a dual-boot machine (pretty much a necessity for SERIOUS gamers who love Linux) would either buy the Windoze game as soon as it came out and not wait for Loki to catch up - or they'd wait - and be disappointed to find that the Loki version was so expensive.
Linux is still too small of a market for the big games companies to want to drain their valuable developer resources either co-developing the Linux version or having their programmers help out a third party with co-developing it. That means that we are doomed to seeing that six month lag.
Quake is an exception - the Linux versions of that series were done more as a hobby by the developers than as a viable business. They lost money on it.
THE PROBLEM WITH FREEWARE GAMES:
(...And I speak from bitter experience. I wrote 'Tux The Penguin: A Quest for Herring' and TuxKart).
It takes a team of programmers at least a couple of years to write a game that comes even remotely close to the quality of a MODERN commercial game...and that assumes that you can find OpenSource Artists and Musicians (which you can't - trust me).
That's OK - I could live with that - anything worth doing is worth the commitment. But these games have a 'shelf life' of just a couple of months
and then there are no more downloads, your work is gradually forgotten. That's to be expected - most games are something you play for a few weeks and then you are looking for something different. Remember that only one in THIRTY commercial games ever sees a profit.
So you spend years of your life developing something - only to find that your rise to fame is extremely short-lived. That's not a very rewarding experience.
Also, the 'Bazaar' effect where lots of people come on board a working software project to make it better either doesn't happen - or is a waste of time because the game has fizzled in popularity before the effect can build up to a useful degree.
If you 'commit early' and release your game before it's fully polished then people play it once, decide that it's crap and never return to play it again.
It's just not like most other OpenSource development. If I had written another GIMP or an Apache or even some other small-but-useful application, my work would be used and appreciated by others for years to come. Other developers would improve upon it. I would feel that all the effort was worthwhile.
Games are a lot of fun to write though - that's what keeps me doing it.
DEPRESSING CONCLUSION.
I think there will be no significant numbers of good Linux games until there are perhaps ten times as many people using Linux as there are currently. At that point, there might be enough of a market for the mainstream games companies - or smaller startups - to make commercially viable Linux games.
Meanwhile, there are more than 50 versions of Tetris and over a dozen Bomberman clones - because those games can be written quickly and without the skills of a dozen great 3D artists.
Ah - you are assuming that I would like the no-adverts law to be a civil offense. :-)
No! I think *criminal* law should be involved. You see an advert, you call 911!
We all pay for television because the cost of the products we buy includes a price for advertising that product. It follows that if there was no TV advertising, we'd save (on average) at least as much as it costs to produce those TV shows because all the products we'd buy would be proportionately cheaper.
Ideally, adverts would cease, products would get cheaper - but we'd have to pay to watch TV. A simple pay-per-view model with encryption would be simple to create when digital broadcasting becomes standard.
However, Joe Public wouldn't like that (because he's irrational and doesn't understand numbers) so we'd have pay for TV out of a sales tax raised on the kinds of products that used to be advertised. Since without adverts, products would be cheaper, raising the tax should have no economic effect on society as a whole.
We ought to be able to save money overall because the cost of filming the adverts is significant - and that's an expense that just doesn't occur in the new world. Of course without the adverts, we'd need more content-per-hour but you need that if you are advert-skipping with your PVR anyway.
Advertising is just a *huge* drain on everyone's resources - it should be illegal. Just *ban* in. The constitutional right to free speech in the USA should NEVER have been extended to companies - it should only apply to individuals.
If there was no advertising whatever in the world, we'd all be MUCH better off. No TV interruptions, no ugly freeway billboards, no SPAM, no cold callers, no popup ads. Cheaper goods, more broadcast bandwidth. Products would have to be sold on their true merits instead of their advertising budgets. Small companies could compete with the big guys on an equal footing once more. More choice, better quality.
You could still find out the best products that are out there (if you really NEED to know which is the better soap powder) using a model similar to online book stores where you have reviews of the product written by the general public. That gives you the TRUTH and it's genuinely an opt-in system. If I'm going to buy a car, I'd much rather read the reviews written by people who own the car than watch pictures of it driving along improbably twisty roads or splashing pointlessly through mud. As a male dog owner, I wouldn't even need to *know* about the existance of things like Cat Litter and Feminine Hygene products...Hooray!
You *might* still allow companies to have *strictly* opt-in advertising - like their own web sites extolling the virtues of their product - or opt-in email bulletins about new products that their customers might be interested in.
Death to All Advertising!
I'm not suprised at this - when you spend your effort optimising for
output, dragging that final image back up to the input is kinda like
running up a downward moving escalator...you *can* do it - but you
probably shouldn't.
It seems to me that if you are rendering movies with this technology,
you are either a small operation who can probably afford to wait (say)
10x longer than realtime to do it - or you are some big production house
who can afford to do better.
In those cases, why not simply stick a frame-grabber onto the digital output?
Heck you can even get around the 8 bits-per-component problem by using a
fragment shader to render the high order bits to red and the middle bits
to green and the low order bits to blue - then do three passes to render
the Red component of your image at 24 bits per pixel, then the green, then
the blue.
Using the downstream performance to your advantage is the way to go.
The title of this article (which talks about "Texture Download" is most
confusing because that's a term usually used to describe the process of
taking a texture map out of the CPU and stuffing it into the graphics
card's texture memory.
This is more like "Screen Dump Upload".
I bought my wife a antique diamond ring. As you suggest, there is
very little resale value for second-hand diamonds - so they are cheap.
On the other hand, *you* may look cheap if you arrive on bended knee
with a modern second hand ring.
The answer is to seek out an antique ring - the Victorian ring I settled
on was about the same price as a new, modern ring - but MUCH nicer than
anything you could get off-the-shelf - probably fairly unique too.
It's pretty scandalous how the diamond industry has hyped these rather
common rocks though. In a rational world we'd treasure more important
things.
> Hm. Adding useful features to please the user *after* a monopoly is already
> established. How much sense does that make?
Well, suppose you are a monopoly - and near-as-dammit 100% of computers have your
software installed.
How do you stay in business when 100% of your customer base already owns
what you are selling them?
1) You add features - make it easier to use - so people will pay to upgrade.
2) You ban people from using the software they own on their next computer
by writing things like WinXP that physically prevent that.
3) You stop people from installing the software they already own on their
next computer by preventing people like Dell from selling computers
without another copy of the OS on them.
Microsoft are doing all three of those things...Duh.
Windoze version N *does* have competition - but that competition is
Windoze version N-1 and that's not helping the monopoly situation.
The most galling thing is that there is an extensive advert for the joys of The-DVD-That-Is-Prophesised on the 2 DVD set that is now. Aaarrggh!
I pre-ordered before the 4 DVD set was mentioned - but it's important that everyone who can wait for the delux edition so that the manufacturers realise the folly of their evil ways.
I'm very sceptical of the claim that FORTRAN is superior in speed to C/C++ on a modern CPU. The reason is that CPU's are optimised to suite the most prevelent programming languages. With the vast proportion of all recent software packages being written in C or C++, surely the Intel's and AMD's of this world are optimising their CPU's instruction sets to run C or C++ - and not something like FORTRAN.
> Is there any language Dijkstra actually liked?
In the 1980's, he wrote a lot about a language called SAASL - which is a varient of Lambda Calculus...obscure stuff to be sure.
He wrote his algorithms in a language of his own invention - for which a compiler did not exist and which is hard even to type because it uses a lot of non-ASCII characters.
Dunno what he actually programmed in though.
It turns out that there is no need.
All of the EWD papers I have are already available online at the UT Austin site.
If you know him for nothing else, Dijkstra's Semaphores (aka P and V operators) are a fundamental construct in pretty much any parallel processing environment. Many CPU's have Dijkstra's semephores implemented at the hardware level. It's hard to think of anyone else who has such a fundamental construct named after them. OK, maybe 'Booleans' and the long defunct "Hollerith String".
It's bad to think of Dijstra only in terms of *one* memorable thing he did...but since we're doing that anyway...
...processLeafNode... ; ;
When I learned to program in the early '70s, our lecturer told us that if we used even *one* 'goto' in our work, we'd score zero for the entire assignment.
I've been programming for ~30 years now and never felt the slightest need to use one in a high level language since that day.
I strongly disagree about recursion though. Used properly, it's *very* readable:
void binaryTree::walk_binary_tree ( void )
{
if ( isALeafNode () )
else
{
leftBranch -> walk_binary_tree ()
rightBranch -> walk_binary_tree ()
}
}
Try writing that more cleanly without recursion!
(NOTE: You may be able to make it faster or more memory efficient without recursion though).
The art of reading and writing recursive programs is to try to forget that they are recursive.
I think to myself:
"In order to walk this tree, I walk the two child branches
- hmmm - I have a function to walk trees - I'll just use it
and assume it'll do what it's told."
The fact that the routine you are calling is also the routine you are currently writing just doesn't matter in most cases.
When I was just fresh out of college back in 1978, a collegue of mine who had been on Dijstras circulation list gave me a large stack of photocopied papers from Dijstra...all written in his own handwriting because he liked to invent his own symbols and found typewriters too limiting. I was working for Philips Research at the time - and I suppose Dijstra was working at Philip's "Math Center" in Eindhoven, Holland.
:-)
I've kept a whole boxful of his papers over the years - just because they are so fascinating to browse.
He invented his own programming language for expressing algorithms - but doesn't seem ever to have written a compiler for it. He refers to algorithms his mother came up with...almost every document has something interesting like that.
The notes are written in the most perfect handwriting you've ever seen.
They could have been printed - they are that precise. Then, one of them out of the blue seems to have been written in someone else's handwriting - it's just as amazingly neat though and when you get to the end of it, it says something like: Apologies for the poor handwriting in this note, but my left hand could use some practice.
These cannot be stored as text files without losing most of their historical interest. Maybe I should spend an evening or two to scan them and put them online. There could be no more fitting tribute to the man.
> The problem I have with all of this, or virtually any solution is that
> it's really easy to reproduce a bug. Once I hear how someone else did
> it, I can do the same. So can everyone else who has that piece of software.
That happens with Cars too - when every car off the production line
has some common design problem, they do a recall. Same here - when a problem
is reported, you get out a patch and then, no more warranty claims.
> If they had to refund my money, then all my software would be free.
No because when you return something in order to get your money back,
you give up your rights to the thing you returned.
*HOWEVER* if you buy a PC with Windoze included and you'd rather run
Linux on it - then the smallest, teeny-tiniest flaw and you sent Windoze
back for a refund....I like that!
If the limit of one's *LIABILITY* under the warranty was the cost
of the software license - then we'd be OK.
* OpenSource Software authors charge $0 for their code,
so their liability is $0. There is a warranty - but it's
practical impact is zero.
* RedHat et al charge for the cost of putting free software
onto physical media - but the software is still free so
long as it can still be freely redistributed. So their
liability is only for the non-free parts of their distro.
That's also fine by me - it gives them an incentive to
keep their distro's squeaky-clean and freely distributable.
* Microsoft suffer horribly because whenever WORD crashes,
I can demand to be refunded the entire cost of the package.
They'd go bust *very* quickly - which is fine by me!
* Large software companies that produce reasonably reliable
code and charge reasonable amounts of money for it are
under great incentive to write code that (whilst it may
not be 100% bug-free) is sufficiently reliable that they
won't get significant numbers of warranty returns.
Good!
If the limit of liability is the cost of the *damage* done by
bad software then it's not just the OpenSource world that'll
be out of business - it would be hard to imagine *ANY* generic
software such as operating systems, compilers, word processors
surviving the barrage of law suits that would immediately result.
Bring it on I say!
I don't understand. If this is targetted at crappy PDA and mobile phone displays, why does it need such insane resolution and bandwidth?
They should be concentrating on getting hardware Transform & Lighting running so as to relieve the relatively slow CPU's on those devices of transforming all of those polygons.
However, some of the photo's referenced in the original article definitely show some kind of hardware driving a PDA-resolution LCD, so I guess that truly is their target environment.
I hit this huge asteroidal boulder with a hammer - it cracked open and out crawled a 6 foot tall bug-eyed green monster with tentacles - the whole works "Take me you your leader" it said.
Well, I've never seen anything like it. I looked for other places that similar phenomenon might have occured. I looked and looked (and I'm quite adamant on this point), but I couldn't find such things anywhere except in life on earth. My first reaction was to assume that therefore this bug-eyed monster was evidence of life.
But then Mr Gardner kindly explained how I had been insufficiently sceptical and that this didn't constitute proof.
--ooOOoo--
There have to be limits to scepticism when the weight of evidence is sufficient. There are very few widely accepted scientific 'facts' that one could completely prove with mathematical rigor.
> The liberty to copy DVDs? You never had that liberty...
...lots of reasons.
...
Yes, you did - it falls under 'fair use' provisions. This includes
your rights to make a backup, your right to use small clips for the
purposes of criticism or satire,
> I'm in favor of strong copy protection on media like DVDs and CDs.
> If some jerk hadn't decided to crack CSS...we probably wouldn't
> have gotten a questionable piece of legislation like the DMCA.
You completely miss the point.
You can copy a DVD without DeCSS - it's just a bunch of files on
a DVD-ROM. If you want to make an illegal copy that'll play on a
DVD player then you certainly *don't* want to un-encrypt it!
However, if you have legally purchased an original DVD and you'd like to
play it on your PC (running Linux say) - then you need to be able to
decrypt it. That's what DeCSS is for - and when I use it this way, I
wasn't breaking any laws....until DMCA came along.
DMCA made illegal the simple process of watching a DVD that I'd legally
purchased and had absolutely zero effect on the ability of people to
pirate DVD's. Even if it did have something to say about illegal
copying of DVD's, it was a completely unnecessary law because that was
ALREADY illegal.
> Now, I know, I just know, that somebody's gonna get up here and make a stink > about how they want to make "backup copies" of their CDs and DVDs.
No, I don't. I just want to play my DVD on my DVD drive without being forced
into using a Microsoft operating system to do it.
> You know what? I don't have a "backup copy" of my car.
But when you buy a car, you *own* it...all of it.
When you "buy" a DVD, you bought the physical media (cost about 50cents)
*and* the rights to use the information it contains (cost about $18) when
the physical media craps out, why should I lose all the information on it?
I think the right to backup copyrighted media *is* valid - although I
don't choose to do so myself.
I was writing a serial port driver for a 68000 CPU (it might have been
;
;
/* Send a null byte */
...but the 68000 has a bizarre quirk in it's instruction set ... unless the location you are reading from
a 68010 or an '020 - I forget) - it worked byte-by-byte - no special
line-by-line reading. It echoed everything that came into the serial
port directly to the output.
Trouble was, the first character on every line of keyboard
input would get 'lost'...despite the fact that the application
was reading one character at a time and the return key wasn't
treated as anything special.
The dumb terminals of those days couldn't scroll an entire screenful
of text at full baud rate - so you were advised to send a null byte
after every linefeed to give the terminal an extra millisecond or so
to do scrolling in case the cursor was on the last line of the screen.
My serial port output code (which seemed to work perfectly)
said something like:
char *UART_data_port = SOME_HARDWARE_ADDRESS
*UART_data_port = character
if ( character == '\n' )
*UART_data_port = 0 ;
The problem was that the compiler silently optimised the
'UART_data_port=0' to:
CLR UART_data_port
that when you clear a memory location, it *reads* that address
first. Normally, it doesn't matter a damn that you read something
when you needn't have
is memory mapped hardware...like my UART.
Since the data port was memory-mapped and the same address was
used for READING the serial port as for WRITING to it, whenever
my code wrote a newline, the ensuing null byte would cause the
CPU to read a character from the input stream and throw it away!
Argh! That was hard to find...the output code was in a separate
module from the (suspected) input code - even when I looked at the
compiler output, it looked OK - in the end I had to hang a logic
analyser on the UART and the CPU address bus to find out where it
was executing when the character was 'eaten'. Then reading the
Motorola data book revealed the awful horror.
This was a problem with an Algol program I wrote on an ancient Singer mainframe when I was in college back in the mid 1970's. I don't remember enough Algol to write it out - but in C++ it would be something like:
...and then later...
...and *much* later...
;
void foo ( double &bar ) { bar = bar + 1.0 ; }
foo ( 6.0 ) ;
printf ( "%f", 6.0 )
Well, in C++, this is illegal because you can't take the address of a constant like 6.0 - but on this old mainframe, the Algol compiler optimised the use of storage by keeping one copy of each large constant that you used (like 6.0) in a table somewhere in memory. Being a crappy compiler, it didn't error-detect my little faux-pas.
Hence the value of the constant 'six' was invisibly changed to seven - everywhere in the program from the point where foo() was called onwards.
Of course this happened in a 3,000 line program that was much more complicated than the example above. Finding that problem was a *BITCH*. You just don't suspect things like simple numeric constants!