Miguel de Icaza Debates Avalon with an Avalon Designer 419
Karma Sucks writes "In an interesting debate with a Microsoft employee, Miguel points out some crucial flaws in Microsoft's Avalon strategy. Perhaps the most shocking revelation is the absolutely horrendous inheritence hierarchy exposed by the Avalon API. Miguel himself is clearly not amused, saying 'We do not want to waste our time with dead-end APIs as we are vastly under-resourced, so we must choose carefully.'"
Hmmm... (Score:5, Funny)
" I totally agree, this is a huge issue. Phishing attacks, spyware, malware, viruses, and more are out there and probably the largest problem facing computer science today. This isn't a Microsoft, Linux, or Java issue - this is a "good guys" issue. Windows XP SP2 is probably the best response to Miguel's security concerns. The integrated firewall, security center, and dozens of other security related features are really the first line of defense. After the basics are resolved there, I would say that the new enhancements to the security system in Avalon are a great step. Not only is Avalon built from the ground up to be secure, but we are enhancing the security system for better application level security, and simpler more understandable presentation of security decisions to the user (hopefully in most cases this means no decision). As to the specific issue of Phishng that Miguel brings up, that is still mostly a research level issue, which I'd love to see creative solutions to. In Windows today there is the secure desktop, but you must press Ctrl+Alt+Delete to get to it first. "
Re:Hmmm... (Score:2, Insightful)
netsh firewall set portopening TCP 445 SUBNET
OR
netsh firewall set portopening TCP 445 ALL
OR
accept the XP SP2 default and live with a machine ye can't remotely admin on yer win2k network.
XP secutiry.
Re:Hmmm... (Score:5, Funny)
*Pulls head out of Tux's feathery ass*
*looks around*
Nah. Nothing to like here.
*goes back into Tux's feathery ass*
Re:Hmmm... (Score:3, Funny)
What are you doing up Tux's ass? Waiting to get laid!?
Re:Hmmm... (Score:3, Informative)
Re:Hmmm... (Score:5, Interesting)
"MSFT has been pretty honest about their past designs and it's security flaws as of late."
If by "honest" you mean they have admitted there is a problem and have offered up some near useless hand-waving gestures (XP-SP2) as a solution then you would be correct.
The real problem they have, a problem that they have been decidedly dishonest about (or pig-ignorant of, take your pick) is that their OS is insecure by design. This is all due to the monolithic design philosophy that their Windows OS is built around. The way they have enginneered it to have every goddamned bell and whistle tied directly into the base OS is just asking for trouble. All you need is a flaw in one of your applications, IE being the classic example, and the entire OS is compromised.
Cosnider this paragraph taken from an article at The Register [theregister.co.uk], which was written by an engineer involved in the creation and deployment of Combat Management Systems for use in Royal Navy Warships. I think we can assume he has some clue about what he is talking about. He said this;
"In April 2002, Bill Gates, acting as Microsoft's Chief Software Architect, gave extensive testimony under oath to the US Courts. Gates's testimony included description of the current structure of Microsoft Windows. Snubbing fifty years of progress in computer science, the current structure of Windows abandoned the accepted principles of modular design and reverted instead to the, much deprecated, entangled monolithic approach. Paragraphs 207 to 223 are particularly revealing about Microsoft's chosen approach (paragraph 216 is difficult to believe!).* Anyone with elementary knowledge of computer science can see that Microsoft Windows, as described here by Gates, is inherently insecure by design. If this is a flagship Operating System, then Dijkstra's life was in vain."
For Microsoft to get truly serious (and honest) about security, they will have to totally change their design philosophy, a philosophy that was chosen not based on it's technical mereits, but on its ability to stop the DoJ from breaking Windows up into it's seperate components.
This is the Great Lie that Microsoft is telling the world.
Re:Hmmm... (Score:3, Interesting)
Criticism, which, frankly, is absolutely on the money. Monolithic operating systems are easy. Writing them that way is the same reason that when you write a program the sloppy way, you write it all in one big file, and when you write it the right way, you seperate the backend from the UI, break the code up into logical segments, put the relevant
Re:Hmmm... (Score:4, Interesting)
If MS needs to add a feature _now_, they just stick hooks into right into the kernel to support it. Linux doesn't work that way. Linux might be 'monolithic' in a CS sense, but windows is something else altogether.
Re:Hmmm... (Score:3, Interesting)
That depends entirely on whether you buy into the idea that you have to use Microsoft-provided components, or if you've downloaded or purchased a host of third-party products like Mozilla, Opera, Eudora, X-terminal emulation packages, MKS Toolkit to at least get a POSIX scripting environment, cross-platform database access libraries, ICU, Xerces, Apache, etc.
I've never actually worked with anyone who built their applications entirely with Microsoft technology. Yes, Access and Excel and such are used to
Re:Hmmm... (Score:5, Insightful)
On windows, many of the key userland APIs are directly tied into the lowest levels of the operating system. This is great for Microsoft, who can just tell the FTC that "no, we can't remove Internet Explorer/Media Player/Instant Messenger from Windows". This isn't so great for its users, since a hole in one of those applications often yields control of the system in unpredictable ways.
The microkernel versus monolithic kernel is a pretty old debate. The main problem with microkernels, as far as I understand, is that they are much more difficult to develop. Yes, the complexity is encapsulated, but the message passing stuff can get very hairy. My opinion: if both approaches work well, who cares?
Re:Hmmm... (Score:5, Informative)
NT design 101: On the bottom, there is the kernel, then the executive, which includes the object, configuration, process, VM, I/O managers, the security ref monitor (a runtime to create tokens, check ACLs) and the local procedure call provider. After that, device drivers. After that, everything is in user mode with one exception. Then there are the intrinsic subsystems: the session manager (the init process, aka smss), the local security authority (lsass), the security accounts manager (SAM), winlogon, and the service control manager. Then the environment subsystems, namely win32. The entire syscall interface is exported to user mode by the Nt* functions in ntdll.dll. Environment subsystems translate calls from their API into native calls. Win32's environment server is hosted in csrss.exe. With NT4, the meat of win32 was moved into kernel mode (win32k.sys) to reduce context switching overhead; win32 was not then and still isn't integrated into the kernel itself. The kernel doesn't care what environment subsystems are running. After that, you have the shell components; these all run in the security context of the logged on user (subsystem components run as SYSTEM). The shell includes Internet Explorer and the start menu. On top of that (usually) are applications.
Each layer only cares about the one immediately above and below it at most. To the kernel, Internet Explorer is just another user mode program. A hole in IE cannot escilate beyond the user's privledges in the process's security context. Your machine be hosed by a hole in IE if you are running it as Admin (just as a hole in Mozilla if it was running as root), but not if it is running as a normal user. You need to exploit a local vuln in the kernel first, just like any other OS.
Look at the entire syscall interface [sf.net] (the Nt* functions). Tell me which functions are "directly tied into the lowest levels of the operating system".
Re:Hmmm... (Score:5, Insightful)
I have to take exception to that. The GUI subsystem most certainly is integrated into the kernel - not only does it run in kernel mode but its location there basically makes objects like menus, windows, images ... even metafiles (!) kernel level objects which can be created in one process and then passed to another and used there. Applications rely on this ability.
Don't forget crap like the registry running in kernel mode as well.
I mean, how on earth do you define integrated into the kernel if not by applications expecting it to be there?
Re:Hmmm... (Score:3, Informative)
Re:Hmmm... (Score:3)
Display driver, not GUI subsystem (Score:3, Informative)
I knew it was a bad idea, and I'm sure that there are those at Microsoft (Dave Cutler, probably) who thought it was a bad idea too. But it's a tradeoff, and at the time the business risk was considered acceptable because they had a driver certification program, and they were going to make sure that drivers would behave themselves.
Chip H.
Re:Display driver, not GUI subsystem (Score:3, Informative)
This [microsoft.com] talks about the transition between the NT 3.51 userspace model and the NT 4 kernelspace model for GDI and the such.
Re:Display driver, not GUI subsystem (Score:3, Funny)
Re:Hmmm... (Score:3, Informative)
There are tools available, such as runas [microsoft.com], SUD [espci.fr], and psexec [sysinternals.com] that let you run only specific programs (usually those that need admin access for no reason) as admin.
Re:Hmmm... (Score:5, Interesting)
If you actually took the time to reread what I wrote, you would realize (it seems none of my sibling posts have) that I am in fact not comparing Linux to Windows at all.
Instead, what I am doing is making an analogy regarding modular design. It is common sense that a system designed to be stable should minimize the number of components that are so essential that, if they were to crash, would cause the whole system to come down.
In MS Windows, this unfortunately includes the Windows GDI -- for some illuminating reading on some of the core design decisions Microsoft made with NT/XP, check out the ReactOS FAQ and mailing list. In trying to reimplement Windows they've really dug some interesting stuff up (none of it was secret, but now it's all in one place.)
My point is that when someone says, "The reason Windows is fundamentally insecure is because it was designed in a kludgy, non-modular way, where non-essential things like the GDI can crash the whole system," all the Slashdrones immediately understand the insightful nature of the observation. Having the GDI in ring 0 is just braindead.
However, due to their fanatical devotion to Linus -- let me say that I greatly admire the man and consider him one of the best, if not the best, OSS dev out there today -- they take his opinions on the macro/microkernel debate without so much as a critical thought. But as Bob Dylan said, "Even the President of the United States must sometimes have to stand naked."
The truth is, the logic that makes "putting the Windows GDI in the kernel" stupid is the same logic that ought to damn macrokernel-based designs. Here's something interesting for you to contemplate: most Windows cashes happen in drivers, not in the GDI. Actually, the Win32 GDI is quite mature and while a) it probably has caused its share of crashes and b) putting it in the kernel was one of the stupidest design decisions ever, most crashes do not happen because of faults in the GDI these days. They've had a lot of time to iron these bugs out.
The problem is, simply put, drivers. These are mostly written by third parties and due to NT's monolithic kernel design, they are running in kernel space. So a crash in a driver means the whole system comes down.
A microkernel sandboxes things like drivers and has them run in something more like user space; as a result, just as process on Linux can't crash the kernel, a driver on L4 can't crash the kernel.
Now, when Linus started developing Linux, he had a number of very good reasons to go with a monolithic design. One: it was easier, from a design perspective, both for developing and hacking. Two: the major microkernel, CMU Mach (and similarly, GNU Mach) were a) very slow, much too slow to be practical on the 386s that were state of the art in 1991 and b) actually not really all that micro-. Not to mention that GNU Mach, at least, didn't solve the driver problem because it actually ran most drivers in kernel space.
Furthermore, at the time, Linus didn't expect Linux to become what it is today; reading his early posts, he fully expected Hurd to be released RSN and he was just providing something for hackers to mess around with until that happened. And it never happened.
Don't think that by pointing out a problem with Linux that I am in any way against it. I run only Linux, and I'm a zealot by any stretch of the imagination. I just worry about its future -- in the old days, Linux was a Free Software only kind of beast, with all its drivers open source because they were reverse engineered by the community. But look at how fast Linux is gaining popularity: how long will it be before it really does begin to compete with MS on the desktop, and IP-happy hardware vendors start releasing binary drivers en masse?
And then we're back to square one: normal users running non-free blackbox kernel modules written by corps that care nothing f
Re:Hmmm... (Score:3, Interesting)
Microkernels and stuff (Score:3, Interesting)
You make some good points. But remember a few other things.
NT is (or at least was) a microkernel. That's been compromised considerably with poor decisions later on, but you can't consider it a monolithic kernel - it's really a hybrid kernel that started as a microkernel and then adopted some monolithic practices.
On the other hand, Linux started as a monolithic kernel, and clearly still is, but it's incorporated an awful lot of that 'modular design' logic when it made sense to Linus, and in some ways cou
Re:Hmmm... (Score:5, Interesting)
Re:Hmmm... (Score:5, Informative)
Yes it is. If you remove "all traces" of IE then presumably you are also removing things like wininet, urlmon, hhhelp and the other million and one components of the OS that are shipped and developed as part of IE and on which applications depend.
Believe me, you pull IE and all kinds of random stuff breaks. I've spent the last two years working on Wine and one thing it's taught me is that there is no way IE can be disentangled from the OS (unless you could deleting iexplore.exe, which achieves nothing). Too many programs expect it to be there and will break if it's not.
Re:Hmmm... (Score:3, Interesting)
Re:Hmmm... (Score:3, Insightful)
The Windows shell is basically equivalent to Gnome or KDE. If you remove KDE, many KDE applications break; when you remove a library, the things that depend on it break. Internet Explore
Re:Hmmm... (Score:5, Funny)
It was, anyway.
Dijkstra: "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Microsoft: Visual BASIC.
Re:PLEASE STOP WITH THE SENSELESS LINKS ALREADY (Score:5, Funny)
Re:PLEASE STOP WITH THE SENSELESS LINKS ALREADY (Score:2, Funny)
Don't look a gift horse in the mouth (Score:3, Insightful)
Well well well. Isn't it easy to complain about an API when we aren't the ones responsible for creating it? Considering he is the one copying the
Re:Don't look a gift horse in the mouth (Score:2, Insightful)
That said, I hate
5% most interesing nugget of info (Score:2)
Amiga? or the "dying" BSD?
Re:5% most interesing nugget of info (Score:3, Funny)
Although I'm joking, it wouldn't really surprise me...
Re:5% most interesing nugget of info (Score:3, Insightful)
Re:5% most interesing nugget of info (Score:2)
Architecture Philosophy (Score:5, Interesting)
There are other companies which spend a lot of time on the architecture - almost to a fault - knowing once it is solid, they can add the users' heavily desired features without worry about the stability beneath it.
All developers know about both scenarios as they either crave and know the the outcome if they are permitted to put the architectural stability in place or they are forced to charge ahead with building on top of wet toilet paper.
[1]William Henry Gates 3rd
[2]Providing a vendor is even willing to do so. And the question begs to be answered: How unstable can an architecture be such that patches can be safely made to it (without risking screwing the pooch) to make an improvement? Remember the "three sides around the barn" development? What happens to developed code if the OS suddenly "works" correctly?
Just remember....
______________________________________
My Trunk Monkey can beat up your Trunk Monkey.
http://www.suburbanautogroup.com/ford/trunkmonkey
Re:Architecture Philosophy (Score:5, Insightful)
As in FSF Gnu Hurd?
In the limit of taking your sweet time getting the architecture right, you risk something else coming along and getting enough of it right to scratch the feature itch before you do; from that point your market irrelevance is proportional to the difference in delivery dates.
No one is in a hurry to get on the wrong track, but assuming your competitors aren't totally stupid there is an equally unpleasant consequence for being the last one out of the station.
Two observations (Score:5, Interesting)
Re:Two observations (Score:5, Interesting)
Microsoft doesn't. Microsoft's developers do. Check out the MS Research site and the stuff they have released (like that project on Sourceforge).
I've always said there's a big difference between the "large scary corporation" and the employees. The employees are humans like everyone else. It's only the company as a whole that's done anything truly wrong.
Re:Two observations (Score:5, Insightful)
Huh? How did the company do the wrong things without the humans that work for the company?
Everybody who works for MS has to shoulder the blame/credit for everything MS does. They all help whether directly or indirectly. You don't get a pass just because you are nice guy, your salary is what it is because your company is an asshole and the people who run your company are immoral bastards.
Re:Two observations (Score:4, Interesting)
Re:Two observations (Score:3, Funny)
Ease of use and elegence with GUI toolkits (Score:5, Interesting)
I could never get used to Windows Forms. It still amazes me that the layout manager concept isn't considered a standard part of the UI toolkit design process now. Developers shouldn't have to automatically manage most GUI layouts.
Re:Ease of use and elegence with GUI toolkits (Score:5, Insightful)
More-so, the "most difficult" layout manager is actually the simpler. GridBag. Even if I assign the constraints and add widgets in haphazard order, so long as i set the x and y right, they go in the right place. It is almost like html in how it works, except html requires ordering of the statements.
So please, tell me.. why is swing difficult? It's overwhelming because people don't do graphical stuff from the getgo, just like tk and what not. The difference is, swing just makes sense. Now it's not to say others DON'T make sense. perl/tk makes a lot of sense too, but the oop in perl is weak, so it's easier to make tpyos and screw things up once in a blue moon... especially sans strict.
Re:Ease of use and elegence with GUI toolkits (Score:2)
Difference is that Java has different layout managers (GridBag being but one), whereas (so far as I can tell; am just a beginning gtk programmer), there is but one layout manager, but you can lay in components that effectively control the layout (hbox, vbox, etc.) In java, you select the layout manager; you don't put in different components that control layout.
Re:Ease of use and elegence with GUI toolkits (Score:3, Informative)
To sum up: in GTk+, a "layout manager" is just a widget with other widgets contained in it, while in Java a layout manager is a special construct separate from widgets which is assigned to any widget which is a generic container.
In practice, I generally prefer GTk's approach, but I see merits in both approaches.
Re:Ease of use and elegence with GUI toolkits (Score:3, Informative)
Er, Windows Forms has layout management [microsoft.com].
It's not as powerful as e.g. Qt's [trolltech.com] but it's easy enough to handle from the form designer and simple enough to understand.
Rik
debate? (Score:2, Interesting)
Ignoring standards (Score:5, Insightful)
Interestingly enough, we never "ignored" standards. We spent a huge amount of time understanding and evaluating the existing standards. SVG and CSS both were passed on because they weren't adaquate to meet our needs. WinFX is a platform for the next decade or longer - we can't start with a base that doesn't meet our needs.
What a load of shit. That mentality is where the "embrace and extend" came from. It might not meet Microsoft's needs, but CSS and SVG are the bloody standards that people are using! What do they know about the coming decade that we don't?
What Chris said pretty much flies in the face of the entire paragraph that Miguel wrote! Look:
I understand why someone would invent their own version of SVG or their own version of CSS: those standards can be difficult to implement, and growing your own version is a lot simpler than having to adapt an existing model to a new model.
I would have probably done the same if I had been in their position: its easy. But I would think that Microsoft has a higher responsibility towards the developer base that must create tools that interop with third party components: creating a new standard for graphics just because its `easy' is not really a good answer.
Implementing SVG might have problems and limitations, but the advantages outweight these problems: there are plenty of tools today to produce and consume it and it fits better with the rest of the industry. A benefit that Avalon users will not have and will just partition the industry again for a fairly poor reason.
Standards are there for a reason. If Microsoft doesn't like them they can see figure 1 [falstad.com]. I have a feeling that Microsoft may not dislike the standards themselves, they just don't like the fact that they're not their standards.
Re:Ignoring standards (Score:5, Insightful)
Well, if one were to use Microsoft's implementations of SVG & CSS, I totally agree.
Re:Ignoring standards (Score:3, Insightful)
They know that they have a monpoly and a disinterested userbase and thus they know that they can push anything down our throats that they want and most people won't care.
We (anyone who's not part of Microsoft) have no such knowledge nor power.
Re:Ignoring standards (Score:5, Insightful)
Which seems to me to miss the point of having standards. The value in standards isn't in whatever the standard specifies, it's the fact that everyone else is implementing the same standard.
Re:Ignoring standards (Score:3, Insightful)
What a load of shit. That mentality is where the "embrace and extend" came from. It might not meet Microsoft's needs, but CSS and SVG are the bloody standards that people are using! What
IMG is a bad example (Score:3, Informative)
IMG was added for Mosaic in one of the first short-sighted decisions which led to the mess that was later called HTML 3.2. When submitted for peer-review (your so-called "proper channels") people suggested that maybe it would be better to make a more general embedding element and that it should be a container so that backward-compatible content could be included inside. The ALT, element, if you think about it, is useless for this because no previous browser knew to look there! Also, it can only support plai
Re:Ignoring standards (Score:5, Interesting)
About inheritance and the API (Score:5, Interesting)
The whole point of abstraction is that Joe Programmer knows "button" derives from the next highest object. That's it. It's nice to know the other levels when you're learning the language's abstraction model for the first time/creating it, but once you get into down and dirty practical programming, you only really need to look up and down a few levels. If you're going all the way back up to Object and reconfiguring it, you're reinventing the wheel. That was the language designer's job.
Re:About inheritance and the API (Score:5, Insightful)
The average programmer doesn't care the the hierarchy is 10 or 11 levels deep (well at least until the next avalon release comes out). But Microsoft should care, and Ximian also cares. Very deep inheritance hierarchies are tough to maintain. Inheritance is a pretty intimate binding of two classes and changes higher up in the hierarchy sometimes have disasterous changes down the line. From a talk [fnal.gov] that I heard Stroustrup [att.com] give, he doesn't care for them much either. (I didn't attend this one, but I imagine it is the same based on the slides.)
In this day and age, the commonly accepted wisdom is that you break functionality into interfaces and you write shallow helper classes to degalate to for common implementations of those interfaces. (C# is quite possibly the best language there is for supporting this architecture.) This way you don't force the user to use implementations they don't want when they want to program to a particular interface in your system.
If you look at the code for eclipse [eclipse.org], you'll see a good example of this design in action.
They just don't get it (Score:3, Interesting)
Well, yes it is complex. But it only appears complex because of a lack of abstraction. It is a matter of perception.
There has always been a big clash between the simple black box and the gazillion arugument camp
In case you haven't noticed, I favor the simple black box.
Let me just say that the reason why people don't fall over when they walk, or birds do not fall out of the sky when they fly is because of an interface which was designed with a very simple black box interface.
Enuf said. Either you get it or you don't.
So? (Score:2)
So? Does he expect Microsoft to change what it is doing because they don't have the budget to port everything they are releasing? If you don't feel like it is a priority then fine, but I fail to see how that should factor into a analysis/review of the software itself.
Then again it seems to be increasingly rare for people to make unbiased decisions these
Re:So? (Score:3, Insightful)
The fake Miguel de Icaza posts. (Score:5, Informative)
Just wanted to point out that the inflamatory
comments that are being made in my name are someone
else's idea of fun. Some guy decided to squatter
the login `Miguel de Icaza'.
Miguel.
Re:The fake Miguel de Icaza posts. (Score:5, Funny)
I must tell all my friends. They will be confused.
English Please (Score:4, Insightful)
I'm not trying to be Xeno Phobic but write in the language that people can best understand your arguments. Miguel's blog is a bunch of off the cuff un-supported arguments.
Un-supported only in the sense that there are no examples and/or references. He may be right but doesn't do a very good job expressing his thoughts.
It would be nice to see a better articulation of why it is that he's so concerned with Avalon, in the section about the developer needing to know a lot of the internals to implement code, he's very short on details of why this is. If your going to go to the trouble of jotting good thougts down in a blog - make them worthwhile.
Has anyone tried out Athene desktop (Score:3, Informative)
I have tried out Athene and it is very fast - they claim over 25% speed increase to X11.. This is a complete alternative to X11 but can also run X11 apps.. Try out the free version http://www.rocklyte.com/athene/ [rocklyte.com]. You can run games on the desktop using SDL.. they have a version of Doom and Quake available for download as well.
I was very impressed with both the desktop as well as the underlying technologies - the desktop is scripted using an XML-like language called DML..and the engine used is called Pandora.
The graphics driver technology is based on SNAP graphics from SciTech and seems very easy to manage.
My two primary gripes with the system were that the licensing seems a little restrictive.. and also, the package management software seemed very weak (if you are using the OS).
But other than that - a very polished desktop.. and underlying API. Most impressive.. Definitely the most innovative and cutting edge Linux desktop and distribution around.
Also wonder if there is a move to implement Windows Forms (for Mono) using the Pandora Engine SDK.
New reply (Score:3, Informative)
Listen Folks (Score:3, Interesting)
I don't want to be chasing their tails I like technically driven solutions. If you want to make me a linux developer happy give me this. Take mozilla and make it a real development platform. Put a nice clean api on it and let me use mozilla to write all of my software so it will run fast on anything. This is what I want, doing so would neutralize the platform, the only thing I care about.
Avalon is SVG based so its rendered in 3d (Score:2)
Not necessarily 3d as in "3 dimmensional" but on the other hand not necessarily restricted to what we can 2d either
Re:Avalon is SVG based so its rendered in 3d (Score:5, Informative)
Re:Avalon is SVG based so its rendered in 3d (Score:5, Informative)
Um... say what?
Ok, to begin with Avalon doesn't support SVG, which is one of the things Miguel was blasting them for.
Secondly.. 2D rendering is not 'pixel based' today.
It's never been 'pixel based'. Windows has had device-independent 2D rendering since.. well, forever. (Windows Metafiles ring a bell?) So has just about everything else (Mac, Atari) too, (X doesn't, but the Unix platform tended to use PostScript for that stuff).
What is new here is the support of more advanced things like compositing (something you couldn't do device-independently before). OS X already has this of course in Quartz.
Re:Avalon is SVG based so its rendered in 3d (Score:2)
http://msdn.microsoft.com/msdnmag/issues/04/01/
As for 2d rendering, it has always been pixel/bitmap fill based and not vector based.
http://wwws.sun.com/software/xml/developers/svg
Re:Avalon is SVG based so its rendered in 3d (Score:5, Informative)
Except that Microsoft does not follow the SVG standard. So it's not SVG, it's just similar.
As for 2d rendering, it has always been pixel/bitmap fill based and not vector based.
Again, you are wrong. Although you seem to believe it, SVG isn't the first vector graphics format in existance. Not by a long shot. (PostScript is from 1984) Nor is Avalon the first device-independent 2D-graphics API.
Providing a ref to the SVG spec doesn't make it true.
Ok? Now, I've contributed fixes to Apache Batik, (an SVG library) and I've also written PostScript generators, and most recently I've contributed stuff to the Java2D library for libgcj. (another 2D library which is not 'pixel based')
I do believe I know something of vector graphics.
Re:Avalon is SVG based so its rendered in 3d (Score:5, Informative)
Re:Avalon is SVG based so its rendered in 3d (Score:2)
Re:Joe Beda talks the talk.... (Score:5, Informative)
Btw, there is already a new graphic API, kind of a predecesor of Avalon, it's called GDI+. Notice that it is class based and supports ARGB format (like DirectX), but it can be used without having to do a bunch of DirectX setup calls. I am currently using GDI+ and it is much easier to use than the Win32 GDI functions.
Re:Joe Beda talks the talk.... (Score:5, Informative)
Qt4 will also fill this gap - any QT widget can be drawn on top of an OpenGL canvas, and it will be OpenGL accelerated.
Re:Joe Beda talks the talk.... (Score:3, Informative)
Re:Joe Beda talks the talk.... (Score:5, Informative)
http://slashdot.org/~miguel [slashdot.org]
Re:Joe Beda talks the talk.... (Score:5, Insightful)
I think desktop apps flipping around in 3D and all the new ways you could work with apps would be cool.
But DirectX isn't right for the task, it's too low level. Too much DX code only works on ATi or nVidia, too many vendor specific extensions and shitty drivers. It's great for tweaking the crap out of Doom 3 so it goes as fast as it can, but it would suck if some pixel shader operation that only works on Geforces blowed up my coding session
Avalon is higher level, not trying to implement the latest hardware tweaks and gizmos, just base functionality you can count on across the board.
There's no redundancy, the way I see it. Two different tools for two different tasks.
Re:Joe Beda talks the talk.... (Score:3, Interesting)
Perhaps you refer to OpenGL. DirectX is an opaque MS API. There are not extensions. In fact, DirectX has a standard shader language, which are converted to the native
Re:Joe Beda talks the talk.... (Score:4, Insightful)
What makes iD special is game play and the game engine.
If Carmack moved to DX9 or it's successors, players and developers would move with him.
Re:Joe Beda talks the talk.... (Score:3, Informative)
The big benifit for at least game developers is that combining GUI with 3D graphics should be less of a pain in the butt.
Re:Joe Beda talks the talk.... (Score:3, Informative)
They didn't realise this when they created the open source open office, and the original makers of open office contacted them on this issue and the compromise is to call the project "Open Office.org". And hence OO.org
Re:As far as I understand... (Score:5, Informative)
1) Microsoft isn't porting anything to Linux.
2) Miguel doesn't work for Microsoft, and never has.
3) Miguel works for Ximian, a company he founded, and which is now owned by Novell.
Re:As far as I understand... (Score:3, Informative)
He doesn't improve their ideas anyway, he debates with M$ employees on their ideas. Also, improving the ideas of the competition is a significant part of said competition. Competitors routinely improve on another company's products to steal their customers.
Nor has Novell *recently* announced any co-operation with Microsoft, as the two right now are essentially competing in the OS w
Re:As far as I understand... (Score:2, Funny)
Re:As far as I understand... (Score:2, Informative)
Re:As far as I understand... (Score:5, Interesting)
eventually open source some interesting pieces of
software. The pieces are already in movement.
Microsoft is like any other corporation, they have
to do what is best for their shareholders. They
have had a pretty good ride but Linux and open
source have changed the plane, so they will
likely have to transform in the future in a different
kind of company.
In either case, working for Microsoft is not the
end of the world. I just happen to be a lot
happier working for Novell doing open source
software and working with many talented developers
from the Novell background, the SUSE background
and Ximian. An opportunity in a lifetime to
reshape this industry.
Miguel.
Re:As far as I understand... (Score:3, Insightful)
If you are going to "reshape this industry", you could at least try to do so into a less hideous new shape. (l)Unix has been dead for more than fifteen years[1], but better things have been around for almost as long.
It's funny that everyone keeps heralding how Unix and its variants are a dead end, b
Re:As far as I understand... (Score:3, Insightful)
You apparently do not understand.
"Mr. Icaza is now working for Microsoft"
Try Novell in the Ximian devision. That parent company also owns the SuSE Linux distro and tools now btw.
"and he spends his energy on porting Microsoft ideas and projects to the Linux platform"
Ya just like the blackdown project, or OpenOffice.org is doing for Sun's ideas and projects. You wrote the above as if it was a bad thing. Honestly do you want to be locked out of the potential of write one run everyw
Re:As far as I understand... (Score:2)
Try Novell in the Ximian devision. That parent company also owns the SuSE Linux distro and tools now btw.
umm i think the parent said that Miguel DOESN'T work for MS.
At any rate I see the things that Miguel is trying to do as good things for the community. Commoditizing certain types of applications is the foundation of the gpl culture. Almost all successful gpl apps have been an Nth implementation of a defacto or real standard. beatiful things like mono, win
Re:Ad Nauseum (Score:2)
I think this idea for an API is amazingly innovative. Far less weight than the expensive (in cpu and bandwidth) desktop interfaces/api's we have now for any platform.
Possibly microsoft's answer to competing and blowing away the mozilla XUL or whatever it is called these days
Re:Ad Nauseum (Score:4, Interesting)
Too bad they always have to make their own versions of stuff that are 90% similar to the original, but the other 10% of stuff that ties directly into MS products. See J++ and C# for other examples.
If only they knew how to play well with others.
Re:look at those URLs... (Score:3, Informative)
Re:look at those URLs... (Score:5, Informative)
Re:MFC (Score:3, Insightful)
Re:MFC (Score:3, Informative)
I think
Re:.NET (Score:3, Informative)
However, I suspect that line of thought comes from a lack of understanding of how little Win32 really does
Re:Miquel de Icaza is a terrorist sympathizer... (Score:3, Informative)
From the site:
Q: What principles guide your work?
EI: EI is committed to communicating the realities of life on the ground for ordinary Palestinians and challenging myths and distortions about them in the commercial media through analysis and our own reporting. EI is independent of any political, factional, ethnic, or religious affiliation, and bases its view of the confl
Re: Ctrl+Alt+Delete makes my M$ Secure?? (Score:3, Insightful)
Think about stealing passwords. One of the easiest way
Re:PDF like? (Score:3, Informative)
When I worked at NeXT and then Apple during the merger and a year afterwards, we had the big financial decisions to rip out Display Postscript which NeXT co-developed with Adobe on the basis that Adobe would not negotiate on terms regarding the licensing fees they charged to use Postscript.
So Engineering designed Quartz to utilize all the Postscript primitives ala PDF and since Adobe already opened up PDF the financial issues were resolved. The addition of compositing and all the
Re:same old same old (Score:3, Informative)
Yeah, except this isn't one of them. Look here [slashdot.org] for the real Miguel.