The best thing they could do would be to make swing free. Swing seems to be the biggest sink, and then all that's left is the base classes, which the open-source community can improve. Open-sourcing swing will hopefully improve it faster and improve the quality of it.
Re:Checked Exceptions
on
How C# Was Made
·
· Score: 2, Interesting
I think you probably want RuntimeException rather than Error - error is meant to be things like 'OutOfMemory' or 'LinkingError'
NullPointerException is a runtime exception for example, and so is ClassCastException.
If you want to squash IOExceptions then just wrap them in RuntimeExceptions - ie
- but I'd wager that there might well be some remedial action you can take other than this.
There are cases that go the other way - for example, Integer.parseInt() raises a RuntimeException when it should actually be a checked exception. I think there's a fairly pitched battle about this at Sun.
I started enjoying Java when I found eclipse. And I think a lot of people feel the same.
Java feels as if it has a new lease of life thanks to Eclipse and GCJ. Sun have done absolutely nothing on AWT to make it any better - making sure that everybody goes for Swing instead - whereas I would imagine that IBM would have been fine with Swing sitting on top of a better AWT.
At the end of the day, there is almost certainly a technical solution to this. Eclipse might well move to a swing like system that can sit on top of either SWT OR Swing, and there are all sorts of projects to bridge the two. If the work continues onwards, then it might be quite impressive.
I didn't mean it was a shame that it was different, I think the fact that it (on the face of it) seems to prevent juries returning perverse verdicts in favour of the defendant.
As an example. Imagine that I say that walking in a certain way is a crime. I arrest you for it. I stick you in a court with video footage that you were doing it, sworn statements from 100 observers that you were doing it. The jury can still acquit and you are free. It seems that this isn't possible in this case. But the entire legal system might well be different and have sufficient checks and balances in other areas.
I thought there was a potential case that you could be tried for the same crime - once by the state and once by the federal government?
But yes, the fact that in Norway you have to defend yourself against appeals is 'interesting' - it seems to defeat the possibility of jury activism, which I think is a shame.
Yeah, this attachment E seems to be new, I don't recall having seen it before.
I must admit, the actual entire asset purchase agreement is incredibly strange. I think that the text in Ammendment 2 is a bit weird - it would be interesting to know what copyrights SCO would ever need to do certain things. It's very strange
I don't care about an easy to use identity card that I can opt to carry. I don't want to have to present one on the street to a policeman who asks, who can then mark my card if I'm wanting to protest.
Can you imagine the chilling effect of being forced to provide ID if you wanted to protest, or being put on a register?
Where people dislike optional IDs is the fear that they'll be made mandatory.
Heh, I had a nvidia card at work. I had to revert to the XFree86 drivers to actually get some work done. Now I have a Radeon (pinched from a dead PC), and I get to have working 3d without it locking my machine solid!
Not everybody gets on with Nvidia's 'fantastic' binary-only drivers.
Just because the elites are using bash/tcsh/whatever doesn't mean that the rest of us can't use Java/.NET to do our work.
gcj is a truely magnificent piece of software which is woefully undersupported by people. I'll admit it's partially my fault - I could easily add stuff to gcj, but trying to get my boss to sign a copyright attribution form would be madness. Maybe next time I seek a job I will bring it up in interview, then I can get it signed quite easily, however, until then, I'll have to wait.
There's already java hooks to almost everything, it wouldn't be hard to add more and integrate very tightly with the OS. especially with the very tight integration of Java and C++ that gcj can do.
I've never used it, but I understood it was meant to be a Java interpreter which could be used like this.
If you wrote a nice series of base classes then you could probably duplicate this functionality I would have thought
Re:C# generics on built-in types do not use boxing
on
C# 2.0 Spec Released
·
· Score: 1
Granted, Microsoft's offers scope for efficiency, but all of the 'boxed' java types are final, so you could, with extra work, do exactly the same for Java. If you had a good inliner then a call to a List that immediately called intValue() could be optimised away, and equally, when an Integer was explicitly needed one could be generated as needed.
But, yes, it would take a LOT of work to get a Java implementation to be this efficient.
The problem is they can still printscreen, plus of course, they could just write code to handle the X11 protocol in a certain way. You can bet Microsoft would bring that up when senior management said anything to them
(Not that I think that Microsoft's approach is any better, but in that sense, they may well claim that security through obscurity gives them an edge).
Re:Mono - the most important OS project currently
on
Mono 2.8 Released
·
· Score: 1
I know it's not template based.... I still think you could achieve a fairly easy optimisation by generating some of this stuff dynamically.
If the bytecode looks like this
invokevirtual ArrayList::get() checkcast Integer
then you can see this later on and shortcircuit the cast.
then it's fairly obvious you could eliminate this.
It is a LOT more work than a template based system, but you can be sure that if somebody declares ArrayList then they can't use a subclass of Integer as Integer is a final class.
Basically, you're trying to decompile the code and then recompile it as if it was a template, so it is a bit gruesome, but I think you can still achieve this.
If the PS2 had been a PSOne with a slightly faster processor, it might well have not caught on at all, but it's substantially better. Much better quality FMV, graphics that make the PS1 look primitive in comparison.
Likewise with Windows. Windows 95 had several real advantages over 3.1 so it was migrated to. If it had required a whole new way of programming it, yet offered the same disadvantages, then it would never have really got very far.
You can see a neat example of being in the middle with the Amiga 1200. A fair few AGA games were released, but even so, the AGA chip set was not advanced enough over the standard Amiga chipset to produce a large market for those games.
Anyway, just rambling
Re:Mono - the most important OS project currently
on
Mono 2.8 Released
·
· Score: 1
The information is still in the class files, and the system could well eliminate the casts by using this information as part of a verification step.
As well as this, combined with unboxing - as Integer et al are final classes (and thus can't be extended) - the JVM could transparently replace Integer with a template style version.
The implementation makes these details fully recoverable from bytecode.
(Note, it's not perfect, as you might find that this gets passed to some 1.5 era code that knows nothing about this and it decides to add an Object to it, in which case you'd have to patch everything very quickly, but that's somebody elses problem)
I thought that holding most of the traffic within their network was a massive win for them? Not dirt cheap, but certainly better than putting it out to the Internet at large.
I use daemontools so that I can use CDs I own on my laptop, which doesn't have a CD-ROM drive to reduce its weight and increase its battery life.
Avoiding changing CDs is a fairly lame reason though, I will admit, and I imagine a fair number of these are used for piracy, but there are some very important non-infringing uses.
The template stuff in 1.5 is bytecode compatible with 1.3 to my understanding. The generated code sticks casts in behind your back.
Obviously, for the point of optimisation and compilation, you can still extract whether a type supports generics (there's a Signature attribute added to methods and fields), but it shouldn't cause.NET any problems.
The best thing they could do would be to make swing free. Swing seems to be the biggest sink, and then all that's left is the base classes, which the open-source community can improve. Open-sourcing swing will hopefully improve it faster and improve the quality of it.
I think you probably want RuntimeException rather than Error - error is meant to be things like 'OutOfMemory' or 'LinkingError'
NullPointerException is a runtime exception for example, and so is ClassCastException.
If you want to squash IOExceptions then just wrap them in RuntimeExceptions - ie
try {
blah;
} catch(IOException ioe) { throw new RuntimeException(ioe); }
- but I'd wager that there might well be some remedial action you can take other than this.
There are cases that go the other way - for example, Integer.parseInt() raises a RuntimeException when it should actually be a checked exception. I think there's a fairly pitched battle about this at Sun.
I started enjoying Java when I found eclipse. And I think a lot of people feel the same.
Java feels as if it has a new lease of life thanks to Eclipse and GCJ. Sun have done absolutely nothing on AWT to make it any better - making sure that everybody goes for Swing instead - whereas I would imagine that IBM would have been fine with Swing sitting on top of a better AWT.
At the end of the day, there is almost certainly a technical solution to this. Eclipse might well move to a swing like system that can sit on top of either SWT OR Swing, and there are all sorts of projects to bridge the two. If the work continues onwards, then it might be quite impressive.
I didn't mean it was a shame that it was different, I think the fact that it (on the face of it) seems to prevent juries returning perverse verdicts in favour of the defendant.
As an example. Imagine that I say that walking in a certain way is a crime. I arrest you for it. I stick you in a court with video footage that you were doing it, sworn statements from 100 observers that you were doing it. The jury can still acquit and you are free. It seems that this isn't possible in this case. But the entire legal system might well be different and have sufficient checks and balances in other areas.
I thought there was a potential case that you could be tried for the same crime - once by the state and once by the federal government?
But yes, the fact that in Norway you have to defend yourself against appeals is 'interesting' - it seems to defeat the possibility of jury activism, which I think is a shame.
Gee, guess we got the same total retard then.
I got a letter from Lord Sainsbury's saying much the same.
It really scares me how retarded our government is over technical issues. It scares me more that they don't even ask for help.
I thought the GBA's screen was only 160x128 or something? ie, lower res than tele.
Yeah, this attachment E seems to be new, I don't recall having seen it before.
I must admit, the actual entire asset purchase agreement is incredibly strange. I think that the text in Ammendment 2 is a bit weird - it would be interesting to know what copyrights SCO would ever need to do certain things. It's very strange
I don't care about an easy to use identity card that I can opt to carry. I don't want to have to present one on the street to a policeman who asks, who can then mark my card if I'm wanting to protest.
Can you imagine the chilling effect of being forced to provide ID if you wanted to protest, or being put on a register?
Where people dislike optional IDs is the fear that they'll be made mandatory.
Heh, I had a nvidia card at work. I had to revert to the XFree86 drivers to actually get some work done. Now I have a Radeon (pinched from a dead PC), and I get to have working 3d without it locking my machine solid!
Not everybody gets on with Nvidia's 'fantastic' binary-only drivers.
Just because the elites are using bash/tcsh/whatever doesn't mean that the rest of us can't use Java/.NET to do our work.
gcj is a truely magnificent piece of software which is woefully undersupported by people. I'll admit it's partially my fault - I could easily add stuff to gcj, but trying to get my boss to sign a copyright attribution form would be madness. Maybe next time I seek a job I will bring it up in interview, then I can get it signed quite easily, however, until then, I'll have to wait.
There's already java hooks to almost everything, it wouldn't be hard to add more and integrate very tightly with the OS. especially with the very tight integration of Java and C++ that gcj can do.
What about something like the Java Beanshell?
I've never used it, but I understood it was meant to be a Java interpreter which could be used like this.
If you wrote a nice series of base classes then you could probably duplicate this functionality I would have thought
Granted, Microsoft's offers scope for efficiency, but all of the 'boxed' java types are final, so you could, with extra work, do exactly the same for Java. If you had a good inliner then a call to a List that immediately called intValue() could be optimised away, and equally, when an Integer was explicitly needed one could be generated as needed.
But, yes, it would take a LOT of work to get a Java implementation to be this efficient.
The problem is they can still printscreen, plus of course, they could just write code to handle the X11 protocol in a certain way. You can bet Microsoft would bring that up when senior management said anything to them
(Not that I think that Microsoft's approach is any better, but in that sense, they may well claim that security through obscurity gives them an edge).
I know it's not template based.... I still think you could achieve a fairly easy optimisation by generating some of this stuff dynamically.
If the bytecode looks like this
invokevirtual ArrayList::get()
checkcast Integer
then you can see this later on and shortcircuit the cast.
If the code looked like
invokevirtual ArrayList::get()
checkcast Integer
invokevirtual Integer::intValue
then it's fairly obvious you could eliminate this.
It is a LOT more work than a template based system, but you can be sure that if somebody declares ArrayList then they can't use a subclass of Integer as Integer is a final class.
Basically, you're trying to decompile the code and then recompile it as if it was a template, so it is a bit gruesome, but I think you can still achieve this.
the C128 wasn't advanced enough.
If the PS2 had been a PSOne with a slightly faster processor, it might well have not caught on at all, but it's substantially better. Much better quality FMV, graphics that make the PS1 look primitive in comparison.
Likewise with Windows. Windows 95 had several real advantages over 3.1 so it was migrated to. If it had required a whole new way of programming it, yet offered the same disadvantages, then it would never have really got very far.
You can see a neat example of being in the middle with the Amiga 1200. A fair few AGA games were released, but even so, the AGA chip set was not advanced enough over the standard Amiga chipset to produce a large market for those games.
Anyway, just rambling
The information is still in the class files, and the system could well eliminate the casts by using this information as part of a verification step.
As well as this, combined with unboxing - as Integer et al are final classes (and thus can't be extended) - the JVM could transparently replace Integer with a template style version.
The implementation makes these details fully recoverable from bytecode.
(Note, it's not perfect, as you might find that this gets passed to some 1.5 era code that knows nothing about this and it decides to add an Object to it, in which case you'd have to patch everything very quickly, but that's somebody elses problem)
I thought that holding most of the traffic within their network was a massive win for them? Not dirt cheap, but certainly better than putting it out to the Internet at large.
I use daemontools so that I can use CDs I own on my laptop, which doesn't have a CD-ROM drive to reduce its weight and increase its battery life.
Avoiding changing CDs is a fairly lame reason though, I will admit, and I imagine a fair number of these are used for piracy, but there are some very important non-infringing uses.
;) No, through headphones.
Some stuff I've noticed it - occasionally something seems harsher, but it never really bothered me.
Now I have a laptop, so they're all mp3s or oggs if I've ripped them recently.
Looks like all they do is reorganise the PE files when they load them, and have an implementation of the Win32 API (ala wine).
I don't think they're actually translating calls to Windows functions to OS/2 functions - that would be neat (and very very hard, due to side effects)
I listen to 64kb WMAs on my PocketPC. The quality seems good enough to me.
And shortly out will come Crystal Chronicles, which, if we're lucky will be a Gamecube SOM :)))) [we can dream...]
Wouldn't REJECT be better? I thought DROP just dropped it on the floor and meant you'd suffer the wait for it to timeout.
Might not apply for output though - not configured iptables for ageeesss
The template stuff in 1.5 is bytecode compatible with 1.3 to my understanding. The generated code sticks casts in behind your back.
.NET any problems.
Obviously, for the point of optimisation and compilation, you can still extract whether a type supports generics (there's a Signature attribute added to methods and fields), but it shouldn't cause