the java jvm can lock up hard. makes recovery quite interesting.
Off course it can lock up (nothing is perfect) , but it never occured to me. I experienced a few thread deadlocks, which are also not nice to debug, but only had one complete java VM crash - and that was due to faulty memory as memtest86 revealed.
also java and.net are "successfull" b/c of general investment from big companes. there's lots of marketing dollars selling products and articles about these platforms. the PHB's read the PHB magazines, and those mags have articles re java and.net. Do those mags have articles on D? then it's not a competition.
Sure there's a lot of hype around java related issues, but that isn't the reason for it's success. ( Every commercial software is hyped, dummies fall for hype - news at 11)
Java is successfull because:
it offers a nice abstraction for system specific issues which is only seldomly leaky.
you can dive into an unknown project, select a random source file and understand it. You may have problems getting the big picture, but the code itself is there - there are no suprises like operator overloading, defines etc. All you need to know about the class is in it (and it's superclass and interfaces)
its complex enough to do some magic in it, but the idiot next cubicle can't run totally amok and wreck the whole system.
IMHO all these reasons are more important than for Java's success than hype.
"a raytracer is *incredibly* simple, algorithmically..."
Handing polygons to OpenGL is even easier.
A FPS is much more complex than just passing a few polygons. You need a full 3D engine with occlusion culling, player and object movement, scene scripting, map handling, collision detection, sound system.
But the main chunk will be all the textures, sounds, models and maps that add to a massive amount of data.
(one uncompressed texture in 256 x 256 in 24 Bit color takes 192 kilobyte alone).
As even really good compression algorithms won't compress all that data down to 96K, you'll need to calculate it algorithmically - which is quite difficult if you want it to look as good as the screenshots show it.
4 out of 5 topic pictures for this story are less than 4000 bytes.
Re:OGL alone is not enough for gaming
on
The State of OpenGL
·
· Score: 4, Funny
Your friend's project sure sounds exciting. Now there will be nine hundred and ONE incomplete, poorly-written, multipurpose game engines on Freshmeat! Praise the Lord!
It's not about what you can do with it - it's about having a reliable platform even in the case Sun make up their minds or go broke.
Why do so many linux users take it as a personal insult when someone refuses to give them something for free? (Code, music, movies, whatever.)
you are mixing up issues with can't be discussed with such broad strokes.
copyright was meant to serve society by giving the copyright holder a limited monopoly on his work and therefore encouraging development of new works.
As it is nowadays, copyright is used to perpetuate commercialisation of existing works while cutting in the rights of others to build deriative worksafter a reasonable time frame.
The combination with patents leads to the exact opposite of its original intention.
IMHO the solution to the cliff hanger was already written. The show dies. They take the solution to the cliff hanger and make it a mini series.
If it is only four hours long, they won't be able to do anything but present the solution and round off the end of the show.
They're just finishing the cliff hanger which was already layed out. The new scenes shot are only to give a frame and to replace what was once thought be to an entire season.
Can you give me the technical reasons why it sucks
When I started working as a paid developer I got into a running project to build some kind of modular web page generator tool based in VC++/MFC/DAO/Access.
Fist of all, we followed Microsofts example in using hungarian notation (prefixing the real Variable name with type information etc).
So you really got to see variable names like
m_lpzstrFullFilemamePath (Class member, long pointer to zero terminated String). Can you imagine having to deal with 10 variables starting with this kind of crap?
MFC (Microsoft Foundation Class) is an really ugly C++ wrapper around the win32 API exposing all win32 specific handles to the C++ layer which is needed because you have to convert between handles and Windows on the fly.
The MFC/DAO (Data Access Objects) binding is another really ugly hack which internally keeps DAO specific workspace handles in DLL structs.
All these ugly hacks are kept secret. The code is hacked to look easy to use on first look. You get to know the ugly side effects when you experience mysterious crashes.
Like first unloaded dll wracks all database access.
After digging through Microsoft Knowledge Base, Independent Help Sites, etc. for hours you'll find an even uglier hack to fix aformentioned hack.
Apart from those system-immanent bugs there are updates.
Microsoft releases Office 2000 and you get a whole night searching for the reason why your app crashes when using the DAO DLL's supplied by Office 2000.
The reason was that one of microsoft code-monkeys decided to first copy a 2-byte-per-character unicode string into an 1-byte-per-character string buffer and check afterwards if it really fits.
The solution for this bug was redefining some weird secret internal function which led to all internal data buffers being allocated twice their normal size. yes, that nearly doubled the amount of memory our application used, but Office-2000 compatibility was a must.
So, apart from them being monopolistic bastards, there are real technical reasons to loathe microsoft's APIs
So your program works two non-free JVMs that don't come by default on RedHat, Suse, Debian, Mandrake, Lindows, Xandros, or anything else worth mentioning.
Since I program mainly server side java applications, client-side installation is a non-issue for me.
Have you ever tried to get your mother to install the Sun JVM? I had to help my Computer Science professor do it so I know that it's difficult.
No.. my mother can't install a java vm. she can't install linux or windows either.
But she won't install any software so your point about software distribution doesn't fit to her.
Basically I want my software to _work_. Even when I give programs to kernel hackers I try explain things so that anyone can do it. Java programs are impossible to support in this way.
Anyone supposed to be able to install your software will be able to install a java vm, too.
I they want to do so is another question.
Don't misunderstand me: I would really apreciate a free (as in freedom) java VM including free specs. I also think that Sun would have enormous benefits in entering a real partnership with the free software community.
Sun's refusal to really open java up will finally lead to.NET winning the virtual machine race.
And after that MONO and DotGNU are toast. Microsoft has already stated that they will enforce their patents. And, yes, the.NET runtime implemented from DotGNU is based on an ECMA standard and all, but laws tend to bend around Microsoft in America, so being right does not necessarily mean winning against Microsoft.
If Europe wants to see a real abuse of monopoly power, wait until MS just decides to stop offering their products on the European market.
It isn't the government's place to tell a company what they can or cannot sell.
I've had that dream, too. After Microsoft stops all its sales in europe at first nothing will happen.
Most people who need windows already have it. If someone is in serious need for another version they just copy it.
The software vacuum is filled by miriads of small companies having a nice real competition about who sells the best linux / offers the best linux support. And everyone lives happily after.
Re:Blame windows it already looks like Gnome
on
Gnome.org Compromised?
·
· Score: 3, Funny
so I followed your link..
ADODB.Parameter error '800a0d5d'
Application uses a value of the wrong type for the current operation.
E:\DATA\INETPUB\WWWROOT\NBR\HOME\../ inc/select_article.asp, line 9
guess next you'll tell us that ASP.NET is the better plattform for web services =)
It is possible to "map" cvs-specific usernames onto system usernames (i.e., onto system login names) in the `$CVSROOT/CVSROOT/passwd' file by appending a colon and the system username after the password. For example:
cvs:ULtgRLXo7NRxs:kfogel generic:1sOp854gDF3DY:sp wang anyone:1sOp854gDF3DY:spwang
Thus, someone remotely accessing the repository on `chainsaw.yard.com' with the following command:
would end up running the server under the system identity kfogel, assuming successful authentication. However, the remote user would not necessarily need to know kfogel's system password, as the `$CVSROOT/CVSROOT/passwd' file might contain a different password, used only for CVS. And as the example above indicates, it is permissible to map multiple cvs usernames onto a single system username.
Besides, Java still is not an open platform and there are no open source implementations of the entire platform, so when you compare it to Mono, you are comparing apples and oranges.
GCJ!
The situation is very similar:
both are free
both offer a running implementation of their platform
both are missing important parts of the API (GCJ has no swing, Mono has no System.Windows.Forms and maybe won't be able to implement it because of software patents).
If you have the actual shrink-wrapped product CD with appropriate holograms, this isn't an issue.
Who tells you that no one compromised the data before it was put on the CD?
How can you be sure that the software companies compilers aren't compromised? (see Reflections on trusting Trust)
Even if the software you bought isn't compromised by any third party - can you trust the software company ?
Ok, it's not One-click-cross-install (tm). But if you need such a tool, why are you installing debian? You'd better use Fedora, Mandrake or Suse in this case.
Java is successfull because:
- it offers a nice abstraction for system specific issues which is only seldomly leaky.
-
you can dive into an unknown project, select a random source file and understand it. You may have problems getting the big picture, but the code itself is there - there are no suprises like operator overloading, defines etc. All you need to know about the class is in it (and it's superclass and interfaces)
-
its complex enough to do some magic in it, but the idiot next cubicle can't run totally amok and wreck the whole system.
IMHO all these reasons are more important than for Java's success than hype.But the main chunk will be all the textures, sounds, models and maps that add to a massive amount of data.
(one uncompressed texture in 256 x 256 in 24 Bit color takes 192 kilobyte alone). As even really good compression algorithms won't compress all that data down to 96K, you'll need to calculate it algorithmically - which is quite difficult if you want it to look as good as the screenshots show it.
4 out of 5 topic pictures for this story are less than 4000 bytes.
.. still bitter about yours ?
copyright was meant to serve society by giving the copyright holder a limited monopoly on his work and therefore encouraging development of new works. As it is nowadays, copyright is used to perpetuate commercialisation of existing works while cutting in the rights of others to build deriative worksafter a reasonable time frame. The combination with patents leads to the exact opposite of its original intention.
that's why many people are seriously pissed.
Normally one doesn't write half a cliff hanger.
IMHO the solution to the cliff hanger was already written. The show dies. They take the solution to the cliff hanger and make it a mini series. If it is only four hours long, they won't be able to do anything but present the solution and round off the end of the show.They're just finishing the cliff hanger which was already layed out. The new scenes shot are only to give a frame and to replace what was once thought be to an entire season.
Guess that they only cut together some leftovers from the series to minimize damages.
wouldn't count on farscape being continued...
When I started working as a paid developer I got into a running project to build some kind of modular web page generator tool based in VC++/MFC/DAO/Access.
Fist of all, we followed Microsofts example in using hungarian notation (prefixing the real Variable name with type information etc). So you really got to see variable names like m_lpzstrFullFilemamePath (Class member, long pointer to zero terminated String). Can you imagine having to deal with 10 variables starting with this kind of crap?
MFC (Microsoft Foundation Class) is an really ugly C++ wrapper around the win32 API exposing all win32 specific handles to the C++ layer which is needed because you have to convert between handles and Windows on the fly.
The MFC/DAO (Data Access Objects) binding is another really ugly hack which internally keeps DAO specific workspace handles in DLL structs. All these ugly hacks are kept secret. The code is hacked to look easy to use on first look. You get to know the ugly side effects when you experience mysterious crashes. Like first unloaded dll wracks all database access. After digging through Microsoft Knowledge Base, Independent Help Sites, etc. for hours you'll find an even uglier hack to fix aformentioned hack.
Apart from those system-immanent bugs there are updates. Microsoft releases Office 2000 and you get a whole night searching for the reason why your app crashes when using the DAO DLL's supplied by Office 2000. The reason was that one of microsoft code-monkeys decided to first copy a 2-byte-per-character unicode string into an 1-byte-per-character string buffer and check afterwards if it really fits. The solution for this bug was redefining some weird secret internal function which led to all internal data buffers being allocated twice their normal size. yes, that nearly doubled the amount of memory our application used, but Office-2000 compatibility was a must.
So, apart from them being monopolistic bastards, there are real technical reasons to loathe microsoft's APIs
No.. my mother can't install a java vm. she can't install linux or windows either.
But she won't install any software so your point about software distribution doesn't fit to her.
Anyone supposed to be able to install your software will be able to install a java vm, too. I they want to do so is another question.
Don't misunderstand me:
I would really apreciate a free (as in freedom) java VM including free specs. I also think that Sun would have enormous benefits in entering a real partnership with the free software community.
Sun's refusal to really open java up will finally lead to .NET winning the virtual machine race.
And after that MONO and DotGNU are toast. Microsoft has already stated that they will enforce their patents. And, yes, the .NET runtime implemented from DotGNU is based on an ECMA standard and all, but laws tend to bend around Microsoft in America, so being right does not necessarily mean winning against Microsoft.
The company I work for develops and maintains a computer retailer online shop for another company.
When we first got into it, the website was a awfull mess of ASP pages.
The reimplementation we did enhanced on that with embedding microsoft vm java code via COM bridge into the ASP pages.
That worked better.
Than we refactored that solution to a jsp custom tag based framework running on windows / sun jdk. Later we switched to linux / sun jdk.
With minor corrections (replacing a secure random provider, and a ssl-handle) it runs like charm on linux / ibm-jdk.
So I really don't think your point about imcompatibility is valid.
hope you'll stand that position when it comes to "unpopular" guantamo bay prisoners.
I've had that dream, too. After Microsoft stops all its sales in europe at first nothing will happen.
Most people who need windows already have it. If someone is in serious need for another version they just copy it.
The software vacuum is filled by miriads of small companies having a nice real competition about who sells the best linux / offers the best linux support. And everyone lives happily after.
guess next you'll tell us that ASP.NET is the better plattform for web services =)
my first thought was :
why should I listen to what m_plzstrSimonyi has to say about programming?
from some online CVS documentation :
It is possible to "map" cvs-specific usernames onto system usernames (i.e., onto system login names) in the `$CVSROOT/CVSROOT/passwd' file by appending a colon and the system username after the password. For example:
Thus, someone remotely accessing the repository on `chainsaw.yard.com' with the following command:
would end up running the server under the system identity kfogel, assuming successful authentication. However, the remote user would not necessarily need to know kfogel's system password, as the `$CVSROOT/CVSROOT/passwd' file might contain a different password, used only for CVS. And as the example above indicates, it is permissible to map multiple cvs usernames onto a single system username.
Q: How do I know that I have been infected by a virus?
A: Depends. Win32.PukeMasterC smells like rotten food, MyFrood2 like swiss cheese..
GCJ!
The situation is very similar:
Sun has their own, free (Mozilla public license derrived) Java IDE.
NetbeansWho tells you that no one compromised the data before it was put on the CD?
How can you be sure that the software companies compilers aren't compromised? (see Reflections on trusting Trust)
Even if the software you bought isn't compromised by any third party - can you trust the software company ?
Chapter 3.7 of the Debian Install HOWTO describes a cross install method for debian which works quite well.
I used it when I needed to install debian on a computer with new adaptec scsi controller which was only supported in 2.4.22+ :- boot Knoppix
- Follow Cross Install Instructions
- Ready.
Ok, it's not One-click-cross-install (tm).But if you need such a tool, why are you installing debian? You'd better use Fedora, Mandrake or Suse in this case.