Probably because Mozilla corp wants to see a stable spec first and then implement it instead of implementing a half-assed implementation and then forcing everyone else to use it because it's the de-facto standard.
I guess M$ never gets tired of playing their games.
Or maybe firefox just moves too slowly for thier own good.
Ahhh, I think this is the great problem that user testing attempts to solve. Just remember that this software is used by millions of people.
So if you can measure statistically which method more people prefer, you enable that as default and make it configurable for the power users.
Cheers, Ben
PS. personally, I don't like the close button on the tab just because I have the tendancy of double clicking when FF doesn't respond quickly which causes two tabs to close instead of one. oh well...
But won't Earth be stable enough for the next 100 million years or so so when we do finally manage to wipe ourselves out, it'll pretty much recycle itself and then start evolving all over again. Possibily, reptiles will be dominate or giant cats (think kazin) or monkeys again. (or something even more bizaar and different)
However, you'd want an evolutionary cycle or two to occur so you can build up enough petrol under the ground so the next intelligent civilization can make it into the industrial era.
i guess if the earth isn't stable enough to do it twice, then we really are in a special time and place. It's an awe inspiring idea....
On the timescale of the earth (5 billion years), having all traces of your civilization disappear within 2 million years is NOTHING!
I bet that if we were clever enough, we'd be able to find another ape-like species which lived on earth, evolved an advanced civilization and then disappeared because of a climatic event. The sun has remained stable for so long that it's inconcevible that it didn't occur before, likely long before the dinasours ruled the planet. We just need to find evidence of it, maybe in one of the great extinctions in the past.
That's where you're wrong: C++ is an absolute disaster and has held back desktop and application enormously.
Tell that M$, Apple, Trolltech and every other professional desktop development company in the world. Currently, it's the only language that is capable of supporting highpowered applications like 3D Modellers, multimedia processing programs, and others.
Just because it's not as flexible or forgiving as C#/Java/Ruby/Python doesn't mean that you can't build amazing software with it. Besides, if the developers use a consitant coding format like TT does, you can build very powerful language bindings on top of C++. Just look at SIP and SMOKE and here. I gurrentee that for KDE 4.x, there will be an extremely powerful scripting layer (JS/Ruby/Python) for developing kde applications in. It'll be so powerful that it'll cause major security holes but that's a good thing in my opinion.
They should have sent the interview questions to him, being one of the foremost programmers on the other side of the fence. Mind you, I'm no M$ fanboy but it would have been nice to read from a programmer who doesn't cut his (/her?) teeth on Unix every day.
I use qt in my qt job and I know for a fact that it has bugs. However, that $3300 licence allows me to directly email TT and send them bug reports (and get fixes back!) or get additional help outside of the offical documentation. (Or support lists) And it does help! Besides which, since QT is 100% opensource, its trivial to locate the bugs and send in the patches (I'm not crazy enough to maintain my own patch-set yet...)
Besides, when was the last time you tried using C# in an embedded system? Sounds like a nightmare to me...
You don't really do embedded work thinking all hardware is perfect, do you?;)
God no. We've been suffering here for a year dealing with all of the crap that our electronics subcontractors produced. (not to mention really bad device drivers...) If I hadn't used qtopia and their qvfb tool, I'd be 9 months behind schedule. as is, I'm pretty happy with the build system we have here. However, I don't like having to drop into the unknown guts of a arm process without being able to debug it on the pc first. running gdb (or gdb-remote) without ddd gives me the wet willies.
Then again, I'm fortunate enough to be able to use qvfb to do my debugging.:)
Cheers, Ben
PS. Oh and doing IPC over sockets is the best thing since sliced bread. Debugging on the PC would have been impossible otherwise. The only problem is profiling which isn't too terrible with gprof. I just ignore the time estimites and use the relative rankings instead.
Consider that: 1) it runs on 100% of computers 2) All the cool kids want to build their own website 3) It works on 100% of all computers. 4) It's typeless thereby removing one layer of complexity (and safety - but thats not an issue for beginning programmers) 5) It's graphical as hell if combined with SVG or inside flash (actionscript) 6) it's syntax is fairly simple and it doesn't force OO coding until you're ready for it. (ok prototype based coding - whatever) 7) it doesn't need to be compiled - removing another layer of complexity 8) compositing complex structures with it is fairly trivial: var point = {x:0, y:0} 9) it runs on 100% of all browsers.
o followon to the previous -- if you're looking at a high-performance application, you're quite limited in the intellectual property you might do with a kernel mod. For example, let's say you want to write a custom openssl bio using a custom stream domain socket type or maybe use a virtual device to mmap memory to avoid some data copying, you just made your life a lot harder.
Why not write the virtual device and release it as gpl? Just don;t put any business logic into it and make it as generic as possible. Two possible outcomes: 1) everyone will ignore it because its not useful to them or someone else has already done it better. 2) Everyone will love it and immediately send you back 10k patches which makes it a hell of a lot more powerful and flexible then what you could have designed.
Just DO NOT PUT HIGH LEVEL LOGIC into the kernel!!!! You are asking for serious, serious pain if you do. Maybe linus is right in limiting whats possible with the kernel...
I shutter whenever we get another device driver from our consulants which does anything more then the bare minimum. It just seems insane
agreed. use the best SCM possible. We use perforce and it works great.
avoid cross-compiling, build everything on-board,
What? are you mascotistic?? You'd have to be insane to build anything on the underpowered boards. Use crosstool or buildroot and use distcc or icecream to distribute the build across as many servers as possible. Anything else is just begging to be killed by boredom.
one Makefile to tie together whatever components are required (linux-kernel/base-image/sysbins/libs/my_app),
Ummm, good point. We have one static kernel but maybe it's time to build and load the kernel at runtime too. We also use scons instead of make now. It seems to be more flexible.
I cut my (programming) teeth on emacs so I'm very partial to it.
However, the problem with emacs is that it demands a high learning curve just to get started and it's lacking advanced features. as a professional, I don't want/need to check my email with it, I need to be able to code large scale projects and navigate code as efficiencilly as possible. Emacs doesn't have the tagging features necessary to do this. (etags doesn't cut it) It also doesn't have context sensitive menus for browsing a function's definition or references. Finally, the icing on the cake is that you actually can see the function's comments when you're trying to figure out which code completion is the best one for one. (Try doing that in emacs) Its also written so that the features you need are pretty obvious to get to. And of course it was key-binding for vi,emacs,VS,CUA, etc and other required features.
However, the downsides are that: its impossible to extend/modify slickedit's very advanced features (like the code beautifier or code parser), it still lacks full support for doxygen, and it's scripting language isn't as flexible as elisp.
I use Slickedit because it's the best. That being said, I've found an extremely sweet spot with Slickedit+Perforce+Linux when working with g++. Now if gdb and gprof were as usable, life would be a breeze...
Funny thing though, I'm actually trying to find an alternative to Slickedit just in case the company fucks up. Im thinking the new version of kdevelop might be better good if the PR is correct.
Basically, I see that the entire embedded market is going linux-arm9/XScale. It's cheap, super stable and pretty damn powerful. If the flash player only uses the bare minimum of X11, it might be able to squeeze on top of nanoX and be usable in embedded memo (the tiny firefox). The rest is staight on top of linux kernel APIs so it makes more sense.
You could sponser artists through government grants. The canadian government does this alot and thats why their computer graphics businesses are the best in the world. (Discounting Pixar and Dreamworks) It's too bad that the US government doesn't pay much attention to their public arts funding.
I really find your idea of using escrows for arts appealling. Having 10000 fans of an author donate for the authors next book could almost work. Wait, but then, each author would really need to get the best PR firm possible to promote the fact that he's willing to produce an another book. And then the PR firm would demand a large cut for pushing his talents so much and handling google/yahoo/ad agancies/etc. and you're back to having large media companies managing artists which they think will produce great work in the future.
Guess you can't really escape commercialization. Ben
Konqueror (unlike IE) also has a fairly good security record, IIRC. (Of course, there probably aren't that many people actually looking for security holes in it...)
I believe (and I'm not trying to be a troll) that kde/konqueror has a better security track record because they haven't made it too open to 3rd-party scripts/macros. That's where M$ (IMHO) messed up. They provided too many hooks for viruses to hook into and do nasty things with. It's a trap that kde needs to avoid somehow if it is to have scripting on the desktop. Just look at kross and their big security question mark.
I have to disagree for a limited sense. At the company I work at, we're having to rely on custom hardware which means that we need to do all of the QA on the hardware itself.
Since the hardware seems to be pretty broken in some places (communicating with the framebuffer...), understanding why and how seems to be pretty important.
Of course, this is custom embedded stuff so it doesn't apply to 98% of programmers out there...
Then you'll really see what REAL gun proliferation is like, hahahaha.
As an additional bonus, you'll get to see machine guns, morters, tanks, anti-tank missles, F-16s and Apaches and lots and lots of rockets if you opt to take a little trip up north now...
I'm not surprised at all that two competing companies refuse to agree on a standard.
If one can pull ahead in terms of marketshare and dominate the field, he can then control the technologies used and profit.
It would probably be best for the linux integration team to wait a couple of years before integrating in any virtualization technology just to see which solution is the better one in terms of usability and marketshare. Then they can choose whether to support the leader or undermine him.
Probably because Mozilla corp wants to see a stable spec first and then implement it instead of implementing a half-assed implementation and then forcing everyone else to use it because it's the de-facto standard.
I guess M$ never gets tired of playing their games.
Or maybe firefox just moves too slowly for thier own good.
Time will tell,
Ben
Ahhh, I think this is the great problem that user testing attempts to solve. Just remember that this software is used by millions of people.
So if you can measure statistically which method more people prefer, you enable that as default and make it configurable for the power users.
Cheers,
Ben
PS. personally, I don't like the close button on the tab just because I have the tendancy of double clicking when FF doesn't respond quickly which causes two tabs to close instead of one.
oh well...
But won't Earth be stable enough for the next 100 million years or so so when we do finally manage to wipe ourselves out, it'll pretty much recycle itself and then start evolving all over again. Possibily, reptiles will be dominate or giant cats (think kazin) or monkeys again. (or something even more bizaar and different)
However, you'd want an evolutionary cycle or two to occur so you can build up enough petrol under the ground so the next intelligent civilization can make it into the industrial era.
i guess if the earth isn't stable enough to do it twice, then we really are in a special time and place.
It's an awe inspiring idea....
Cheers,
Ben
On the timescale of the earth (5 billion years), having all traces of your civilization disappear within 2 million years is NOTHING!
I bet that if we were clever enough, we'd be able to find another ape-like species which lived on earth, evolved an advanced civilization and then disappeared because of a climatic event. The sun has remained stable for so long that it's inconcevible that it didn't occur before, likely long before the dinasours ruled the planet. We just need to find evidence of it, maybe in one of the great extinctions in the past.
Just an idea I had,
Ben
There is an answer and to find out, all you have to do is pay $....
oh wait, maybe I'll just tell you.
Drumroll please!!!!!
Use comments!!
Tada, thank you folks, I'll be here all night.
Ben
PS. I charge extra to actually show how they work in js.
That's where you're wrong: C++ is an absolute disaster and has held back desktop and application enormously.
Tell that M$, Apple, Trolltech and every other professional desktop development company in the world. Currently, it's the only language that is capable of supporting highpowered applications like 3D Modellers, multimedia processing programs, and others.
Just because it's not as flexible or forgiving as C#/Java/Ruby/Python doesn't mean that you can't build amazing software with it. Besides, if the developers use a consitant coding format like TT does, you can build very powerful language bindings on top of C++. Just look at SIP and SMOKE and here. I gurrentee that for KDE 4.x, there will be an extremely powerful scripting layer (JS/Ruby/Python) for developing kde applications in. It'll be so powerful that it'll cause major security holes but that's a good thing in my opinion.
Cheers,
Ben
They should have sent the interview questions to him, being one of the foremost programmers on the other side of the fence. Mind you, I'm no M$ fanboy but it would have been nice to read from a programmer who doesn't cut his (/her?) teeth on Unix every day.
Absolutely great interview otherwise.
Cheers,
Ben
I have to agree with the parent 100%.
I use qt in my qt job and I know for a fact that it has bugs.
However, that $3300 licence allows me to directly email TT and send them bug reports (and get fixes back!) or get additional help outside of the offical documentation. (Or support lists)
And it does help! Besides which, since QT is 100% opensource, its trivial to locate the bugs and send in the patches (I'm not crazy enough to maintain my own patch-set yet...)
Besides, when was the last time you tried using C# in an embedded system?
Sounds like a nightmare to me...
Cheers,
Ben
God no. We've been suffering here for a year dealing with all of the crap that our electronics subcontractors produced. (not to mention really bad device drivers...) If I hadn't used qtopia and their qvfb tool, I'd be 9 months behind schedule. as is, I'm pretty happy with the build system we have here. However, I don't like having to drop into the unknown guts of a arm process without being able to debug it on the pc first. running gdb (or gdb-remote) without ddd gives me the wet willies.
Then again, I'm fortunate enough to be able to use qvfb to do my debugging.
Cheers,
Ben
PS. Oh and doing IPC over sockets is the best thing since sliced bread. Debugging on the PC would have been impossible otherwise. The only problem is profiling which isn't too terrible with gprof. I just ignore the time estimites and use the relative rankings instead.
in the arcade games for the kiddes. Also it sounds better then "Tapper" to my ear....
Ben
Consider that:
1) it runs on 100% of computers
2) All the cool kids want to build their own website
3) It works on 100% of all computers.
4) It's typeless thereby removing one layer of complexity (and safety - but thats not an issue for beginning programmers)
5) It's graphical as hell if combined with SVG or inside flash (actionscript)
6) it's syntax is fairly simple and it doesn't force OO coding until you're ready for it. (ok prototype based coding - whatever)
7) it doesn't need to be compiled - removing another layer of complexity
8) compositing complex structures with it is fairly trivial: var point = {x:0, y:0}
9) it runs on 100% of all browsers.
Cheers,
Ben
Why not write the virtual device and release it as gpl? Just don;t put any business logic into it and make it as generic as possible. Two possible outcomes:
1) everyone will ignore it because its not useful to them or someone else has already done it better.
2) Everyone will love it and immediately send you back 10k patches which makes it a hell of a lot more powerful and flexible then what you could have designed.
Just DO NOT PUT HIGH LEVEL LOGIC into the kernel!!!! You are asking for serious, serious pain if you do.
Maybe linus is right in limiting whats possible with the kernel...
I shutter whenever we get another device driver from our consulants which does anything more then the bare minimum. It just seems insane
Cheerio,
Ben
agreed. use the best SCM possible. We use perforce and it works great.
What? are you mascotistic?? You'd have to be insane to build anything on the underpowered boards. Use crosstool or buildroot and use distcc or icecream to distribute the build across as many servers as possible. Anything else is just begging to be killed by boredom.
Ummm, good point. We have one static kernel but maybe it's time to build and load the kernel at runtime too.
We also use scons instead of make now. It seems to be more flexible.
Cheers,
Ben
I cut my (programming) teeth on emacs so I'm very partial to it.
However, the problem with emacs is that it demands a high learning curve just to get started and it's lacking advanced features. as a professional, I don't want/need to check my email with it, I need to be able to code large scale projects and navigate code as efficiencilly as possible. Emacs doesn't have the tagging features necessary to do this. (etags doesn't cut it) It also doesn't have context sensitive menus for browsing a function's definition or references. Finally, the icing on the cake is that you actually can see the function's comments when you're trying to figure out which code completion is the best one for one. (Try doing that in emacs) Its also written so that the features you need are pretty obvious to get to. And of course it was key-binding for vi,emacs,VS,CUA, etc and other required features.
However, the downsides are that: its impossible to extend/modify slickedit's very advanced features (like the code beautifier or code parser), it still lacks full support for doxygen, and it's scripting language isn't as flexible as elisp.
Cheers,
Ben
Well said.
I use Slickedit because it's the best. That being said, I've found an extremely sweet spot with Slickedit+Perforce+Linux when working with g++. Now if gdb and gprof were as usable, life would be a breeze...
Funny thing though, I'm actually trying to find an alternative to Slickedit just in case the company fucks up. Im thinking the new version of kdevelop might be better good if the PR is correct.
Ben
I think this is a play for the embedded market.
Basically, I see that the entire embedded market is going linux-arm9/XScale. It's cheap, super stable and pretty damn powerful. If the flash player only uses the bare minimum of X11, it might be able to squeeze on top of nanoX and be usable in embedded memo (the tiny firefox). The rest is staight on top of linux kernel APIs so it makes more sense.
Cheers,
Ben
Sounds like a job for slickedit.
:(
I've been using it instead of VC++ for years (5 years now) and I love it.
No bullshit wizards, no slowdowns, and it just works.
And no, im not paid by them, either
ben
You could sponser artists through government grants.
The canadian government does this alot and thats why their computer graphics businesses are the best in the world. (Discounting Pixar and Dreamworks) It's too bad that the US government doesn't pay much attention to their public arts funding.
I really find your idea of using escrows for arts appealling. Having 10000 fans of an author donate for the authors next book could almost work. Wait, but then, each author would really need to get the best PR firm possible to promote the fact that he's willing to produce an another book. And then the PR firm would demand a large cut for pushing his talents so much and handling google/yahoo/ad agancies/etc. and you're back to having large media companies managing artists which they think will produce great work in the future.
Guess you can't really escape commercialization.
Ben
Konqueror (unlike IE) also has a fairly good security record, IIRC. (Of course, there probably aren't that many people actually looking for security holes in it...)
I believe (and I'm not trying to be a troll) that kde/konqueror has a better security track record because they haven't made it too open to 3rd-party scripts/macros. That's where M$ (IMHO) messed up. They provided too many hooks for viruses to hook into and do nasty things with. It's a trap that kde needs to avoid somehow if it is to have scripting on the desktop. Just look at kross and their big security question mark.
Cheers,
Ben
Actually a cow (and all mammals, i think) are topologically equivalant to a torus because of the digestive system.
;)
Maybe it's because Peralman is not topologically equivalant to the fields medal that he didn't accept it.
Ben
But that still takes up 33 bits. 32 bits to specify how many ones you have (i assume data size 4GB)
and 1 bit to indicate it exists.
That's too big!!
Ben
I have to disagree for a limited sense.
At the company I work at, we're having to rely on custom hardware which means that we need to do all of the QA on the hardware itself.
Since the hardware seems to be pretty broken in some places (communicating with the framebuffer...), understanding why and how seems to be pretty important.
Of course, this is custom embedded stuff so it doesn't apply to 98% of programmers out there...
JM2C (Just my 2 cents)
Ben
you should try visiting Israel for a day.
Then you'll really see what REAL gun proliferation is like, hahahaha.
As an additional bonus, you'll get to see machine guns, morters, tanks, anti-tank missles, F-16s and Apaches and lots and lots of rockets if you opt to take a little trip up north now...
Consider yourself blessed.
Ben
Chicken and the egg paradox?
I'm not surprised at all that two competing companies refuse to agree on a standard.
If one can pull ahead in terms of marketshare and dominate the field, he can then control the technologies used and profit.
It would probably be best for the linux integration team to wait a couple of years before integrating in any virtualization technology just to see which solution is the better one in terms of usability and marketshare. Then they can choose whether to support the leader or undermine him.
Cheers,
Ben