Notice the underlined word above? Or perhaps it is merely blue text on the console. Whatever the case, it is a link to the full version of his article, in all it's glory, on MSDN.
Oh well, I'll have to use my moderator point elsewhere.
[S]o Flash is a bad evil tool of the devil (as spouted here at Slashdot) but when the EFF uses it, no problem?
Flash is a bad evil tool of the devil when used in place of HTML or used in place of other, more accessible, standards. In this case, Flash is being used to make what is in essence a movie. When knowingly browsing to a movie, I am willing to accept that the movie might require a plugin in order to be successfully viewed.
What I hate and find annoying is when Flash is used in place of HTML or other more accessible means. If Slashdot's front page were a large Flash animation, then it would be an annoying tool of the devil. If Flash were used for the topic icons, it would be another misuse. But if Flash were used for a cute little animation that is the basis for a text story, that's an appopriate use of Flash.
Also, don't forget that there is no entity known as Slashdot. Some people like Flash, others do not.
I personally hate Flash when used where simple html and images would have done since Flash sometimes causes my browser to crash and generally slows down the rendering of the browser page. But when it is used to create an animation with sound, I don't mind it - as long as I am aware of that fact before loading the page.
This is just another right-tool-for-the-job issue, and in this case, the EFF is using the right tool for the job they wish to do.
[W]e need some one to organise a march on washington.
I keep on hearing this, but no one ever seems to ever do anything about it. Well, we were able to get protests going about Dmitry Skylarov, so let's do something about this. It's a similar issue, isn't it?
I am going to arbitrarily pick July 8th as a day to do a "geeks" march at Washington. I'm willing to go to Washington DC for a day if I can get others to come with me. I'll submit an Ask Slashdot on this topic, but since I don't have the resources to really set up anything along these lines, I can't really do much on my own.
Opera - has ads, which are quite annoying when working (or reading/.), and I really don't feel like paying for a browser that's tied to a machine I don't own.
Mozilla - RC2 takes up 20MB of memory to do nothing. Since the system at work isn't mine, it can't handle that, and swaps like crazy when Mozilla is brought to the front or returned to the background when some other application is used.
That leaves NS4, which barfs on most CSS and generally sucks (although is the mandated e-mail client and browser, don't ask), and IE, which comes in at about 9MB of memory (I'm not sure if that includes system libraries and other things hidden within Windows, but...).
Hence, I choose to browse with IE from work, since it works best with the Windows 2000 system I've been given to work on. I gave up on Mozilla since it was causing my system to thrash the hard drive whenever it was used. And I don't want to use Opera, as it seems to me that ads are not something I need to be wasting company time and bandwidth for.
(And if anyone wants to ask "what about Slashdot", you can either know I'm doing this during lunch, or you can take my view and accept reading Slashdot as a way to allow me to relax while trying to solve a work-related problem. I believe that reading Slashdot actually improves my productivity, since it allows me to back away from a problem for a while and then attack it from a new angle, as well as helping me learn about new technologies and the like. So I don't view it as a waste of time, but to anyone who'd want to argue otherwise, go ahead, prove me wrong.)
Re:good episode, bad ending
on
The Truth Revealed
·
· Score: 5, Insightful
The only major weaknesses I found were that the deputy director (the guy Skinner reports to) switched.
I'm not sure he really switched - I think that the conspirators wanted Mulder to be killed while trying to escape from jail and not via a military trial, as that would be a much cleaner way to kill him when people go looking for him. ("Oh sure, the trial may have been unfair, but Mulder tried to run and was killed while escaping, so it really doesn't matter - stop looking into it.") After all, "they" knew where Mulder was anyway and it's not so much of a stretch to imagine that he would have been placed to try and get Mulder killed.
The other option is that he wanted Mulder out of the way, but not killed, and got cold feet after Mulder was sentenced to lethal injection.
But I dunno, I wasn't really paying too much attention to the episode, and may have missed some things (and may be completely off the wall since I never really watched the X-Files anyway).
Not only that, but the font used to render the university name in the lower right-hand corner looks surprisingly similar to the font used to render the ST:TNG closing credits...
I think you may have discovered a Star Trek geek.
Re:Here's a book title...
on
Bitter Java
·
· Score: 1
Reminds me of a book I saw while walking along the bookshelves in Barnes and Noble... Java Principles of Object Oriented Programming. It was a green book as I recall with large, yellow (or maybe white) letters running down the spine:
"POOP"
There was a (extremely small, relative to the huge "POOP") "Java" oriented perpendicular to the POOP as well, but walking down, looking at books and seeing one entitled "POOP" was just... well, weird.
Actually, something can be a poem if it doesn't rhyme, but it almost always has to have something else going for it.
For example, a poem can not rhyme but follow a set beat pattern. (Like a limerick that doesn't rhyme.) Other examples could be a common starting sound (starting each line with a sound as opposed to vice versa, sort of like allieration) or trying to envoke a sound via words (onomatopoeia).
In any case, a poem need not rhyme. The only thing poems usually have are set lines that don't necessarily match sentences.
Anyway, I'm not a poet or an English major or anything like that, so check out About.com's section on poetry writing for various styles of poetry, not all of which involve rhyming. (Although most styles do.)
No, he's right: HTML is supposed to be a content discription language, not a page layout language.
That's why the tags in the core HTML describe content like <em> indicates that the text should be displayed with emphasis as opposed to the newer <i> tag that does something similar. HTML marks content with rendering hints, but it's not designed to be able to lay out a page. It's designed to describe rendering hints on a page. Any time HTML is used to lay out a page, it's using a bastardization of tables and using tags that have been removed in HTML 4.01 strict (and are merely deprecated in HTML 4.01 transitional).
CSS (Cascading Style Sheets) is designed to lay out a page. CSS can be applied directly to an XML document (in the spec, maybe not via any tools yet), and it can also describe the page layout. I'd point you to my website that uses CSS to lay out the page, but it's currently offline, so I'll just have to send you to the W3 CSS site. If you're using a CSS compliant browser (Mozilla is the best at rendering it properly but IE works - dunno about anything else), you should notice the menu and the various links scattered about the top of the page that are defined via CSS page lay out rules.
HTML as originally designed is intended to describe sections of a document. At some point, people started developing fancy webpages and HTML 3 was born which included a lot of page lay out tags. However, more recently, with IE 5 and Mozilla, CSS and HTML have taken over for page design, meaning that newer sites can be designed using HTML 4.01 strict with CSS describing how it should be displayed. (This is the preferred, "proper" method.) Historically, HTML was originally designed to define a page structure, delinating paragraphs and lists. With HTML 4.01 it returns to the ideal, while using CSS to allow for fancy page layout.
more fun is when segments crash..."Britney an J-Lo are going down on us again."
I wonder what it means that my first thought was "the servers named Britney and J-Lo have stopped functioning" and it took almost a full 10 seconds before I realized the other meaning...
I think the Queen was supposed to be like 14 in the Episode 1 - Anakin was supposed to be something like 6-8, so in Episode 2 he may be as old as 20, which would make Amidalla something like 26 - which would work.
Or Lucas could freeze Amidalla in carbonite or slow her aging or speed Anakin's grouth as some Jedi trick or whatever...
Over the next decade, the two forged a strong bond. Under Obi-Wan's careful guidance, Anakin became a confident, headstrong 19-year old with an impulsive nature and a flair for adventure.
So about 10 years have passed, and they're something like 19 and 24. I think. We'll see:)
The best way to find anime though is to find a friend who likes it and watch what they have. That's how I found out about anime first and why I have a growing collection of anime DVDs.
Eh, the ship in Outlaw Star is called the Outlaw Star. And in that series the Outlaws are like a caste of people who aren't really Outlaws, but are more like lone wolves who search the galaxy for treasure. In the Japanese version, they use the English word Outlaw for these people, Outlaw is not a translation from Japanese and neither is Outlaw Star - the ship is called "Outlaw Star" in English in the original Japanese.
Which is the best episode in the entire series - that sucks. It involves Gene needing to shoot a smutty video to get better caster shells and is generally a rather amusing episode. I got to watch the entire series when a friend of mine rented the DVDs from a local video store (which, due to its proximity to a tech college, has a fairly nice anime section). It's a pretty cool series.
I'd be willing to bet that Gene was sleeping with Suzuka and Aysha
I don't think so - at least not in the subbed episodes I saw. While Gene had definately had some fun with the waitress at home who's butt he's always grabbing (in the uncensored version, at least...), I highly doubt anyone had any sexual anything with Suzuka - she wanders off too much and just doesn't seem intersted in a sexual way with anyone on the craft. Gene definately arouses a sort of curiosity with her because she follows them around and helps them throughout the series.
I don't think anyone was interested in Aisha Clan Clan (at least, that's the spelling off Animefu). Although some other genres of anime might have people having relations with cat women, she seemed to be there more for comic relief than anything else - besides, Gene was too busy chasing Melfina and Suzuka.
The only one Gene might have gotten it on with during the series is Melfina, and late in the series at that. Although the full version has a scene were Gene tries to get it on with Melfina only to be stopped by Jim, I don't think he actually got it on later in the series - but he could have, I suppose. It's not too clear one way or the other.
(I'm trying to remember if there's a scene with Gene and Melfina in their underware in his room or not... I can't remember... I know the two of them get naked together at one time in the Naked Tube (Melfina helps control the ship by entering this tube which magically removes the clothing of all occupants) when Melfina uses it to help save Gene - but I don't think Gene was up for much of anything at the time and I'm not sure the two of them could actually touch or interact anywhere except in a sort of spectral plane of existance while in the tube.)
I think you're missing part of the point of an obfuscator. Most obfuscators turn meaningful class and method names like "FourierTransform" and "calculateNow" to "A_" and "b_".
Actually, I know how they work. However, with most native compiled language, you don't even get clearly defined function statements, except for CALL address or the equivilent - argument lists and types are much harder to determine and reverse compiling becomes much, much harder.
Since a Java.class file clearly delinates all methods, what type they return and what type of arguments they take, it becomes harder to obfuscate the inner code workings. Yeah, something like a method called byte[] decryptStream(InputStream in) may be rendered as byte[] a214__2(InputStream arg1) by an obfuscator - but you still have a very clear definition of what it takes - although it may take some working to determine what exactly it does.
Still, as any maintance programmer can tell you, it's possible to figure out exactly how a program works without meaningful variable names and without comments - it just might be harder. (I remember the guy who named all his variables countn, where n was from 1 to however many variables he needed - count1 could be the iterator and count2 may have been the initial value - in other cases, this was reversed...)
Bottom line is that when the structure of a program is still clearly marked out in the.class format, it becomes easier to reverse assemble and the obfuscators don't really help much - they just make the task of reverse engineering the product that much more difficult - but the structure is still there.
I once upon a time built a class loader in C++ to protect the "IP investment" for a product. It would verify the product license, and then load
the product's encrypted classes from disk, into the virtual machine.
This really isn't in response to you, but to the other AC reply: When I said that Sun should create a "secure" JAR classloader, that's actually kind of what I meant - the classes should be encrypted. I'm not sure if it's possible to make reflect fail on loaded classes - it may be necessary for the runtime link step - but that would be the next step to create a "secure" classloader.
Java AWT works like total and complete crap under Linux from my limited experience with it on that platform. (I think the last time I tried anything with it GUI-wise under Linux was with Sun's 1.3.1 JDK to use a fairly spartan custom Swing-based app.) Graphical-oriented Java works best under Windows - well, NT, really. If you're using Java GUIs under Linux then you can get the impression it's crap, which is really unfair to an extent for the underlying technology.
Once you get into server-side technologies like servlets, Java starts to become a useful language. Thinks like ant are pretty cool - it's nice to be able to write build scripts that work under Linux and Windows.
Tomcat is a very nice platform for writing web applications. At one point, I had a fairly interesting thing running through Cocoon 2.
I can see why the wiz-bang graphical stuff turns people away from Java, but there really is a lot of cool things that can be done with it.
After experimentation, I'm pretty convinced that the decompilers on the market that work on obfuscated byte code KICK THE CRAP OUT OF THE OBFUSCATORS. The long and the short of it is the decompiled code is pretty decipherable.
That's probably because there's really no way to obfuscate Java byte code, since it's all java.lang.reflectable anyway - you can use Java code to dynamically load a class name at run time and then discover methods it contains and public variables it has.
As far as I know the.class format in essense requires methods and class variables to be determinable makes it fairly hard for Java to be "secure" when it comes to making code hard to disassemble. Especially because all your classes wind up being one-class-to-file and by default end up with the names of the classes and the package structure laid out in the directories created...
Sun may want to consider creating a secure JAR file which is loaded by a "secure" class loader that prevents reflecting, but a lot of cool stuff can be done with the reflect interface (like loading plugin classes at runtime).
Bottom line is that every.class file contains a list of all methods and public variables as well as being one instance of an original class definition - not useful for making your program structure hard to dissassemble. However, the ability to determine methods and load classes at runtime can be useful to. (As well as required for Java's RMI, I think - I might be wrong, though.)
Anyone want to take bets on how long it'll take before some "news" show does an "investigative report" on "broken CDs" and tells the average consumer to look for the CD-DA logo to ensure that the disc will work in their car, DVD player, and CD-compatible game console?
This seems to be the type of story that "investigative reporters" love - warning consumers that a product might not work on all of their fancy electronics and describing work-arounds and ways to avoid the problem.
It may even be worth it to send it in as a "tip" to one of those news stations that allows them to be sent in...
One of those would get the word out fairly quickly and probably cause Universal to find some way around the potential problems quickly. Especially if the discs don't work in Macintosh computers at the time...
Woohoo! There's someone else out there in this great Internet who thinks that the order of arguments to ln is backwards and makes the same mistake I do repeatedly...
I dunno why I always mess it up - it makes a certain amount of sense in the order it's in - I guess it's because I think the "-s" option takes the name of the new link or something.
I have to wonder what the process is going to do when it starts up and has no pages - it'll crash instantly, so why not kill it, right?
If you can't start the process, fork() should fail...
I meant "resume," not start - sorry about the confusion... (as in, resume the suspended process that you said should be suspended to recover memory). In other words, you suggested that a process should be suspended in an OOM situation. When suspended, however, the pages can't just disappear, because the application still needs them.
I think you're talking about an over-committed application where the process is suspended because it tried to write to a page that hasn't been copied yet. (In other words, process A forks process B which does nothing for a while and then starts doing some massive changes to memory structures that it was reading off of process A's memory space which causes a page fault and causes a new page to need to be allocated, which fails due to OOM.)
That sounds like a good idea as a method to potentially help avoid OOM, but I can still invent a scenario where it doesn't work. (For example, say the X-server gets suspended, and therefor the various clients get suspended waiting for the local socket to send an event, leaving only login running on other ttys - not enough memory to exec a new shell, and therefore a useless system.)
Even with preventative OOM measures, it's still possible to run into an OOM situation, and when the situation arises, there needs to be a way to handle it. OOM killer, assuming it's sophisticated enough, is one way of ensuring that the box doesn't just grind to a halt and panic.
If that's the goal [preventing the kernel from panicing], it fails, because it makes no such guarantee that your system will be working in any intuitive or useful sense of the word.
Beats the Black Screen Of Panic, Linux's version of the Blue Screen Of Death... (unless INIT dies (which panics anyway...) or X dies (which locks display/keyboard) or login dies or...)
Bottom line, OOM is a pretty drastic state which I have yet to ever reach (although I've come close with Unreal Memory Leak Tournament). If you hit OOM, something needs to be done, and OOM killer is better than just panicing and causing everything to be lost.
Notice the underlined word above? Or perhaps it is merely blue text on the console. Whatever the case, it is a link to the full version of his article, in all it's glory, on MSDN.
In other words, the full article is linked.
So your real question is why did Slashdot decide to reprint the shortened version? Maybe they were worried that if people realized this was an article put out by the Evil Empire® © 1985-2002, that their readers wouldn't read it...
(Also, anyone want to guess which is the larger audience, Slashdot or MSDN?)
[S]o Flash is a bad evil tool of the devil (as spouted here at Slashdot) but when the EFF uses it, no problem?
Flash is a bad evil tool of the devil when used in place of HTML or used in place of other, more accessible, standards. In this case, Flash is being used to make what is in essence a movie. When knowingly browsing to a movie, I am willing to accept that the movie might require a plugin in order to be successfully viewed.
What I hate and find annoying is when Flash is used in place of HTML or other more accessible means. If Slashdot's front page were a large Flash animation, then it would be an annoying tool of the devil. If Flash were used for the topic icons, it would be another misuse. But if Flash were used for a cute little animation that is the basis for a text story, that's an appopriate use of Flash.
Also, don't forget that there is no entity known as Slashdot. Some people like Flash, others do not.
I personally hate Flash when used where simple html and images would have done since Flash sometimes causes my browser to crash and generally slows down the rendering of the browser page. But when it is used to create an animation with sound, I don't mind it - as long as I am aware of that fact before loading the page.
This is just another right-tool-for-the-job issue, and in this case, the EFF is using the right tool for the job they wish to do.
I keep on hearing this, but no one ever seems to ever do anything about it. Well, we were able to get protests going about Dmitry Skylarov, so let's do something about this. It's a similar issue, isn't it?
I am going to arbitrarily pick July 8th as a day to do a "geeks" march at Washington. I'm willing to go to Washington DC for a day if I can get others to come with me. I'll submit an Ask Slashdot on this topic, but since I don't have the resources to really set up anything along these lines, I can't really do much on my own.
Let's get something going!
Mozilla - RC2 takes up 20MB of memory to do nothing. Since the system at work isn't mine, it can't handle that, and swaps like crazy when Mozilla is brought to the front or returned to the background when some other application is used.
That leaves NS4, which barfs on most CSS and generally sucks (although is the mandated e-mail client and browser, don't ask), and IE, which comes in at about 9MB of memory (I'm not sure if that includes system libraries and other things hidden within Windows, but...).
Hence, I choose to browse with IE from work, since it works best with the Windows 2000 system I've been given to work on. I gave up on Mozilla since it was causing my system to thrash the hard drive whenever it was used. And I don't want to use Opera, as it seems to me that ads are not something I need to be wasting company time and bandwidth for.
(And if anyone wants to ask "what about Slashdot", you can either know I'm doing this during lunch, or you can take my view and accept reading Slashdot as a way to allow me to relax while trying to solve a work-related problem. I believe that reading Slashdot actually improves my productivity, since it allows me to back away from a problem for a while and then attack it from a new angle, as well as helping me learn about new technologies and the like. So I don't view it as a waste of time, but to anyone who'd want to argue otherwise, go ahead, prove me wrong.)
I'm not sure he really switched - I think that the conspirators wanted Mulder to be killed while trying to escape from jail and not via a military trial, as that would be a much cleaner way to kill him when people go looking for him. ("Oh sure, the trial may have been unfair, but Mulder tried to run and was killed while escaping, so it really doesn't matter - stop looking into it.") After all, "they" knew where Mulder was anyway and it's not so much of a stretch to imagine that he would have been placed to try and get Mulder killed.
The other option is that he wanted Mulder out of the way, but not killed, and got cold feet after Mulder was sentenced to lethal injection.
But I dunno, I wasn't really paying too much attention to the episode, and may have missed some things (and may be completely off the wall since I never really watched the X-Files anyway).
I think you may have discovered a Star Trek geek.
There was a (extremely small, relative to the huge "POOP") "Java" oriented perpendicular to the POOP as well, but walking down, looking at books and seeing one entitled "POOP" was just... well, weird.
For example, a poem can not rhyme but follow a set beat pattern. (Like a limerick that doesn't rhyme.) Other examples could be a common starting sound (starting each line with a sound as opposed to vice versa, sort of like allieration) or trying to envoke a sound via words (onomatopoeia).
In any case, a poem need not rhyme. The only thing poems usually have are set lines that don't necessarily match sentences.
Anyway, I'm not a poet or an English major or anything like that, so check out About.com's section on poetry writing for various styles of poetry, not all of which involve rhyming. (Although most styles do.)
That's why the tags in the core HTML describe content like <em> indicates that the text should be displayed with emphasis as opposed to the newer <i> tag that does something similar. HTML marks content with rendering hints, but it's not designed to be able to lay out a page. It's designed to describe rendering hints on a page. Any time HTML is used to lay out a page, it's using a bastardization of tables and using tags that have been removed in HTML 4.01 strict (and are merely deprecated in HTML 4.01 transitional).
CSS (Cascading Style Sheets) is designed to lay out a page. CSS can be applied directly to an XML document (in the spec, maybe not via any tools yet), and it can also describe the page layout. I'd point you to my website that uses CSS to lay out the page, but it's currently offline, so I'll just have to send you to the W3 CSS site. If you're using a CSS compliant browser (Mozilla is the best at rendering it properly but IE works - dunno about anything else), you should notice the menu and the various links scattered about the top of the page that are defined via CSS page lay out rules.
HTML as originally designed is intended to describe sections of a document. At some point, people started developing fancy webpages and HTML 3 was born which included a lot of page lay out tags. However, more recently, with IE 5 and Mozilla, CSS and HTML have taken over for page design, meaning that newer sites can be designed using HTML 4.01 strict with CSS describing how it should be displayed. (This is the preferred, "proper" method.) Historically, HTML was originally designed to define a page structure, delinating paragraphs and lists. With HTML 4.01 it returns to the ideal, while using CSS to allow for fancy page layout.
I wonder what it means that my first thought was "the servers named Britney and J-Lo have stopped functioning" and it took almost a full 10 seconds before I realized the other meaning...
Damn, I need to get out more...
Or Lucas could freeze Amidalla in carbonite or slow her aging or speed Anakin's grouth as some Jedi trick or whatever...
According to Anakin's bio over at starwars.com:
So about 10 years have passed, and they're something like 19 and 24. I think. We'll see :)
It starts with "J".
His last name must begin with an "S" just like John Sheridan and Jeffery Sinclair from Babylon 5...
As for buying anime, the above-mentioned Animefu gives links to AnimeNation; I've used Robert's Anime Corner Store before. You can also try looking for anime stores via Google. (Which, strangely enough, gives the exact two places I mentioned as the first and second links in the same order I mentioned - weird :).)
The best way to find anime though is to find a friend who likes it and watch what they have. That's how I found out about anime first and why I have a growing collection of anime DVDs.
Eh, the ship in Outlaw Star is called the Outlaw Star. And in that series the Outlaws are like a caste of people who aren't really Outlaws, but are more like lone wolves who search the galaxy for treasure. In the Japanese version, they use the English word Outlaw for these people, Outlaw is not a translation from Japanese and neither is Outlaw Star - the ship is called "Outlaw Star" in English in the original Japanese.
Which is the best episode in the entire series - that sucks. It involves Gene needing to shoot a smutty video to get better caster shells and is generally a rather amusing episode. I got to watch the entire series when a friend of mine rented the DVDs from a local video store (which, due to its proximity to a tech college, has a fairly nice anime section). It's a pretty cool series.
I'd be willing to bet that Gene was sleeping with Suzuka and Aysha
I don't think so - at least not in the subbed episodes I saw. While Gene had definately had some fun with the waitress at home who's butt he's always grabbing (in the uncensored version, at least...), I highly doubt anyone had any sexual anything with Suzuka - she wanders off too much and just doesn't seem intersted in a sexual way with anyone on the craft. Gene definately arouses a sort of curiosity with her because she follows them around and helps them throughout the series.
I don't think anyone was interested in Aisha Clan Clan (at least, that's the spelling off Animefu). Although some other genres of anime might have people having relations with cat women, she seemed to be there more for comic relief than anything else - besides, Gene was too busy chasing Melfina and Suzuka.
The only one Gene might have gotten it on with during the series is Melfina, and late in the series at that. Although the full version has a scene were Gene tries to get it on with Melfina only to be stopped by Jim, I don't think he actually got it on later in the series - but he could have, I suppose. It's not too clear one way or the other.
(I'm trying to remember if there's a scene with Gene and Melfina in their underware in his room or not... I can't remember... I know the two of them get naked together at one time in the Naked Tube (Melfina helps control the ship by entering this tube which magically removes the clothing of all occupants) when Melfina uses it to help save Gene - but I don't think Gene was up for much of anything at the time and I'm not sure the two of them could actually touch or interact anywhere except in a sort of spectral plane of existance while in the tube.)
Obviously a spell checker will fix all of Taco's spelling errors!
i
r
s
t
P
o
s
t
!
This is my 666th post - get it?
Actually, I know how they work. However, with most native compiled language, you don't even get clearly defined function statements, except for CALL address or the equivilent - argument lists and types are much harder to determine and reverse compiling becomes much, much harder.
Since a Java .class file clearly delinates all methods, what type they return and what type of arguments they take, it becomes harder to obfuscate the inner code workings. Yeah, something like a method called byte[] decryptStream(InputStream in) may be rendered as byte[] a214__2(InputStream arg1) by an obfuscator - but you still have a very clear definition of what it takes - although it may take some working to determine what exactly it does.
Still, as any maintance programmer can tell you, it's possible to figure out exactly how a program works without meaningful variable names and without comments - it just might be harder. (I remember the guy who named all his variables countn, where n was from 1 to however many variables he needed - count1 could be the iterator and count2 may have been the initial value - in other cases, this was reversed...)
Bottom line is that when the structure of a program is still clearly marked out in the .class format, it becomes easier to reverse assemble and the obfuscators don't really help much - they just make the task of reverse engineering the product that much more difficult - but the structure is still there.
I once upon a time built a class loader in C++ to protect the "IP investment" for a product. It would verify the product license, and then load the product's encrypted classes from disk, into the virtual machine.
This really isn't in response to you, but to the other AC reply: When I said that Sun should create a "secure" JAR classloader, that's actually kind of what I meant - the classes should be encrypted. I'm not sure if it's possible to make reflect fail on loaded classes - it may be necessary for the runtime link step - but that would be the next step to create a "secure" classloader.
Small list of open-source Java projects:
There's quite a community based around Java - I would suggest people start looking at those aspects of its cover.
Once you get into server-side technologies like servlets, Java starts to become a useful language. Thinks like ant are pretty cool - it's nice to be able to write build scripts that work under Linux and Windows.
Tomcat is a very nice platform for writing web applications. At one point, I had a fairly interesting thing running through Cocoon 2.
I can see why the wiz-bang graphical stuff turns people away from Java, but there really is a lot of cool things that can be done with it.
That's probably because there's really no way to obfuscate Java byte code, since it's all java.lang.reflectable anyway - you can use Java code to dynamically load a class name at run time and then discover methods it contains and public variables it has.
As far as I know the .class format in essense requires methods and class variables to be determinable makes it fairly hard for Java to be "secure" when it comes to making code hard to disassemble. Especially because all your classes wind up being one-class-to-file and by default end up with the names of the classes and the package structure laid out in the directories created...
Sun may want to consider creating a secure JAR file which is loaded by a "secure" class loader that prevents reflecting, but a lot of cool stuff can be done with the reflect interface (like loading plugin classes at runtime).
Bottom line is that every .class file contains a list of all methods and public variables as well as being one instance of an original class definition - not useful for making your program structure hard to dissassemble. However, the ability to determine methods and load classes at runtime can be useful to. (As well as required for Java's RMI, I think - I might be wrong, though.)
First keyboard I remember destroying that did not involve punching it after dieing in some game...
This seems to be the type of story that "investigative reporters" love - warning consumers that a product might not work on all of their fancy electronics and describing work-arounds and ways to avoid the problem.
It may even be worth it to send it in as a "tip" to one of those news stations that allows them to be sent in...
One of those would get the word out fairly quickly and probably cause Universal to find some way around the potential problems quickly. Especially if the discs don't work in Macintosh computers at the time...
I dunno why I always mess it up - it makes a certain amount of sense in the order it's in - I guess it's because I think the "-s" option takes the name of the new link or something.
I'll blaim it on mild dyslexia and be on my way :)
I meant "resume," not start - sorry about the confusion... (as in, resume the suspended process that you said should be suspended to recover memory). In other words, you suggested that a process should be suspended in an OOM situation. When suspended, however, the pages can't just disappear, because the application still needs them.
I think you're talking about an over-committed application where the process is suspended because it tried to write to a page that hasn't been copied yet. (In other words, process A forks process B which does nothing for a while and then starts doing some massive changes to memory structures that it was reading off of process A's memory space which causes a page fault and causes a new page to need to be allocated, which fails due to OOM.)
That sounds like a good idea as a method to potentially help avoid OOM, but I can still invent a scenario where it doesn't work. (For example, say the X-server gets suspended, and therefor the various clients get suspended waiting for the local socket to send an event, leaving only login running on other ttys - not enough memory to exec a new shell, and therefore a useless system.)
Even with preventative OOM measures, it's still possible to run into an OOM situation, and when the situation arises, there needs to be a way to handle it. OOM killer, assuming it's sophisticated enough, is one way of ensuring that the box doesn't just grind to a halt and panic.
Beats the Black Screen Of Panic, Linux's version of the Blue Screen Of Death... (unless INIT dies (which panics anyway...) or X dies (which locks display/keyboard) or login dies or ...)
Bottom line, OOM is a pretty drastic state which I have yet to ever reach (although I've come close with Unreal Memory Leak Tournament). If you hit OOM, something needs to be done, and OOM killer is better than just panicing and causing everything to be lost.