JVM/Java memory footprint

A

alexcpn

Hi,
Though I have some three four years experience in C++ ,I did not have
that much oppurtunity to work in Java. Currenly I was doing some
analysis for a very simple CLI and was surprised to come with a memory
restriction. I found that if I use Java for developing the CLI
application I will be exhausting the memory of our Application Server
(AS). Just to mention the architecture ,users (telecom operators) use
a metaframe server client ( =something like remote desktop) to login
to the AS and then open a GUI to work on it. With Java I can service
only about 15 clients with the available memory . I just checked the
reason for this resource crunch and found that already many Java based
GUI's are served by the AS and each is taking some 25 MB or more. The
first thing I thought is that adding more RAM will solve this ( though
this is not an easy option) . Then I understood that a 32 bit system
can have just about 3 gb ram for applciations and our AS had already 4
GB with 1.5 GB VM also configured. Then I thought there might be ways
to make the JVM shareable. But no. Also tried to use the flags to fine
tune JVM. No go there also. Irrespective of how much you limit the
actual limit is in the heap size allocated to the application and not
to the private bytes of JVM.

-----------------------------------------
Data from Jconsole for the Java application

Memory
Current Heap Size 4.3 MB
Max heap size 12. 2 MB ( set by flag)
Committed memory 5 MB
Operating System
Committed VM - 26.7 MB

Data from Perfmon (for java.exe)

Private Bytes - 27.7 MB
----------------------------------------

I am part of a large team that developes and maintains a telecom
network managment software system. Also this software is used all
around the globe almost in around 190 countries usually by telecom
service providers. So this is a very real problem that I am speaking
about. I am getting to love the simplicty of Java and of the great IDE
Eclipse as much as I love the power of STL; but I am comming face to
face with the main constraint of Java, its memory footprint and I
guess thousands of others like me must have faced similar problems.

If so the next question is what is SUN doing about this. I could not
find it in their top 25 RFE's or top 25 bugs. (http://bugs.sun.com/
bugdatabase/top25_bugs.do http://bugs.sun.com/bugdatabase/
top25_rfes.do )

1) Is this really not a problem in the outside world then ?

2) Or is it that with the introduction of 64 bit HW and serveres this
will be of no significance ?

Anyway I doubt if companies like ours will adopt 64 bit HW and servers
because of the costs involved in it ( note this is just a logical
guess, I have no experience in such decisions)

Anyway I am now forced to use C++ for the client and use Java on the
server side. Fortunately most of the Java in the server side is done
up as EJB's all conatined in the JBoss server thus consuming only one
JVM there)
 
D

Daniel Pitts

Hi,
Though I have some three four years experience in C++ ,I did not have
that much oppurtunity to work in Java. Currenly I was doing some
analysis for a very simple CLI and was surprised to come with a memory
restriction. I found that if I use Java for developing the CLI
application I will be exhausting the memory of our Application Server
(AS). Just to mention the architecture ,users (telecom operators) use
a metaframe server client ( =something like remote desktop) to login
to the AS and then open a GUI to work on it. With Java I can service
only about 15 clients with the available memory . I just checked the
reason for this resource crunch and found that already many Java based
GUI's are served by the AS and each is taking some 25 MB or more. The
first thing I thought is that adding more RAM will solve this ( though
this is not an easy option) . Then I understood that a 32 bit system
can have just about 3 gb ram for applciations and our AS had already 4
GB with 1.5 GB VM also configured. Then I thought there might be ways
to make the JVM shareable. But no. Also tried to use the flags to fine
tune JVM. No go there also. Irrespective of how much you limit the
actual limit is in the heap size allocated to the application and not
to the private bytes of JVM.

-----------------------------------------
Data from Jconsole for the Java application

Memory
Current Heap Size 4.3 MB
Max heap size 12. 2 MB ( set by flag)
Committed memory 5 MB
Operating System
Committed VM - 26.7 MB

Data from Perfmon (for java.exe)

Private Bytes - 27.7 MB
----------------------------------------

I am part of a large team that developes and maintains a telecom
network managment software system. Also this software is used all
around the globe almost in around 190 countries usually by telecom
service providers. So this is a very real problem that I am speaking
about. I am getting to love the simplicty of Java and of the great IDE
Eclipse as much as I love the power of STL; but I am comming face to
face with the main constraint of Java, its memory footprint and I
guess thousands of others like me must have faced similar problems.

If so the next question is what is SUN doing about this. I could not
find it in their top 25 RFE's or top 25 bugs. (http://bugs.sun.com/
bugdatabase/top25_bugs.dohttp://bugs.sun.com/bugdatabase/
top25_rfes.do )

1) Is this really not a problem in the outside world then ?

2) Or is it that with the introduction of 64 bit HW and serveres this
will be of no significance ?

Anyway I doubt if companies like ours will adopt 64 bit HW and servers
because of the costs involved in it ( note this is just a logical
guess, I have no experience in such decisions)

Anyway I am now forced to use C++ for the client and use Java on the
server side. Fortunately most of the Java in the server side is done
up as EJB's all conatined in the JBoss server thus consuming only one
JVM there)
-------
I would like to get some comments on questions 1 and 2.

Thanks
Alex.C.P

Hmm, I'm not sure I understand your setup, but it appearch you have a
single server machine which runs both the Java server process and the
multiple client processes?

Usually, Java clients are run on seperate client machines, so the
number of clients doesn't effect the footprint.

Anyway, to answer your questions, I've never found this to be a
problem in any of our environments, so perhaps there is some problem
with your architecture/design/configuration. I think that this problem
doesn't have anything to do with the 32 vs 64bit platform, but perhaps
a misunderstanding somewhere.
Java does not have a tiny footprint, but last I checked, 2048M(2gig)/
32Mb = 64. That means that you'd be able to run around 64 seperate JVM
processes on one machine. This isn't a typical situation, and it still
doesn't seem to fit your conclusions.

Maybe it would help my understanding if I know what a "CLI" was. I
only know it as Clear Interrupt Flag :)

Hope this helps,
Daniel.
 
A

alexcpn

Hmm, I'm not sure I understand your setup, but it appearch you have a
single server machine which runs both the Java server process and the
multiple client processes?

Usually, Java clients are run on seperate client machines, so the
number of clients doesn't effect the footprint.

Anyway, to answer your questions, I've never found this to be a
problem in any of our environments, so perhaps there is some problem
with your architecture/design/configuration. I think that this problem
doesn't have anything to do with the 32 vs 64bit platform, but perhaps
a misunderstanding somewhere.
Java does not have a tiny footprint, but last I checked, 2048M(2gig)/
32Mb = 64. That means that you'd be able to run around 64 seperate JVM
processes on one machine. This isn't a typical situation, and it still
doesn't seem to fit your conclusions.

Maybe it would help my understanding if I know what a "CLI" was. I
only know it as Clear Interrupt Flag :)

Hope this helps,
Daniel.

Hi, Let me clarify - CLI just means the simple command line
interface :) .Well
the architecture is like this. We have a Application Server (AS) ,
which is also a metaframe server. Many operators with 'dumb' terminals
can establish a seession with the AS using a metaframe client. (say
like using a glorified version of telnet, or remote desktop or RDP).
Each time a new operator connects and invokes a java GUI or CLI a new
instance of Java.exe is started on the AS. Now there is another server
(say BS) which servers the AS. The business logic of the java clients
in the AS is served by the EJB components in the BS. Since all these
are developed as EJB's they run in JBoss container which needs only
single JVM (Java.exe). Also already there are 17 JVM's already running
in the AS consuming about 710 MB on avearge .Hope this clarifies

Regards
Alex.C.P
 
D

Daniel Pitts

Hi, Let me clarify - CLI just means the simple command line
interface :) .Well
the architecture is like this. We have a Application Server (AS) ,
which is also a metaframe server. Many operators with 'dumb' terminals
can establish a seession with the AS using a metaframe client. (say
like using a glorified version of telnet, or remote desktop or RDP).
Each time a new operator connects and invokes a java GUI or CLI a new
instance of Java.exe is started on the AS. Now there is another server
(say BS) which servers the AS. The business logic of the java clients
in the AS is served by the EJB components in the BS. Since all these
are developed as EJB's they run in JBoss container which needs only
single JVM (Java.exe). Also already there are 17 JVM's already running
in the AS consuming about 710 MB on avearge .Hope this clarifies

Regards
Alex.C.P


Well, that does help explain what you mean :)
That isn't a typical use of Java technology. Usually you have only a
handful of processes on one machine, either server processes or client
processes. Rarely do you have both.
Perhaps your glorified Telnet would be better implemented as a
connection to the Java server, rather than a connect to the machine
the server runs on. It really depends on how 'dumb' your terminals
are. If they are capable of running a JVM themselves, then I would go
that approach.

Also note that there are different types of JVM's out there. At the
very least, there is a Client JVM and a Server JVM that come
standard. With Java 1.6, Sun is introducing a method that allows all
of the JVMs to utilize shared memory for a portion of the footprint
(standard class files, and probably some other static JVM information)

Anyway, my suggestion is to try to move the client JVM process from
application server to the client machine, or at try to find a way to
have each client JVM process service more than one user.
 
N

nukleus

I looked into this footprint issue as in my case, the amount of heap
required could be very large and that is for each thread running under
the same instance of an app. Just to run the simpliest application,
JVM swallows tens of megabytes. And when you run the application that
could be in a way similar to your situation, literally hundreds of
megabytes are simply eaten up. I ended up inserting code to free up
all the huge lists and buffers that are generated on the fly and
not to preload large buffers with the data, say news article bodies,
and postpone it to the very last moment, when this data is needed.
Then, once it is used, I explicitly empty the buffers by removing
the vector contents or equivalent thereof.

Just to process a 25000 article archive, you could be loosing
terabytes, and not even clear where, cause your entire archive
is less than 50 megs. Where did all those terabytes go?
I am still trying to figure it out.

Seemed to help in that i see that the garbage collector is cleaning
all this stuff and heap grows as lil as possible. But it places
about major restriction on your code as you have to juggle things
like a clown in circus, and have to let go of things that were
already referenced and loaded, as you might want to do for
some feature operations.

I do not recall having ANY of these problems with
all my C++ experience, and here, you have to be aware to the
point that you have to make sure you declare your local variables
in a very specific scope. Otherwise, you might be loosing huge
amounts of memory if your main processing loop is not exited,
and it might have to run till completion of some major operation
that could be taking minutes if not hours to complete.

I, personally, think that the footprint issue is one of MAJOR
problems with Java's architecture and approach and have reasons
to believe that it'll never be resolved, in principle.

The whole idea of JVM is nothing different than the Pascal's
P machine idea. People wanted to invest millions into the
hardware chips that run the P machine code directly, and what
happened at the end? Anybody heard of Pascal?
Well, dead as it gets.

And what is such a compelling need for the virtual machine?
To make it MORE portable?
But where did all this "portability" go,
when you can't even build an app, working on the same
platform and be assured that unless other co-developers,
clients or customers, using your code, use the same exact
compiler as you do, they won't be able to even reproduce
your results unless they switch their entire development
environment to that which YOU use.

What kind of joke is this?

WHO in his clear mind would even bother?
Which customer, after double clicking on your executable
and seeing the error message as to JVM, is even going to
bother reading that error message?

Who is going to go hunting for the JVM, being subject
of megabux lawsuits?

And Sun, Microsoft, Borland, and that is about 99 percent
of the market share, do just about ANYTING and EVERYTHING
imaginable on making Java as much incompatible as they
can manage, and entrap you into their proprietary
architectures to the point of unbelievable.

And they hope to achieve what at the end?
Java becoming more portable and more acceptable?
How?

Just look at the very development environment.
Borland, for example, eats up over 400 megs,
and you never know what is going to happen when you
simply use your scroll bar ot look at one of the menus,
without even ACTIVATING it. What I am seeing is they
eat up gigabytes just when you select a different source
file. So, you'd better have a few spair terabytes of
RAM on your box. Otherwise, you'll be waiting for hours
with all the swapping going on.

And this is Borland, and not some shareware.
Windows XP goes as far, as to require nothing less than
XP SP2 to even INSTALL thei compiler and development
environment.

WHY?

What for?

Is it some kernel mode drivers that you need to run
a compiler and editor? Why do you have to reboot the
box after installing a compiled and development environment?
Can you imagine what it means for some major operations?

At least Borland installs. Thanks for that much.

Then, on the top of it, once you upgrade to a new version,
all of a sudden, your perfectly good code does not even
compile. The same exact code that worked perfectly on their
own previous version and that compiles on other compilers.

Where is all that portabilty thing they are talking about?

Not only that, but it is LITERALLY impossible to figure
out why. Because you get an error message that says
essentially: Error 2 + 2 is not equal to four.
WHAT?

And they give you an error, indicating that the package,
declared in one of sorce file does not correspond to
exactly the same source file in their own error message.
Not only that, but even if it compiles after you remove
some perfectly valid declarations, and try to run your
app, it claims it can not find you MAIN class!!!

What?

But HOW did you compile it on the first place?
WHERE do I find the thing I can change to make sure
your own compiler and run time environment reconcile?
Try to push the HELP button?
Well, what I found out, that just about the LAST thing
you'd want to do, is to push the help button, as, first
of all, it'll eat about half of a terabyte of memory,
and, after waiting for minutes, LITERALLY, you'll see
the help screen, your eye brows may get covered with
the snow, as you'd have to read about 50 pages of UTTERLY
incomprehensible stuff, that has NOTHING to do with your
situation, and even if you do so, you are not likely
to get ANY answers at the end. Only more questions
and more headache.

Thanks to this group, at least in SOME cases, you can
ask mere mortals if they know the answer to your simpliest
problme of all, and, if you are lucky enough, and they
are in the mood of doing so, they'll give you some
scetchy answer, that is nothing more than a hint,
and you'd have to go back to your puter and sweat it
out to full extent. Kinda sadomasochistict trip.

And what CAN you expect from those people?
Not only that, but you will be insulted and rediculed,
told that in Java, the names of routines MUST be in
lower case, even though Sun itself has some things
that start in upper case and some don't.

Now, what WHAT specific REASON do you have to make
all the method names in lower case?
Does it make your code MORE readable?
- Nope, just the other way around.

Does it prevent your compiler to compile this thing?
- Not even in the picture.

Does it make MORE clear what are you trying to do?
- Are you kidding?

So...

What IS that dictate good for?

Just read this very group.
You'd be amazed if you are new to java.

Those poor "clueless", when they are in just about the
biggest problem they can imagine at the moment,
instead of getting assistance,
get a brainwashing dictates on what you MUST do!

You see?

MUST!

And unless you do so, you are considered of an
"inferior race"!
Nothing more.
Nothing less...

And they'll be laughing at you like you are some kind
of idiot.

And why?

Can ANY of those "experts" explain WHY is it that
you MUST use lower case letters in just about ANY
situation imaginable?

I, personally prefer to capitalize each part of
a name and use long names that are self descriptive
by simply looking at them. Because when you work on
things and have to juggle about 10 screens if you
are lucky, you have a breakpoint hit, and need some
information from the help subusystem to see what
and why, you have VERY little chance to follow some
dictates on how YOU name things. You need to be able
to VERY quickly go through very large amounts of source
code and by just glancing at ANY name for few millisconds,
you should be able to understand that is that thing,
what it does and why is it there on the first place.

By REQUIRING to use lower case letters in the INITIAL
section of the name, you simply make them schitsophrenic,
as the mind have to constantly switch form one thought
template to another, in millisecond time frames!

It has to be able to distinguish the first part of the
word and use a different template to recognize it,
from the REST of your name, which MUST be capitalized.

What is this?

A mad house?

Are you, people, serious?

What IS the REASON behind all this insanity?

Well, somebody in the stone ages, at the very beginning
of java trip, decided that this is the way to go.
There was EXACTLY the same trip with Microsoft,
when they invented a system of naming things,
a system that allows you from the very name
to see what kind of object or variable you are using,
down to the variable type!

Well, at least THAT made some sense,
even though I am not sure what is the CURRENT hype
on the most innoncent thing in the world imaginable.

And here, you may not even get a reply on your
question, just because you show these people
some piece of code that does not fit THEY view
on Universe and a life force as such.

Wake up, people.

WHAT are you doing here on the first place?
Why do you even bother to answer questions?
You see, if I am an expert, built according to YOUR
templates, I don't need your help. I can teach YOU,
and teach you using REASON, and not some dictates
as to how the planet Earth is to turn and where
is the Sun to rise in the morning.

Is it clear enough?

I spent DAYS and still can not figure out what is the
problem on the first place. Just try to push the help
button. First of all, it'll eat up a terabyte of memory
and you'd be sitting there mezmerized, waithing for it
to stop swapping like mad and load all the stuff,
that is the simpliest thing in the world, just to
display a single help screen, which shouldn't take
more than a few milliseconds nowadays.

I am sitting here with a perfectly good computer
with the amount of memory enough to load the Universe,
at least from the virtual memory standpoint,
and about 90 percent of my time is spend on
waiting for a stupid help screen to load
or by merely switching some tab on development
user interface, before I even DO some action!
Just to switch to another source file,
you need to swap the Universe?

I wonder how many terabytes will it take
just to start up the next version of their
development environment.

Not only that, but when you upgrade to a new version
and start it up, you are like in a zombie land.
There is just nothing left of what you know
and what worked perfectly well in the last version
of their own product.
Now, just to create a hello project, displaying a blank
screen, you'd have to get a PHD at nothing less than
MIT or major universities of that grade.

You'll have to spend a couple of years fully adjusting
to their news version of the Universe, where they
added another 5 levels of indirection and abstraction
just to make it more "universal" and more "powerful".

How many times do you have to reinvent the wheel
before you realize that you are nothing more than a fool?

Now, just as you eventually get used to their new
environment, surely enough, it is outdated and you'd
have to shelve out kilobux to upgdate to,
and the whole story of the wheel of Karma
as told by the Idiot, is to make its next turn.

Do you, people, have time for all these "improvements"?

Why is it that it considered nearly illegal,
to use the AWT package, if you don't even want to have
anything fancier than that?

What I have done with AWT, is something I am not sure
they can do with all their latest and gratest version
of a super-sex machine. My user interface is designed
in such a way, that the user does not even realize he
is using it. It is so natural and so intuitive, that
you must be UTTERLY clueless to get lost in the mazes
of parameters giving you so much power that it'll take
generations to fully appreciate it.

You can have fields of 3 miles long if you want to,
which is exactly the case with usenet articls and
various headers. You can edit them, maximize or shrink
the dialogs, resize just about anything you can imagine,
and have just about ALL your diagogs and windows
available SIMULTANEOUSLY. You want it? You use it.
You don't want it, no problem, the dafaults make it
perfectly comfortable.

At ANY given junction, just hit F1 key, and you'll get
the EXACT and detailed TO THE POINT help on just about
ANYTHING under the Sun, and it does not have to swap
a few terabytes to do so, and you don't have to wait
for half an hour just because you pushed the "wrong"
button.

Why do I need all this super-sex?

My code should compile on ANY half decent java system
on ANY platform, going back to the beginning of Java time.
Even after a generation, it will run like a champ,
unless those software "kings" totally negate their own
version of the Universe.

Why do you think Bill Gates has become what he is?

Well, because of that lil stupid bios thing that
sits in your box, and the principles of backward
compatibility.

Anyone here ever heard of Zilog, which is one of the oldest
CPU manufacturers, whose CPU was compatible with intel,
and only was more powerful.

What happened to them?

Well, not even sure there is a trace of them left.
Why?

Because with every new version of their CPU,
they would completely change the instruction set,
which means that you'd have to throw away all your
perfectly working copies if you want to get a marginal
improvement on your performance.

What happened to Motorola, another major major
CPU manufacturer?

The same thing. New version = new instruction set.
Throw away all you have and shell out a few kilobux
if you want a 10 percent improvement.

I am simply amazed Mac is still in business.
With every new version of a Motorola CPU,
they'd have to fire all their programmers
and hire the new ones, cause that version
was utterly incompatible with a new one.
You'd have to rewrite the KERNEL itself.
Nothing less, nothing more.
Oh, sure, some claim that it is only the compiler
back and that has to be scrapped.

But how many gazillions upon gazillons of
resourses does it waste?

It is like trying to run,
and, at the same time, tying yourself with
a rope to the wall.

What kinda "progress" are you going to make,
if you have to return to the exact same place
in that Wheel Of Karma, just another resolution?

Do you think you all have time for that?

Sorry to tell you, but your rears is on fire.
Haven't you noticed?

WHY do I have to scrap the AWT, which is what Java
was to a large extent on the first place?

Why do they refuse to recognized their own old code,
that is at the very core of their entire product line?

See?

Bill gates can run some programs that are sitting
in my archive boxes that ran on 8088 CPU,
more than a generation ago,
and some of those programs, and even the news reader
i am using thise very moment, are written so long
ago, that Sun and all those pure blooded "experts",
would consider the stone age technology.

Well...

May be.

But you know what?

THEY RUN.

And I have seen just about ALL your fanciest gadgets,
and just about ALL their versions, and STILL I am using
this newsreader, and, after trying just about anything
imaginable, still find it about the most comfortable
thing to work with, even if it crashes on me once in a while,
even after i have to resize some windows after bringing
the program up because, for some strange reason, it
forgets the last session settings in some instances.

Because it is like a glove in my hand.
About the easiest, the most unobtrusive,
the most functional, the most intutivive,
the most flexible gadget I've ever heard of in terms
of newsreaders.

And it will run for generations to come.

THAT is real progress.
THAT is technology that is even worth mentioning.
THAT is the way to go.

Now...

I am being laughed at by all these "experts" around here
because I told them: No javax stuff. AWT is fine for what
I am doing. Not even interested. Because if you use Borland
development environment, you have support of some things,
but when you use the same perfectly working code, say
for example with the biggest and baddest of them all,
they do not even recognized ANYTHING beyond AWT, and
that is not some old and outdated version.

See?

Now, my code compiles on just about the oldest bullock
card and functionality and gui look probably more flexible
and more powerful than all you fancy gadgets and supersex.

THAT is what makes a difference between the master
and a bio-robot, brainwashed to literal oblivion,
and accepthing just about ANY template they are programmed
with as the ultimate reality, of which they haven't
a SLIGHTLEST clue.

Good enough?

Now...
Back to original subject,
and don't you please try to be "holier" than me,
blaming me for all the fattest posts you can imagine.
Because I am not writing for you alone,
regadless of what kinda "big fish" you think you are.
Seen fishes of ALL sizes.

I am writing this for generations to come
and they'll be able to find this information
with a single mouse click, and it may save them
years if not generations as they do not have to
make the same mistakes again, as they will have
even less time that you all have. They'll have
nanoseconds to make major decistions affecting
the life force as such, and the last thing they
have time for is the lectures and dictates
about name capitalization principles, senile aregument
as it gets. Uttery rigid and inflexible. Utterly dictatorial,
and a byproduct of constant and unending brainwashing
to accept the LOWEST common denominator
as a word of God.

Nothing less.
Nothing more...

Enjoy.

Now...

And once you get to that help screen,
your ear drums will be slightly popping
as you'll be given 50 pages of UTTERLY incomprehensible
material and explanations about those transcontinental,
fully distributed, database supported, utterly abstract
and super prototyped, globally distributed and
55 layers deep structures, architectures and designs,
would be referring to yet anothor thing of the same
maginitude.

But, to get an answer on the simpliest things
in the world, such as how do i get the keyboard events,
you'd have to graduate from Java Academy and get
youself a phd, wasting years of your life, trying
to comprehend just about the simplies things imaginable.

Just about the ONLY thing I have seen so far with java,
is that unless you use a 100 percend C code syntax,
you are in trouble and in a major way. And that goes
to just about every single architectural element in Java.

Just try to use ascync sockets in a dedicated socket
thread. Maaaan, you'd be having a headache for monts,
trying to figure out the simpliest things possible.
Never even HEARD of such problems.
If you push help button, they'll be telling you
about abstract virtual, supercontinental, globally
distributed, super prototyped things that you can't
even comprehend as they seem to have NOTHING to do
with what you are trying to do on the first place?

Have you seen their latest super-sophisticate version
of Sockets, that exist since the time of Unix?
Well, just don't push that help button,
as your hair may raise seeing all these "superstructures",
containg about 5 levels deep of other superstructures,
just to do abut the simpliest thing imaginable.

But yes, they are fully and globally distributed
and you could asses some file, that is sitting on
your book shelf on the first place, from as far,
as a planet Mars?

And for what?

What if i could care less about those globally distributed
databases on the first place?

Could I simply create a socket object in a single line
of code and not worry about syper-transcontinental
giga-sucking pipe to the Internet?

Why do I have to use Boing 747 to go to the store and
get myself some food?

You, so called software architects, that I wouldn't
even let CLOSE to, cause it is nothing more and nothing
less than a PURE grade headeache at the end, and it
would take you generations on how to explain to me
how to push a tab on your super-sophisticated GUI,
that, I, of an "inferior" race, kind and creed,
can not simply even BEGIN to comprehend the power of.

But you know what?
My stuff is gonna work
after you are long gone,
unless Sun, Microsoft, Boralnd and other manufacturers
SPECIFICALLY and EXPLICITLY sabotage things
and force you to forever shell out kilobux
just to get that marginal 10 percent improvement,
and if you are lucky. Because their bloatware
will crash your puter when you try to start a simple
editor, just to find a few words and replace them
with othe words.

And bloatware is a compliment,
as it is nothing less
and nothing more than a monsterware,
where these sadists torture you once you start
their program.

Has ANYBODY tried to install windows?

Have you noticed what is going on?

Well, from the time you push that setup button,
your computer, that you paid the money for,
is not yours any more.

You won't be able to cancel anything if you
see something funky going on.
You won't be able to suspend the operation
and let you have a chance to look at your file system.
You won't be able to even get help or information,
as your full screen is taken by their setup program.
You can't even REBOOT, unless you hit the power off
key, and if you do that, you may loose half of your
disk and totally devastate your system.

Just because you pushed the "wrong" button.
Willy will be switching your screen on and off,
rebooting the system several times,
asking you the questions you might not even heard of,
and forcing you to do things that do not have to be
done in the middle of setup, when you ALRREADY lost
your operating system and your file system is nothing
more than a mess of various state snapshots.

ANd there is NOTING you can do about it.

What do you call this "advanced" software?

I call it sadistm.
LITERALLY.

You have no power of your own computer,
and for HOURS, and pray the lord that setup
completes, as, if by ANY chance, there is the most
minite and most insignificant and inappropriate
error somewhere, he'll simply freeze your screen,
and FORCE you to reboot. He won't even give you
a chance too look at your own file system and,
quite possibly, get some stupid and utterly insignificant
driver from your old version, that hasn't been
updated for about a generation on the first place.

Nope. You can't do that.
Why?
Because microsucks considers it "wrong".
Have any of you tried to recover from the situation
of this kind?

Maaan. just about the BEST approach, by FAR,
is to completely forget about trying to recover.
The best way is to simply try to boot from another
copy of operating system, or even go as far,
as to use the boot floppies. Then copy all the
files of any significance to a fifferent partition,
if you didn't make a backup on the first place,
which is a MUST if you are dealing with microsux.
Not even that, but I made a backup of the entire
partition, and when things went utterly berserk,
i tried to restore the previous version of the
operationg system, just to realize that some key
files and drivers were, for some magic reason,
abscent in the backup, and that is TOTAL devastation.
You'll have to spend days if not weeks
just to recover your whole world.

Is THIS the way to design and architect software
and any ware imaginable?

Why is it taking 10 times less and 100 times simplier
on that completely free Linux, that is considered to
be an "old technology". They don't even use C++ in
most of their packages last time i looked at some.

And the systems is 10 times more reliable, faster
leaner and smaller.

With all those terabux and tens of thousands of programmers,
you couln't create anything better?

Just wait till you get the new version of Windows.
You'd better sell your house to purchase yourself
a 4 terabyte memory, even if you use a 1k program.

What I heard about it, is nothing less than virtual
madness. Not sure if you can run that thing with
the biggest and baddest of them all, mainframes,
with a super cooled CPU and a special service
room just to keep all that cooling equipment in.

Is THAT the "progress" we are talking about here?

Progress of WHAT?

About the fastest one way road to hell?

Is there ANY operation in Java, beyond declaration
of the simpliest data types there are, that does not
use at least 5 layers of abstraction?

What IS it?

Not only that, but you can not even rely on the
standardest and oldest concepts such as arrays and
vectors and be assured that you have a random access
to the elements, as that is all "implementation dependent",
which means that vector you think is nothing more than
a simple array of objects, may be implemented as a linked
list, and there is no guarrantee whatsoever on what
implementation is going to implement it in the way
it OUGHT to be implemented?

I had to rewrite MAJOR sections of code because of this
single thing and, doing it in the development environment,
is nothing less than an equivalent of disaster,
as you may indadvertently introduce bugs, you could have
never imagined possible, even in principles.

So...

If you are working on complex enough application,
you'd have to retest thousands if not tens of thousands
of various cases, and some of that stuff isn't even
a subject to automated testing. You'd have to spend a double
amount of development time, trying to describe all possible
error conditions, starting with completely wrong user entries
in hundreds of different parameter fields, choices, etc.,
going down to network errors, disconnections, files not
present, corrupt data and on and on and on.

Where is that paradise they were promising to all?
Where is that portability, declared left and right
on just about every corner in your favorite downtown?

Basically, the more I look at it, the more it seems
that Java has no future, at least for a generation.
With the amount of hassles, inter-continental law suits
on just about the biggest level imaginable, and the very
JVM architecture does not look like ANYTHING new under Sun,
and, unless a generation of time passes, and JVM hardware
chips are wired into your box right off the shelf,
if people would even remember what that Java thing was
on the first place, I just do not see it becoming a
widely acceptable technology that has a stable enough
foundation to survive the challanges forthcoming.

It is about the most convoluted design I have ever seen
with just about as many levels of abstraction one could
imagine in his wildest dreams, even while doing the simpliest
things in the world.

Just out of curiocity, I wonder what would happen,
if you managed to get a handle on the object and examine
some method with a kernel level debugger.
How many millions of references upon references to the
structures, pointing to other structure does it take
to add 2 and 2, which takes a single clock cycle
of your CPU?

How many terabytes have to be swapped in and out to do so?

One day I'll do just that and report the results of it,
just out of curiosity. Because what I am seeing from the
day one of my Java "encounter", is that it is probably
wasting 1000 times more resources in terms of memory
footprints, performance and on and on and on. I just
see it in the way the very development environment works.

It crawls like a turtle where it shold be flying like a bird,
or even sputnik, nowadays. After literally generations of
development of all sorts of languages and architectures,
THIS is what we ended up with?

How many generations will it take for this thing to become
as a glove, you put on your hand?

Anybody has a guess?

To me, this (footprint) is one of the major problems with Java
and the whole idea of JVM. I have noticed looking at source
published by various people that they explicitly import only
those packages that are needed for their app.

So, instead of saying "import java.awt",
they'll explicitly call for some sub-package, and that is just
about the LAST thing I would like to worry about.

That seemed to be strange, but i am SURE there IS a reason
why they are doing so. I am not even sure that if you have
some unused code in your program, that eventually athrophied,
that thing would not be compiled in and hang as a piece of
dead wood in your app, eating resources for no reason whatsoever.

I have seen people here asking help on trying to get a listing
of all their unused code. For what? That stuff shouldn't
even be compiled in on the first place. No need to even
worry about. The reason you have some unused code is because
you have switched to a new approach, and, having that
unused code in your source files may have ten times more
benefits than it creates problems, because it shows you
in no uncertain terms, what was the previous design and
allows you to tweak your new design and avoid all the
pitfalls you might fall into, not realizing there are some
tricky situations that there were handled by the old version.

And i see it left and right.
I have a special religious ceremony,
where i go to all the source files
and remove all the code that is commented out in BULK,
the entire methods need be. Some of it is obviously
outdated and after seeing the new version run stably
for sufficient amount of time, you can painlessly remove
all the code that is commented out, and that code,
in most cases, is your golden treasure, as you can see
the most minute permutation in your own thought process
and you can see how things could be simplified even futher,
making it clearer, more efficiend and more universal.

And this kind of stuff you can expect with just about
every single step in your development process, going down
to expecting a reasonable behavior when user pushes some
button, checkbox, or enters text in one of the fields.

For example, in MY case, there is a need for a user to
be able to save his current configuration at ANY moment,
regardless of what frame is he working with at the moment.

In fact, he can have ALL the frames open at the same time
to see various parameters, such as files, complex filters,
global parameters, etc. So... He can even go as far,
as starting some major operation, and, in real time,
open up as many parameter frames and even change those
parameters on the fly, while current operation is in progress,
which isn't the easiest thing to manage on the first place.

He can change some parameters that in real time,
the next object processed would have those parameters
so there is no need to restart some major operation,
which is probably the trickiest thing there is,
especially considering that he can fire up multiple
treads that do different jobs. Sure, some of it is
not possible in principle, but quite a lot of it
is doable, giving the user tremendous power, flexibility,
ease of use and the most intuitive user interface
imaginable.

THAT is what I call architecture.
THAT is what your stinky piece of software for
on the first place.

TO FACILITATE THE USER,
and not raised the tripple armored walls around him
and FORCE him to do it the Willy Da Gates way.

THE USER IS THE MASTER,
and not you, slaves,
tied to your desks
with the golden chains,
not even able to sneeze
without getting a "permission"
from some nazi style sadists,
whose mind is prototyped with the most
primitive templates there are,
not even knowing who he is.
So lost is he in this biorobotic maze
of NWO, cooking on your plate this very moment,
eventually leading, according to official dictates,
to a global totalitarian system,
where there are only two classes left:
The "elite", those blue blooded "Aryan" race,
and the "slaves", aka the "filth of inferior race".

THIS IS LITERAL MODEL and i have piles of specific
reference and globally distributed archives that
are guaranteed to survive for at least a generation
unles the very life on the planet Earth ends,
which is not that inconceivable,
at least in the current state of affairs.

Now...

For that, he has to be able to hit a function key,
from ANY window, and update his set of parameters or
reload the news ones if he wishes, and it all has to
be immediately reflected in ANY and all windows,
open or closed.

Realizing that some of those frames may be able to start
a lenghty process of extracting huge amounts of information,
filtering it, converting one data representation into others,
such as generating perfectly valid web pages, with full
support for style sheets, in line, if so desired,
this thing could be swallowing hundreds of megabytes.

With the original event model, that was a direct copy
of original Unix based model, where you have the eventHandler
that could process just about any event imaginable
and report to the higher level wether it actually handled
the event, so they could see if THEY need to handle it,
everything was about the simpliest thing in the world.

And now?
Well, just about for every single GUI element on every
single frame of yours, you'd have to hang the event
handling code. I've spent DAYs on trying to figure out
how to do it without hanging all the abstract fat on
every single checkbox, button or a text field.

Second major problm in MY case, is that the user, and I am
dealing with ordinary users, not some huge corporations, if he
would even bother to get your program on the first place,
expects to simply double click on an executable
(Windows environment), and see how program works,
which is what nearly 100 percent of present software products do.

But that is not possible with this JVM architecture.
He would have to download 5 times as much code as the application
itself needs, to get the JVM AND install it on his machine, and
that is about the LAST thing he would want to bother about.
In vast majority of cases, people do not even know what Java is,
and could not even bother with installing all these "virtual machines",
just because of security risks alone.

People claim that Java is "safe", that you can't write files
and on and on and on, but I don't believe a single
word of it. I happened to work on one project at HP in the
silicon valley doing some kernel level stuff,
and there was one guy who worked in the kernel security
department developing security related code.

He told me of some security issues with some major programs
on the market. He could totally take over your machine even
though all you were doing on the net is web browsing, which
seems to be one of the most innocent things there is.

I also developed a related code for a firewall/monitor tool
that allows customers and providers to visually monitor their
traffic, create various rule sets for specific instances.
And, what i have seen is that vast majority of people do not
even suspect that they are literally open to all the hackers
out there, just by simply using their web browser, I am not
even talking about specific ports and protocols they have open
on their systems. There isn't a single session when I login
and use internet, when I am not attacked, and some of those
attacks originate at the very ISP provider facilities
from what I am seeing, and automatically probe your system
for vulnerabiltis as soon as you log in.
Things like that. I can hardly remember a SINGLE time
when i logged in that there were not a MAJOR security probe
performed on my machine.

So, to claim "java is a safe as heaven" in terms of security,
you need to be a 5 year old kid. I have personally seen some
stuff, you couldn't have even IMAGINED in your WILDEST dreams.
Nothin new to it.

Yes, Java does have its attractive points and IS more abstract
and platform independent than C++ can ever be, especially if
you consider all the MS stuff. But, at the same time,
what can be done to you and your machine,
just by you enabling some java related features,
is nothing less than circus miracles.

But, what I find is that it is WAY less portable as people
keep claiming. In fact, I am not sure there exists a
development environment that even cares to bother about
portability issues. Borland does it in its ways, and if you
are not careful, you'll wire-in some of their proprietary
things on the simpliest level, such as layouts, and, if
you are not a fool, when you try to build your app, the
other compilers would tell you they never heard of such layout
or things of this nature.

So, that claimed portability is vastly exagerrated.
Borland is not compatible with MS stuff, and those, in their
turn, do not even support the javax packages, and, instead,
do just about all they can to trap you into their proprietary
approach, and, in some cases, you might not even noticed
that you have already used some of their stuff, until you try
to rebuild that app under a different compiler.

Simple things like toString() method, that has a proprietary
microsoft's equivalent ToString(), which comes earlier
in a collating sequence. So, when you use some object,
and hit the dot key to expand it, the FIRST thing that
is presented to you is Microsoft's version, and you might
not even noticed it as it all happens in a semi-automatic way.
I have fallen into this exact trap, and not once.
The only thing that saved my skin is to try to rebuild it
using a different development environment and I had to waste
some time fixing some of those UTTERLY unnecessary screwups.

So, all this looks like walking on a mine field and takes
away so much energy on worrying about all these compatibility
issues, it is simply hard to believe.

In case of code I am working on right now, I spent at least
70 if not 90 percent of my time on all these issues. On every
single hour I spend actually developing stuff, I spent sometimes
DAYS to figure out the solutions to the simpliest problems
imaginable.

Just to do a GUI layout of a modern app, it ALREADY took me a week,
and the stuff is so standard and I use so little of those
"sophisticated" features, that all that I am wasting my time on,
could be done in few hours, if not minutes, under any environment
I am aware of.

Quite often I wonder what kind of mud I've got myself into
with this whole Java thing. I could do the same thing in C++
and be done with it monhs ago, without even bothering about
screen resolutions, font sizes and on and on and on.

The Java footprint is a footprint of a monster and its
overhead is well beyond obscene.

So...

Hope that helps YOUR situation :---}

Good luck.
 
D

Daniel Pitts

nukleus wrote:

[major top-posted rant snipped]

wow.

- Lew

Wow indeed.

Yes, Java has a different approach to memory management than C++. It
is common to see a larger footprint per JVM than you would in a C++
application. Keep in mind though, that while the memory is allocated
in the JVM, much of it is garbage collectable, and will be collected
before more memory is allocated.

Also, what was all that irrelevant chatter about kernel security and
knowing a guy who can hack into your computer while you browse the
web?
He told me of some security issues with some major programs
on the market. He could totally take over your machine even
though all you were doing on the net is web browsing, which
seems to be one of the most innocent things there is.

Actually, browsing the web is not one of the most innocent things.
Its one of the most dangerous, and most people should know that. Its
safer if you know what you're doing, just like those of us smart
enough not to lick the sidewalk. Sure, you could get infected, but
you can also protect yourself in so many ways. The only time I got a
virus was from a CD out of a programming book. I've never gotten a
virus or a worm, and I don't run antivirus software.
I also developed a related code for a firewall/monitor tool
that allows customers and providers to visually monitor their
traffic, create various rule sets for specific instances.
And, what i have seen is that vast majority of people do not
even suspect that they are literally open to all the hackers
out there, just by simply using their web browser, I am not
even talking about specific ports and protocols they have open
on their systems. There isn't a single session when I login
and use internet, when I am not attacked, and some of those
attacks originate at the very ISP provider facilities
from what I am seeing, and automatically probe your system
for vulnerabiltis as soon as you log in.
Things like that. I can hardly remember a SINGLE time
when i logged in that there were not a MAJOR security probe
performed on my machine.

What does this have to do with Java anyway?
No one said connecting to the internet was safe. No one said walking
outside was safe either. I have to say, I don't get security probes
very often, perhaps its a *feature* of your ISP?
 
A

Alex Hunsley

nukleus wrote:
[snip lots of rant]
Thanks to this group, at least in SOME cases, you can
ask mere mortals if they know the answer to your simpliest
problme of all, and, if you are lucky enough, and they
are in the mood of doing so, they'll give you some
scetchy answer, that is nothing more than a hint,
and you'd have to go back to your puter and sweat it
out to full extent. Kinda sadomasochistict trip.

If you don't like the help here, you could demand back the money you
paid for it...
And what CAN you expect from those people?

Once people get over their self-entitlement trip (the one that have such
a thing), people often find help. More so if they're willing learn a bit
about the group and follow some suggestions.
Not only that, but you will be insulted and rediculed,
told that in Java, the names of routines MUST be in
lower case, even though Sun itself has some things
that start in upper case and some don't.

Now, what WHAT specific REASON do you have to make
all the method names in lower case?
Does it make your code MORE readable?
- Nope, just the other way around.

Does it prevent your compiler to compile this thing?
- Not even in the picture.

Does it make MORE clear what are you trying to do?
- Are you kidding?

So...

What IS that dictate good for?

It's called convention. Following a widely held convention aids quick
understanding of something (by most people).
Just read this very group.
You'd be amazed if you are new to java.

Those poor "clueless", when they are in just about the
biggest problem they can imagine at the moment,
instead of getting assistance,
get a brainwashing dictates on what you MUST do!

Helping people to make themselves more understandable isn't a bad
thing. And quite a few people do get help here (of the sort you're
mainly thinking of).
You see?

MUST!

And unless you do so, you are considered of an
"inferior race"!
Nothing more.
Nothing less...
[snip]
And here, you may not even get a reply on your
question, just because you show these people
some piece of code that does not fit THEY view
on Universe and a life force as such.

Get over your sense of entitlement. People help here for nothing. They
don't get paid. The least they are entitled to is to decide what *sort*
of advice they give, and who they reply to.
And telling people why they're not having much success getting replies
counts as helping them.
Wake up, people.

WHAT are you doing here on the first place?
Why do you even bother to answer questions?
You see, if I am an expert, built according to YOUR
templates, I don't need your help. I can teach YOU,

You think there is only one sort of problem? There are many sorts of
problems possible. There are many ways code can be 'broken'.

and teach you using REASON, and not some dictates
as to how the planet Earth is to turn and where
is the Sun to rise in the morning.

Reason tells us that following convention aids understanding.
Is it clear enough?

I spent DAYS and still can not figure out what is the
problem on the first place. Just try to push the help
button. First of all, it'll eat up a terabyte of memory
and you'd be sitting there mezmerized, waithing for it
to stop swapping like mad and load all the stuff,
that is the simpliest thing in the world, just to
display a single help screen, which shouldn't take
more than a few milliseconds nowadays.
[snip more]

Just a little comment in the middle of that rant for you.... carry on!
 
N

nukleus

Alex Hunsley said:
nukleus wrote:
[snip lots of rant]

Lots of stamp?
If you don't like the help here, you could demand back the money you
paid for it...

I DEMAND IT!!!!!
Once people get over their self-entitlement trip

What is "self-entitlement trip"?

Is it from those "help" files trip?
(the one that have such
a thing), people often find help.

I am not sure you understand what I am saying,
and this is not an issue with this group only.
It is the issue just about everywhere you look.

The issue is this:

When someone needs assistance,
it is OBVIOUS they do not know enough,
pretty much by definition.

Now, instead of telling them "go look up some
other pile of you know what by now", why not
take your time and explain the tricky parts
of the issue. Do you realize that your articles
are in my archives going back at least half a
year and they are available globally via Google
for the VERY least.

And, being as smart as your very first sentence
states, talking about "rants", do you have
enough active neurons in your cockpit to comprehend
that if you give an in-depth response,
not only will you help one particular individual,
but you'll cover the issue FOREVER, be it only
YOUR own version. Then some other "expert"
can do just the same and on the same thread,
and, by the time we are thru with that thread,
you gave a globally distributed version
that finally talks human language and covers the
issue.

Do I need to chew more, mr. smart?

And I have seen what kinda help people provide.
They are like hoarding something and are just
sending people from one pile of you know what
by now, to another.

And the thing could be finished literally taking
a few minutes of your time. Finished COMPLETELY
pretty much.

Then...

You could make your own archive of your own
geniououous revelations, and simply repost it
need be, if the same issue arises again.
You could also make your supersexy web page
and show how great you REALLY are by simply
pushing a button and automatically generating
the supersexy web pages and an index of your
great discoveries.

And what are you doing instead?

Trying to make a FOOL out of me?
Trying to tell me that you, high priests,
are not going to give me your opinion on
something that is the issues for me right now?

Well...

Tough.

Because the opinions I've got so far,
were nothing more that pointers,
which means...

Which means my time could be better spent
by simply going directly to those piles of garbage
they call documentation and dig up their source
code, project files, etc. and finally realizing
where that screw up was, just like i did with
Borland JBuilter the other day.

It turns out that their own project configuration
files do not reconcile with sources. I do not wish
to waste another sentence on telling you where and how.

Get the drift?

Oki, doki.

Zo...

Whats next fer breakfast?
More so if they're willing learn a bit
about the group and follow some suggestions.

I know enough about usenet to the point that
you look to me like clueless with your
whining. And about what?

You have a "problem" with me personally?
Are you going to teach me how the planets turn?

This is EXACTLY what i was telling you in my post.
You see, you have your own ideas of "manners"
and how people SHOULD!!!! behave
when they come to the royal highness of your kind
and creed. And you will be TEACHING them something
that has to do NOTHING with what they came here for
on the first place.

Instead of addressing a specific issue,
you will be engaging in this rotten guilt instillation
trip, like you are nothing less than a Son of God,
having all the answers to how life force operates.

Sorry, I dont know you enough.
But I can push a couple of buttons here.
Hang on, the breakpoint is hit...

:---}

Just kidding, just to show you your relative significance
in the scheme of things.

So...

You just pick the subject and i will produce you
all your great deeds on this group within a minute
and post it here in bulk if you wish. AUTOMATICALLY.
You see?

Do you know me to make these childish judgements.

Some of you, arrogant "experts" with pious faces
are even telling me they are getting fed up
because my posts are too long.

Oh, oh, oh, oh, oh.

Do you, experts, know the simpliest usenet principle?
Well, if you don't like it, don't read it.
Don't follow up on it, and just forget about it.

I don't need your morality lectures,
cause, first of all, i do not expect ANYTHING of
real value from you on the first place.
So...
I am not dependent on you like on some oxygen
suppliers.

Simple enough?

And then?

Isn't this the case?
Do you want me to produce all your priestly
brainwashing statements?
It's called convention. Following a widely held convention aids quick
understanding of something (by most people).

ALL biorobots have these kinds of answers.
But this is not an answer of ANY kind,
because there is no reasoning in it,
there is only an rears licking ideology
of the herd.

One more time: During the WWII, 99.99 percent
of German people, screemed their heads of in
that nazi histeria, shouting:

Seig hail!
Seig heil!

You understand?

Can you connect these two together
without me chewing it for you?

I bet not.

So, i'll explain to the high priests of your kind
and grade:

WHATEVER YOU AGREE WITH THE HERD,
DOES NOT IMPLY THAT IT MAKES ANY SENSE.

Sorry, I don't have letters of larger size.

Now, when Jesus went to school, and the alphabet
was introduced to pupils, the teacher said:
this is alpha, this is betta, and this is...

And Jesus said: Sire, before you get to beta,
you need to explain what is alpha. What is it for,
why is it there on the first place, what makes
it different and things like that.

You understand?
Can you connect it now?

Translating: You need to use YOUR brain
to figure out what is what and who is who,
instead of ligning up in a long line and
licking i hope you know what in front of you.

Zo...

You did not provide the very REASON
WHY this "convention" has ANY validity whatsoever.
All you said is just you all agree.
Not a problem at all.
You can agree that the Earth if flat.
But you know how much difference all your
agreements make to me?

Well, just a waste of time typing all this.
THAT is how much.

I STILL do not have that "help" you are promising.
And help not to me, but to YOURSELF,
mr. confused, who thinks he is to teach others
how to breathe and how to walk.
Helping people to make themselves more understandable isn't a bad
thing.

Bad thing.
Good thing.

That is how you are prototyped.
A simple, primitive template.
"Coca cola is good. Drink coca cola".

Is THAT the level we are talking about here?

WHO are you to help others "to make themselves more
understandable"?

To WHOSE ears?

Is it just because your closed mind can not tune
into the wavelength of those "clueless" and talk
THEIR language, by ANY chance?

When i read that so called documentation, and,
accidentally, look into their own source files,
i, suddenly, realize that this so called documentation
came directly from their comments before the methods
in their own source files, which means...

What do you think it means, mr. smart?

Well...

What it means to ME, is that this can not POSSIBLY
be documentation to provide to those "cluless".
It is rather SPECIFICATION.
Do you see the difference between specification
and documentation?

Dear mr. smart, the difference is simple enough
even for the most clueless of all to comprehend.

Specifications are written for the experts
and for those, working in the next department,
so they know exactly what this thing does.
It is a language of coded symbology, when one
definition refers to another and that one,
yet to another.

But to someone who does not know all these
technical intricacies, just about ALL this
so called documentation produces is HEADACHE.

You understand, mr. smart?

Because they had a SIMPLE question in the beginning,
and ended up being forced to learn the whole java
arthitecture. But ALL they wanted to know is how
to cath that stupid keyboard key.

Documentation, in its turn, also needs to be different.
I happen to have had a discussion with one of the
prominent people in the field, with a phd in education,
who was a vice president of one of successful companies
in Silicon Valley, USA, developing computerised educational
products, and I asked him a simple question:

Why is it the the pupil has to be forced to read the
entire book cover to cover instead of looking at things
in that book at HIS paste and according to HIS interests
and individual tendencies.

And the answer was?

Well, we did a study on this subject
and came to a conclusion
that this is very ineffective method.
It takes MORE time to learn this way.

And you know what I say?

I say: screw your "research".

The material needs to be presented on at least
three different levels.

1. Intruductory, for those "clueless",
who don't even have an idea what they are asking.
They are just beginning, and you can not give
them the design specs, written by high priests.
They'll go nuts. That is ALL you can hope to achive.

2. Once you are no longer "clueless",
and become interested in getting as much bang
for your buck in some specific issue,
the material can be expanded and made more detailed,
more in depth.

3. But once you know this thing nearly in and out,
there comes the ULTIMATE level,
when you start questioning the very roots of that
specific subject.

THAT is my education system.

So...

When i ask you about layout,
which i NEVER had to deal with on the first place,
what kind of "help" would you provide?

Go read some OTHER pile of dogshit
they call documentation?

Then what do I need you for?

You are just about as good as a plain corrupt priest.
That is all.

Nothing more.
Nothing less.

And you know what I do to those priests with pious faces
of "holier than thouh"?

Guess, mr. smart...

And then?
And quite a few people do get help here (of the sort you're
mainly thinking of).

Oh, so you are not merely mr. smart,
but a subtle poisonous snake?

Do you think i can not read your insult?

One more time, at this junction, i am not even DREAMING
of getting help, which is what you meant, mr. pervert.

Seconly, what you meant, is that now your blind mind
has already been committed to some things.

You are saying that I did not formulate my questions
correctly, in enough detail and precision?

Sire, your single sentence is so full of poison,
my screen got wet here. Lemme whipe it off.

Oki doki.

And then?

Is this true, by ANY chance?

Why did not you follow up on it?
Isn't it EXACTLY what you are doing this very moment?
Get over your sense of entitlement. People help here for nothing. They
don't get paid. The least they are entitled to is to decide what *sort*
of advice they give, and who they reply to.

Clear to a five year old.
And then?
And telling people why they're not having much success getting replies
counts as helping them.

Uhu.
So, instead of talking THEIR language,
which is what REAL masters do,
you want THEM to talk YOUR language,
of which they know nothing to begin with.

Zo...

What kind of an excersize is this?

Lemme expand it one level.

It is an excersize in SADISM,
no matter what kind of sticker you all agree
to put on it.

Yes, you can give your opinion, your advice,
share your experience, but if you take away their
freedon to express themselves in the way that is
more natural to THEM, and at THIS particular junction,
forcing them to jump up to YOUR "high" level
before you even BOTHER to give them that stinky hint,
then...

Pretend you skipped about 5 paragraphs here.
What a pitty. Juicy material it could be.
You think there is only one sort of problem? There are many sorts of
problems possible. There are many ways code can be 'broken'.

I am saying that no matter what kind of problem
comes my way, and not matter how complex it is,
i'll find my way out of this maze,
and can expect VERY little from others
as most of those "professionals", just about ANY
place you look, are simply hoarding some
"secret trick" and would never tell it to anyone,
even if you paid them. Because THAT is how they
maintain their "value" in a company. That lil
nothing is the thing only THEY know, and they go
as far, as to sabotage the entire projects,
making it as difficult to others as possible.
I know this trip in and out. It is not a theory
of ANY kind.

Because these people are full of fear of survival,
and THAT is exactly why they accumulate those things
and hide them in their bag, as that gives them some
assurance that they are not going to be kicked on
their ass as they know something, the others don't
seem to know.

Enough?

Or you want more?
Reason tells us that following convention aids understanding.

You can twist it in just about ANY way you please,
but if we address the issues of nothing less than
reason itself, things are going to get even hotter.
I promise.

Did you understand what I meant by reason?
Reason versus a stupid belief, a result of agreement
on the lowest common denominator.

Reason is when you use your mind
and are not simply blinded by all the prejudice
they programmed you with.

Simple as that.

No?

We need to chew on this more?

Why don't you simply tell me what are the
tricks and boundary conditions of gridbags
and where are pitfals?


Or you'd prefer to waste ten times more time
to make a fool out of me and prove that your
priesthood is something that has validity to it?
[snip more]
Just a little comment in the middle of that rant for you.... carry on!

This stuff isn't quite rant, mr. smart.
And it is good you say it, just the way you do.
Because, from now on, it becomes an inprint.
And inprint of what kind of "helper" you are.

And what I see is that you are but a poisonous sadist,
becase instead of addressing a SINGLE specific issue
and giving your view on that, you DELIBERATELY
witheld all your "wisdom"
and reduced the whole thing to the puppet theatre level.

Yep, mr. smart.

Btw, why did you even BOTHER to read that long post
of mine?
Are you a pervert, by ANY humble chance?
 
N

nukleus

Lew said:
Don't feed the trolls.

Oh, another one of those priests with pious faces,
with a rubber stamp in the hand,
making assumptions and fabrications.

Sire, i wantched you for some time.
You even happen to get on one of my lists.
Unfortunately, i'll have to take you off of it.

Sire, I suspect you consider yourself
to be the highest priest around here.

Is it true, by ANY huble chance?

Is your blood at a boiling temperare ALREADY?
Would you kindly whipe that foam from your mouth?
 
N

nukleus

Alex Hunsley said:
I don't think he/she/it it *is* a troll.

That fool is simply fabricating his poisonous lies
in his attempt to get enough ass lickers around
to start some conspiracy of the herd, yelling:

Zig hail!
ZIg heil!
Just misguided.

Oh, that is a pleasant surprise.

So we even have guides here.
Thats refreshing.
I'm not losing
any sleep over it...

Btw, why would you even bother to follow up
on this?

Any particular reason?
Or just killing time of your life?

No wonder those kids that come here to ask
a simple question and, instead of getting an answer,
get a pile of brainwashing propaganda
and, simply tell you into your faces:

"Go **** yourself".

And split.

Is THAT the goal of the education system around here?

Is it some kind of a passport?

"Either you become like us,
or you are not going to get a single word
on the point of your question,
and we will gather around
to laugh at you, clueless"?

Am I missing something here?

So...

Are you trying to get enough ass lickers here
and start a conspiracy of taking over nothing
less than big-8? Or is this some kind of an
equivalent of a Bohemian Grove?
Ever heard?

I can show you da way to the REAL power.
You know what I mean?

What are you sitting here, wasting away for?
You could be rulers of entire big-8!!!

You know what big-8 is, by ANY humble chance?

Good luck,
and don't forget to have a good hearty lick
on that fat ass in front of you,
cause at the moment, HE is closer to that sweet fruit
you've been craving for your entire lives.

You, people, are pathetic, you see?
Because you are wasting 99% of your energy
on the issues of morality
in a TECHNICAL group.

And, in a technical group, if you are creative
to ANY extent, you don't have that luxury
of wasting your life on morality,
because you have too much fun dealing
with REALITY.

Makes sense?

Planet Earth,
Planet Earth,
ANYBODY home?

Oh, that static again?

How unfortunate,
you need it all too bad at the moment.

I almost thoght of promoting some of you
and making something useful out of this
lil game you play here,
but now i'd have to think about it again.

Zorry to tellya that.

Btw, have you noticed what is the name of this thread?

So...

Do you have any comments on this topic?

Or my original post does not have enough
specific issues they blue blooded of your kind
could even begin to address?

What do you think about that footprint?
 
A

Alex Hunsley

nukleus said:
That fool is simply fabricating his poisonous lies
in his attempt to get enough ass lickers around
to start some conspiracy of the herd, yelling:

Zig hail!
ZIg heil!

Sorry Lew, you were right in calling 'troll'.
 
N

nukleus

"Daniel said:
Alex Hunsley said:
nukleus wrote:
[snip lots of rant]

Lots of stamp?
If you don't like the help here, you could demand back the money you
paid for it...

I DEMAND IT!!!!!
[snip more rant]

Yep, considering that your sense of humor
is on the par with my fridge, what else
would I expect you to leave in the post?

What are you foaming at the mouth about,
mr. smart?
What's the word I'm looking for?
Oh yeah, *plonk*

EXACTLY. Just like just about all of those
high priests eventually do.

You see, for some strange reason, it is not
enough for you to simply set your filters
and be done with it.

Nope. You have to come here and announce
to the whole world what an intolerant
blood boiling idiot you are, while, at the same
time, thinking it makes you "superior",
just by the mere fact that you announced
your foolish "plonk" thing. Do you realize
how much do I care about your "plonks"?

And the most amazing thing about this
is that you are also perverts, inevitably so,
because most of you, if not all, simply
use this stupid template of announcing your
plonk, but in actuality, you are still reading
those, you claim to have plonked, and I
have seen PLENTY of those cases. And it goes
as far, as once in a while, you even follow
up on the their posts. Because you could be
made to dance to just about any tune there is,
and, eventually, can not contain hiding in the back
and pretending you are not seeing it all.
Once you are tickled enough, you will appear
out of nowhere. See?

Because, first of all, by plonking me, YOU
are at a disadvantage, cause I can read your
posts if I want to, but you can not read mine.
So, from now on, no matter how much fun I can
have with you, showing your great achievements,
and laughing my rears of at you, you wont be able
to even know that you might have become
but a laughing stock.

See?

I do not have, never had, and have no plans
to "plonk" anyone, even the most outrageous idiots,
cause I know how to use my "next" button. And quite
often, those I should have "plonked", turn out to
be the about the finniest posts one can find.

Btw, what is the Subject header of this thread?
Why are you posting all this stuff being UTTERLY
off topic?

Are you a troll?

This is a technical group and you claim to have
more than but a few broken neurons on line.
Can't you figure out the simpliest thing of this grade?

Or you, "experts" around here, think this group
BELONGS to you and YOU are here to do whatever YOU
please, regardless of your own netti-quetti-betti-fetti,
you yourselves claim to follow, or equivalent thereof
with all your "thou shalt not do this, and thou shalt not
do that" stuff?

THOU SHALT NOT POST OFF TOPIC IN A TECHNICAL GROUP.

THOU SHALT NOT FOLLOW THE POSTS OF THOSE,
THEY CONSIDER TO BE OF INFERIOR RACE OR CREED.

THOU SHALT NOT ENGAGE IN INSULTS AND REDICULE
OF THOSE WHO DO HAVE A VALID POINT.

You want more?

Or shell I let you talk to my monkey?

Now, back to the topic of this thread:

What i found out is that in order for you to
run a simple program, which only does things like

int foo = 1,

what would all your super-advanced technoly
of delayed just about everything do?

Well, if you set a brake point on main(),
and then start up your app, you may be unpleasantly
surprised, that before your breakpoint is hit,
some heavy duty time has to elapse, and that is just
about the first thing i have noticed when i tried
to run the code i interited. For some strange reason,
it would take it a long time to evan come up.
When I looked at processes and resources,
i was not so pleasantly surprized to see that by
the time I select my first choice from the menu,
before actually doing anything, it swallowed
about 20 megs. For what?

Well, it turns out that before you main() gets hit,
you, royal architects, have to load the entire
bloatware, called JVM.

And even though that simpliest program that does not
even do anything consists of a single CPU instruction,
taking 1 clock cycle, for some strange reason, you
have to load the whole universe.

For what?

Well, because it is called JVM.
Bloatware that is.
It can't use the same concepts that are used
in virtual memory management, called page fault
and bring up only those things, it actually needs
this very moment, it seems.

True, I haven't investigated this issue to the end,
and I hardly need to, because I see the run time
results without even figuring out why is it so
bloated.

And I bet you, if you run several java apps,
you'd be loading the same JVM again and again,
despite the fact that they can't even talk to
each other without going outside the scope
of JVM itself.

So...

What is this great breakthru are we talking about here,
if you don't seem to manage even thouse things that
were resolved generations ago?

I was quite surprised that the AWT wasn't even
thread safe and if you want to use threads,
you'd better download 50+ megs of the latest
version of the bloatware, and not only you,
but ALL your customers and co-developers.

How could THAT be?

Are you joking or something?

So, for the real world applications, especially
those, we are talking on this specific thread,
you have to load literally gigabytes of JVM
alone, one for each instance of your app.

So, if you are writing apps for the biggest and
baddest of themn all, and ESPECIALLY in network
related areas, which Java claimed to be designed
for on the first place, you better tell your boss
that you need to order the latest version of
the mainframe with super cooled CPU and create
a huge service room just to keep all the cooling
equipment in.

You'd have to learn how to walk on your ears
if you want to be involved in anything big
related to java.

So, if he, for some strange reason, thinks that
they just want to push a few buttons and update
the global system of whatever they deal with,
YOU are in trouble. Because he'll probably think
that it is YOU that is the problem and not that
bloatware they have chosen to step into.

Good enough for "on-topic" material?

Your turn, oh masters of dizastas.

Cause it looks like we're going to have some fun here.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,153
Members
46,699
Latest member
AnneRosen

Latest Threads

Top