(lifts head off of bar, wobbles a moment reaching for drink, receives sudden insight)
Programmer: "Guys, I got it! We'll do the WHOLE DAMN VIDEO EDITOR on the GPU! An' the interface will be 3D (even the 2D stuff), with lotsa colors an' bevels 'n' stuff, an' it'll look like a video game, but you're editing video! People love learning new interfaces to do the same tasks they've done for years, right?"
(continues wobbling, waits for friend's reaction)
Programmer's friend: "Great idea. I'll call you a cab, and you can get right on it."
Adobe's Premiere Pro (with or without Matrox hardware and plug-in effects) has used GPU-based acceleration for many effects and transitions, since 1.0.
Oh, and the interface doesn't look like an early '90s video game.
My company had a recent college recruitment "job fair"; Stanford, UC Berkeley, Brown and numerous other (ahem) luminaries of the computer science education world were well-represented. BS and MS candidates were invited.
Candidates were given a function prototype and a vague functional spec (just like in the real world!), and asked to write a pixel-munging function in C or C++. Typedefs for all pertinent data types were provided, as well as guidance to program defensively, and that no early returns would be permitted. The function was spec'd to return an error code, so throwing exceptions was also discouraged.
They were given a week to reply, could use any compiler, rip off code from text books, write test harnesses, look up stuff on the web, ask their mom for help...whatever.
Of the 30 responses I received, 8 compiled. Of those eight, only three actually worked.
We run.NET from the command line for dailies, and use python scripts to copy built stuff to QA servers (and send error and warning summaries to the whole team.
Perforce is sublime. Five stars, kudo's, and I'd buy their developers beer if they lived closer. Oh yeah, each build's release notes are auto-generated by the Perforce build label, which mines the bug and feature DBs (FileMaker; I know, deride away, but hey, we only do Mac & Windows) for check-ins that happened since the last build, sorted by functional area..NET is rancorous, until tamed with a few user-generated commands; I've added tools to do common Perforce tasks (diff, revert, and my favorite, "Where's the #@$(@ing file?!", which opens an Explorer window containing the file being edited.
We also use Code Historian for badass multi-version diffing, and to find long-term hotspots that need to be re-engineered.
<http://www.codehistorian.com/codehistorian-over vi ew.php>
Hmmmn, let's see...you propose that Adobe waste 18 months re-writing existing apps so they can compete with Apple (who have shown that they'll undercut anyone anyway), rather than, spend those 18 months developing new and interesting features that'll run fine on Windows?
That's a bold theory. Glad you're not in charge of my company.
Clearly, you do not code, or at least have no clue about AE.
Newsflash: some tasks (writing frames to disk, et cetera) are not processor bound. Also, address space limitations come into play when you have a kajillion DLLs, a.k.a. plug-ins, loaded.
If you look at the After Effects API (free SDK on their website), you'll also notice that AE puts handrails and helmets around effect plug-ins that aren't necessarily threadsafe, just so mouth breathers who THINK they know something about multithreading can write crap and STILL ship a useful Directional Glow effect, or whatever the flavor of the month is.
Also, if they're paralleling is so bad, how does this work?
> Hungarian Notation is the most horrible > concept ever because it always ends up lying.
In English, are the words used in a lie responsible for that lie?
It's slacker jackasses misUSing Hungarian notation, whether by code rot (not updating the name when the var type changes) or intentional obfuscation, that makes it treacherous.
Upside: In a team without slacker jackasses (see above), H.N. makes it painfully obvious when you're relying on compiler-provided type conversion.
>In a closed-source world, the software producer >can charge for the bits and has an effective >monopoly lock on service.
Right, those bits are intellectual capital. Welcome to Consumerica. If you give me a pension just for being a coder and all-around nice guy, you can have my code. Otherwise, pay up.
>Accordingly, major closed-source packages cost >thousands of dollars up front and thousands of >dollars a year in continuing service >and upgrade costs.
So what? If you make $$$ using that software, instead of just dinking around with your computer, you'll make the money back. Don't like the price? Don't buy it. It's a capital investment in tools. If you have any industry experience, you know some packages can also _cost_ millions to create.
>...Linux-aware graduates, each one far more >knowledgeable about the OS than any Microsoft >Certified Systems Engineers can possibly >be about closed-source Windows.
False. I'm not saying they _aren't_ more aware, but it's pretty easy to be knowledgeable about Windows OS internals (I've taken the classes myself, and from your assertion, I doubt you have).
>We have seen that open source puts the software >customer in the driver's seat,
...of a vehicle they haven't the foggiest idea how to operate...
>The lure for software developers is even more >direct; with open source, we finally get to do >work reliable enough to take unalloyed >pride in -- and our work is available for >everyone to see.
And steal. So, out of the goodness of my heart, I'm supposed to spend years of my life creating, testing, and improving code, only to give it away because it'll be really helpful to people to rip off my work instead of reinvent it or (God forbid) pay me? "Yeah honey, we have to move in with your parents and sell the car, but guess what? A bunch of CompSci students think my rasterization code is really bitchin!" Whoopy-flippin-doo.
Check out the film grain tools in Adobe After Effects 6.5.
(lifts head off of bar, wobbles a moment reaching for drink, receives sudden insight) Programmer: "Guys, I got it! We'll do the WHOLE DAMN VIDEO EDITOR on the GPU! An' the interface will be 3D (even the 2D stuff), with lotsa colors an' bevels 'n' stuff, an' it'll look like a video game, but you're editing video! People love learning new interfaces to do the same tasks they've done for years, right?" (continues wobbling, waits for friend's reaction) Programmer's friend: "Great idea. I'll call you a cab, and you can get right on it." Adobe's Premiere Pro (with or without Matrox hardware and plug-in effects) has used GPU-based acceleration for many effects and transitions, since 1.0. Oh, and the interface doesn't look like an early '90s video game.
My company had a recent college recruitment "job fair"; Stanford, UC Berkeley, Brown and numerous other (ahem) luminaries of the computer science education world were well-represented. BS and MS candidates were invited.
Candidates were given a function prototype and a vague functional spec (just like in the real world!), and asked to write a pixel-munging function in C or C++. Typedefs for all pertinent data types were provided, as well as guidance to program defensively, and that no early returns would be permitted. The function was spec'd to return an error code, so throwing exceptions was also discouraged.
They were given a week to reply, could use any compiler, rip off code from text books, write test harnesses, look up stuff on the web, ask their mom for help...whatever.
Of the 30 responses I received, 8 compiled. Of those eight, only three actually worked.
> Seriously - other than the big apps, what does Adobe bring to the table?
Well, gee, besides all their industry-leading software, they don't have much to offer.
"Yeah, besides running water, sanitation, education, stability, and public safety, what have the ROMANS ever done for US??!!"
- Reg, "Life of Brian".
Thanks to plug-in developers Red Giant software, Adobe After Effects supports OpenEXR for free: http://thecarpark.net/press_elin.htm
We run .NET from the command line for dailies, and use python scripts to copy built stuff to QA servers (and send error and warning summaries to the whole team.
.NET is rancorous, until tamed with a few user-generated commands; I've added tools to do common Perforce tasks (diff, revert, and my favorite, "Where's the #@$(@ing file?!", which opens an Explorer window containing the file being edited.
r vi ew.php>
Perforce is sublime. Five stars, kudo's, and I'd buy their developers beer if they lived closer. Oh yeah, each build's release notes are auto-generated by the Perforce build label, which mines the bug and feature DBs (FileMaker; I know, deride away, but hey, we only do Mac & Windows) for check-ins that happened since the last build, sorted by functional area.
We also use Code Historian for badass multi-version diffing, and to find long-term hotspots that need to be re-engineered.
<http://www.codehistorian.com/codehistorian-ove
One program?
Three letters: C E O.
Hmmmn, let's see...you propose that Adobe waste 18 months re-writing existing apps so they can compete with Apple (who have shown that they'll undercut anyone anyway), rather than, spend those 18 months developing new and interesting features that'll run fine on Windows?
That's a bold theory. Glad you're not in charge of my company.
Clearly, you do not code, or at least have no clue about AE.
6 pr o040205.htm>
Newsflash: some tasks (writing frames to disk, et cetera) are not processor bound. Also, address space limitations come into play when you have a kajillion DLLs, a.k.a. plug-ins, loaded.
If you look at the After Effects API (free SDK on their website), you'll also notice that AE puts handrails and helmets around effect plug-ins that aren't necessarily threadsafe, just so mouth breathers who THINK they know something about multithreading can write crap and STILL ship a useful Directional Glow effect, or whatever the flavor of the month is.
Also, if they're paralleling is so bad, how does this work?
<http://www.creativemac.com/2004/02_feb/news/ae
...by promoting their assertion (true or false) that lots of /.-er types are developing for OS X.
/.?
Gee, do you think Ron Okamoto has anything to GAIN by getting this story covered by
> Hungarian Notation is the most horrible
> concept ever because it always ends up lying.
In English, are the words used in a lie responsible for that lie?
It's slacker jackasses misUSing Hungarian notation, whether by code rot (not updating the name when the var type changes) or intentional obfuscation, that makes it treacherous.
Upside: In a team without slacker jackasses (see above), H.N. makes it painfully obvious when you're relying on compiler-provided type conversion.
"Everyone who learned that died in Banzai charges" - Goto Dengo
Pro Tools 5.2.1 == no worky.
>In a closed-source world, the software producer
>can charge for the bits and has an effective
>monopoly lock on service.
Right, those bits are intellectual capital. Welcome to Consumerica. If you give me a pension just for being a coder and all-around nice guy, you can have my code. Otherwise, pay up.
>Accordingly, major closed-source packages cost
>thousands of dollars up front and thousands of >dollars a year in continuing service
>and upgrade costs.
So what? If you make $$$ using that software, instead of just dinking around with your computer, you'll make the money back. Don't like the price? Don't buy it. It's a capital investment in tools. If you have any industry experience, you know some packages can also _cost_ millions to create.
>...Linux-aware graduates, each one far more
>knowledgeable about the OS than any Microsoft
>Certified Systems Engineers can possibly
>be about closed-source Windows.
False. I'm not saying they _aren't_ more aware, but it's pretty easy to be knowledgeable about Windows OS internals (I've taken the classes myself, and from your assertion, I doubt you have).
>We have seen that open source puts the software
>customer in the driver's seat,
...of a vehicle they haven't the foggiest idea how to operate...
>The lure for software developers is even more
>direct; with open source, we finally get to do
>work reliable enough to take unalloyed
>pride in -- and our work is available for >everyone to see.
And steal. So, out of the goodness of my heart, I'm supposed to spend years of my life creating, testing, and improving code, only to give it away because it'll be really helpful to people to rip off my work instead of reinvent it or (God forbid) pay me? "Yeah honey, we have to move in with your parents and sell the car, but guess what? A bunch of CompSci students think my rasterization code is really bitchin!" Whoopy-flippin-doo.
Go back to class, kid.