This is a nightly check out and build of all OSS projects in Gump. It is slowly coming together, as now the projects are putting in tweaks to work better with the kaffe toolchain, pulling out any naughty use of sun.* code, etc, etc. The goal is simple: all the Apache and other main OSS projects, built with OSS libraries, on an OSS JVM. One day, we shall be truly free...
it would be nice to see how to talk to KDE or Gnome. Hey, it would fantastic to see someone telling me how to get drag and drop in either system to integrate with a swing app.
Plus something on how to do JNI code. We actually have a chapter doing that for both Windows and Linux in (product placement) Java Development with Ant; using Ant to compile then run some C code that reads the P5 real time clock, and so work out the round trip time. It isnt hard, just fiddly.
That is what I want with a Java on Linux book: Linux coding with Java. This sounds more like -java-development-with-vi.
Still, if it encourages Java developers to move to Linux -which is a great Java dev platform- this can only be a good thing.
biggest recurrent issue that causes complaints to the Ant team (I am one member) is that there is no way in Java to tweak file permissions. That is right, Java, written by a Unix vendor, has no way to read/write unix file perms. which sucks, and usually surfaces as "Ant copy task broken" bugreps.
As far as NIO, the only problem I know there is that you cannot select more than 64 objects on windows, which is MAX_WAITABLE_OBJECTS on WinNT/DOS.
One way MS could suddenly make explorer half decent is integrate some smartcard authentication system in which a user supplied smartcard is needed to log in to banks and optionally for card purchases.
If you live in a country with smartcard-on-visa (most of EU, I think), all you need is a card reader, which costs a few $ at most (its just a variant of a serial port and a new connector). For the US, you can have USB keys which contain a smartcard.
The banks have to play in this; they need to give all their users the smartcards or USB equivalents, and encourage you to use it for login/purchase.
If MS wont do it for the masses, we could do it in mozilla for the few, but it'll be harder to get the broad bank/vendor support we need.
I agree there, but also think that Eclipse's SWT kicks swings overweight butt, and, because it is OSS, can be used in Kaffe without any need to do a reimplementation...
remember, OOo is very much sun backed, the company who believe that a native java UI (Swing) is better than tight integration with the base OS.
Its interesting that the windows version doesnt have a native X11 version (obviously) and the standalone download does look different from star office. So consistency in look and feel isnt that high.
on a clean SP2 build (that is the MSDN WinXP+SP2 all in one install), Prompted ActiveX download is still enabled for the internet zone.
If you turn that off, windows update stops working, as http[s]:*.microsoft.com is in that zone.
I dont call that locking down the browser, To secure IE (even if you only use it for windows update)
1. disable AX download in internet zone
2, edit trusted zone site security to medium. Like you ever need a 'run anything, unprompted' zone.
3. add https:*.microsoft.com and http:*.microsoft.com to the trust zone
4. uncheck the 'require https in trusted zone' switch
the aim is to redefine "trusted" from "total access" to "prompted download active X controls", which is a serious enough undertaking that I dont want to enable it broadly. Only MS sites and spyware vendors seem to use it, after all.
out the box, WinXP sits there trickle feeding stuff like music listening statistics; routing all searches through MSN, routing all misspelt urls to MSN, etc, etc.
If even the OS manufacturer does it, who else can you trust?
It also makes it harder for MS to crack down on spyware, because they'd be open to so many lawsuits if they disabled other people's rights to collect this data, while they did it themselves. Which is a pity, as spyware is the enemy of a functional WinXP system.
I was doing driver dev for windows last year, doing the user-mode side of some CDROM extensions. Before we had real hardware, we had emulation stuff kernel side.
vmware could host this perfectly; we could do excellent device dev in the VM. But VPC wouldnt run it.
we do this with things internally; its nice to have a winxP build with activated office apps that I can host on my home, work, laptop.
but cost of OS maintenance is proportional to the #of virtual OSs on a system, not real ones. That is, if I have 10vm images on an HDD, that is 10 platforms to keep up to date. Which isnt that expensive with Unix, but on windows, it matters. you cannot bring up a month old VM without applying IE patches to it first, for security reasons.
Summary: works best with secure operating systems. But we know how to do those, dont we:)
As someone who works in an R&D lab on automated deployment, I think bits of the automation is not that far away. Case in point: apt-get. Automated fetch of stuff and dependencies. No more manual ftp-down, rebuild, install. Is our life better? Yes.
The stuff I work is more automated configuration & health checking integrated with deployment. Not so much the download of things like apache httpd, but the configuration so that you can roll it out to a cluster of machines with everything cross linked to the same database, ldap server and the like.
And it is better than hand executed stuff, because once you get your deployment descriptors right (the hard part), you have reliable deployment, again and again. Integrated system liveness checks are good too.
Does this mean that admin isnt needed. No, its just different. Better, I think -certainly less stressful just before something goes live.
I pulled one down from MSDN; a clean box (or vmware disk) to SP2 with no insecure moments. note that not only do hacked activation keys not work, but our official corporate XP activation key didn't work either; they've changed activation somewhat, presumably reissuing all new block keys to trusted parties.
1. your contact list is stored per machine, not on the server. When your machine goes (like my laptop got stolen last week), your contact list is gone. They should at least cache known skype users.
2. tone generation dubious. not good for getting through onto conference calls reliably.
3. no caller ID. so you cannot call people with a private-caller block unless you enter the phone number by hand. Which leads back to issue #2
4. the credit expires if you dont use it.
Otherwise, its an excellent service for long distance networking, and the linux client works great.
-remember where they were last use, and pop up there again. After verifying that that position is in range of the (multiwindow) system. You dont want it being hidden when the display resolution changes.
-also, save that (along with all other state) intermittently, so even when they crash, customisations dont get lost.
We have just got a clarification from the FSF on LGPL and Java: http://www.gnu.org/licenses/lgpl-java.html
Essentially, it means what it ought to mean: its only the library that is LPGL, not anything you build from it. Inheritance of class or interface is also allowed.
I dont disagree, I will just point out that people are trying to get everything to work.
Look at the kaffe gump stats to see how it is faring.
There are problems bootstrapping ant; more diags are being added to things to track them down. Once Ant is booting, more stuff will follow.
I think we have to admit that we arent any good at not making "upgrades" that dont break things.
Once we accept that, we accept the inevitable truth that there is no single state for all the dependencies on a complex system which satisfies all needs.
the only solution is isolation: stop having central system configs except for core features -the OS and drivers- and everything else gets isolated into per-app installations. Which may be per-app user mode linux images.
Imagine Longhorn ships in, what, late 2006. Five years since winXP shipped, and possible if they strip down the product.
Now imagine that comes with a new browser. The takeup of that browser will be limited to those who pay for the upgrade, and those buy new PCs. Even if pent up demand is massive, it will take a long time for the longhorn use base to be bigger than the XP installed base, which will have had five years to grow.
Unless MS brings out Ie7 for XP, all those WinXP users are targets for upgrade. MS want them to pay $/£/euro and upgrade to Longhorn. we want them to keep their valuable currencies and get firefox. we have the time and cost advantages.
MS have to focus on XP. You can seem them doing this, as the latest beta of the Avalon/XAML framework does run on XPSp2. but it isnt a web browser, not as we know it. A potential successor to DHTML apps maybe, but unless MS can convince all web site developers to abandon DHTML and adopt XAML, who cares?
'grid' computing is such a vague term. The fabric here can be reconfigured to boot different virtual disks, with different stuff running on it. It's not scavenging spare CPU or anything fancy.
But it could host Globus2.4, even Condor. Or a very large three tier Apache 2.0 HTTPD cluster. If you have the money, you get to choose.
The issue is whether Java's import statement constitutes an explicit linkage of the LGPL lib into the code (it also copies all string and int constants). What does 'extends' or 'implements' to extend a class or implement an interface.
I cant find anything written down in a public document, but you try submitting code to an apache Java project that imports an LGPL lib.
The LGPL project I work on takes the loose view, where even extends is probably OK. but Apache take the strict view.
That is, CPU & storage is something you pay for on demand. It is distributed (two facilties, two continents), and the users are all scattered round the UK. One of the facilities is downstairs from me in Bristol; a large chilled datacentre that I dont have access to for either security or competence reasons:)
Projects aren't charged real money for render time, do have virtual monety; cost of rendering varies depending on demand. Projects have their own balances. This lets money optimise the resource allocation. Get your design done early, render before the rest and you get more CPU time for your cash, hence better rendering.
There are lots of other sponsors, as this is giving regional and up and coming artists/animators chances to do serious renderings on facilities they wouldn't normally get.
Everyone in the project has virtual $ to buy render time; the cost of render time varies depending on demand. So, you get more rendering for your money if you time it right.
Advanced resource allocation is one of the research projects that are keeping some people -AI and mathematicians- busy. That's things like options, auctions, etc, etc.
If you point your web browser at SmartFrog you can read about and download the framework used to dynamically deploy the fabric management tools and the rendering apps.
It's LGPL, Java based.
What you are thinking about, community rendering, needs community rendering tools. Bandwidth is an issue with all these apps; the filesets are huge.
I see your point, but I should also note that shrek2 was rendered on an HP utility computing fabric.
You can outsource rendering, if they are people you trust and you can lock down everything: VPN to the farm, encrypted HDD. Its like the old mainframe world -you dont want to trust the operators with your data.
We have things to do to keep the facility busy; its a flexible fabric and it can do interesting stuff. To be honest, pure CPU cycles is not its strength -many home computers can deliver more mips.
What the farm(s) have is large amounts of storage near those mips, which is what you need for data-intensive computation. Large animation models is one use. data processing from things like the Large Hadron Collider another, though we wont have real data from the LHC yet.
Now, if you have projects to run on such a fabric come talk your nearest HP sales rep.
The stuff we do in HPLabs is focused on 'research on how to use these systems'; things like resource allocation, load balancing for thermal management, etc, etc. I'm working on distributed deployment and testing, using the datacentres and perhaps soon the PlanetLab facility, which has more distribution for interesting problems.
If you want to play with the deployment tools, to http://smartfrog.org/ and download it. The technology is designed to make it possible to install and configure complex systems over a utility computing infrastructure.
Look at http://brutus.apache.org/gump/kaffe/
This is a nightly check out and build of all OSS projects in Gump. It is slowly coming together, as now the projects are putting in tweaks to work better with the kaffe toolchain, pulling out any naughty use of sun.* code, etc, etc. The goal is simple: all the Apache and other main OSS projects, built with OSS libraries, on an OSS JVM. One day, we shall be truly free...
Yes,
it would be nice to see how to talk to KDE or Gnome. Hey, it would fantastic to see someone telling me how to get drag and drop in either system to integrate with a swing app.
Plus something on how to do JNI code. We actually have a chapter doing that for both Windows and Linux in (product placement) Java Development with Ant; using Ant to compile then run some C code that reads the P5 real time clock, and so work out the round trip time. It isnt hard, just fiddly.
That is what I want with a Java on Linux book: Linux coding with Java. This sounds more like -java-development-with-vi.
Still, if it encourages Java developers to move to Linux -which is a great Java dev platform- this can only be a good thing.
biggest recurrent issue that causes complaints to the Ant team (I am one member) is that there is no way in Java to tweak file permissions. That is right, Java, written by a Unix vendor, has no way to read/write unix file perms. which sucks, and usually surfaces as "Ant copy task broken" bugreps.
As far as NIO, the only problem I know there is that you cannot select more than 64 objects on windows, which is MAX_WAITABLE_OBJECTS on WinNT/DOS.
One way MS could suddenly make explorer half decent is integrate some smartcard authentication system in which a user supplied smartcard is needed to log in to banks and optionally for card purchases.
If you live in a country with smartcard-on-visa (most of EU, I think), all you need is a card reader, which costs a few $ at most (its just a variant of a serial port and a new connector). For the US, you can have USB keys which contain a smartcard.
The banks have to play in this; they need to give all their users the smartcards or USB equivalents, and encourage you to use it for login/purchase.
If MS wont do it for the masses, we could do it in mozilla for the few, but it'll be harder to get the broad bank/vendor support we need.
I agree there, but also think that Eclipse's SWT kicks swings overweight butt, and, because it is OSS, can be used in Kaffe without any need to do a reimplementation...
remember, OOo is very much sun backed, the company who believe that a native java UI (Swing) is better than tight integration with the base OS.
Its interesting that the windows version doesnt have a native X11 version (obviously) and the standalone download does look different from star office. So consistency in look and feel isnt that high.
on a clean SP2 build (that is the MSDN WinXP+SP2 all in one install), Prompted ActiveX download is still enabled for the internet zone.
If you turn that off, windows update stops working, as http[s]:*.microsoft.com is in that zone.
I dont call that locking down the browser, To secure IE (even if you only use it for windows update)
1. disable AX download in internet zone
2, edit trusted zone site security to medium. Like you ever need a 'run anything, unprompted' zone.
3. add https:*.microsoft.com and http:*.microsoft.com to the trust zone
4. uncheck the 'require https in trusted zone' switch
the aim is to redefine "trusted" from "total access" to "prompted download active X controls", which is a serious enough undertaking that I dont want to enable it broadly. Only MS sites and spyware vendors seem to use it, after all.
out the box, WinXP sits there trickle feeding stuff like music listening statistics; routing all searches through MSN, routing all misspelt urls to MSN, etc, etc.
If even the OS manufacturer does it, who else can you trust?
It also makes it harder for MS to crack down on spyware, because they'd be open to so many lawsuits if they disabled other people's rights to collect this data, while they did it themselves. Which is a pity, as spyware is the enemy of a functional WinXP system.
Agreed.
I was doing driver dev for windows last year, doing the user-mode side of some CDROM extensions. Before we had real hardware, we had emulation stuff kernel side.
vmware could host this perfectly; we could do excellent device dev in the VM. But VPC wouldnt run it.
we do this with things internally; its nice to have a winxP build with activated office apps that I can host on my home, work, laptop.
:)
but cost of OS maintenance is proportional to the #of virtual OSs on a system, not real ones. That is, if I have 10vm images on an HDD, that is 10 platforms to keep up to date. Which isnt that expensive with Unix, but on windows, it matters. you cannot bring up a month old VM without applying IE patches to it first, for security reasons.
Summary: works best with secure operating systems. But we know how to do those, dont we
As someone who works in an R&D lab on automated deployment, I think bits of the automation is not that far away. Case in point: apt-get. Automated fetch of stuff and dependencies. No more manual ftp-down, rebuild, install. Is our life better? Yes.
The stuff I work is more automated configuration & health checking integrated with deployment. Not so much the download of things like apache httpd, but the configuration so that you can roll it out to a cluster of machines with everything cross linked to the same database, ldap server and the like.
And it is better than hand executed stuff, because once you get your deployment descriptors right (the hard part), you have reliable deployment, again and again. Integrated system liveness checks are good too.
Does this mean that admin isnt needed. No, its just different. Better, I think -certainly less stressful just before something goes live.
I pulled one down from MSDN; a clean box (or vmware disk) to SP2 with no insecure moments. note that not only do hacked activation keys not work, but our official corporate XP activation key didn't work either; they've changed activation somewhat, presumably reissuing all new block keys to trusted parties.
1. your contact list is stored per machine, not on the server. When your machine goes (like my laptop got stolen last week), your contact list is gone. They should at least cache known skype users.
2. tone generation dubious. not good for getting through onto conference calls reliably.
3. no caller ID. so you cannot call people with a private-caller block unless you enter the phone number by hand. Which leads back to issue #2
4. the credit expires if you dont use it.
Otherwise, its an excellent service for long distance networking, and the linux client works great.
yes, the best thing apps shoud do is
-remember where they were last use, and pop up there again. After verifying that that position is in range of the (multiwindow) system. You dont want it being hidden when the display resolution changes.
-also, save that (along with all other state) intermittently, so even when they crash, customisations dont get lost.
We have just got a clarification from the FSF on LGPL and Java: http://www.gnu.org/licenses/lgpl-java.html Essentially, it means what it ought to mean: its only the library that is LPGL, not anything you build from it. Inheritance of class or interface is also allowed.
I dont disagree, I will just point out that people are trying to get everything to work. Look at the kaffe gump stats to see how it is faring. There are problems bootstrapping ant; more diags are being added to things to track them down. Once Ant is booting, more stuff will follow.
I think we have to admit that we arent any good at not making "upgrades" that dont break things.
Once we accept that, we accept the inevitable truth that there is no single state for all the dependencies on a complex system which satisfies all needs.
the only solution is isolation: stop having central system configs except for core features -the OS and drivers- and everything else gets isolated into per-app installations. Which may be per-app user mode linux images.
Imagine Longhorn ships in, what, late 2006. Five years since winXP shipped, and possible if they strip down the product.
Now imagine that comes with a new browser. The takeup of that browser will be limited to those who pay for the upgrade, and those buy new PCs. Even if pent up demand is massive, it will take a long time for the longhorn use base to be bigger than the XP installed base, which will have had five years to grow.
Unless MS brings out Ie7 for XP, all those WinXP users are targets for upgrade. MS want them to pay $/£/euro and upgrade to Longhorn. we want them to keep their valuable currencies and get firefox. we have the time and cost advantages.
MS have to focus on XP. You can seem them doing this, as the latest beta of the Avalon/XAML framework does run on XPSp2. but it isnt a web browser, not as we know it. A potential successor to DHTML apps maybe, but unless MS can convince all web site developers to abandon DHTML and adopt XAML, who cares?
'grid' computing is such a vague term. The fabric here can be reconfigured to boot different virtual disks, with different stuff running on it. It's not scavenging spare CPU or anything fancy.
But it could host Globus2.4, even Condor. Or a very large three tier Apache 2.0 HTTPD cluster. If you have the money, you get to choose.
The issue is whether Java's import statement constitutes an explicit linkage of the LGPL lib into the code (it also copies all string and int constants). What does 'extends' or 'implements' to extend a class or implement an interface.
I cant find anything written down in a public document, but you try submitting code to an apache Java project that imports an LGPL lib.
The LGPL project I work on takes the loose view, where even extends is probably OK. but Apache take the strict view.
That is, CPU & storage is something you pay for on demand. It is distributed (two facilties, two continents), and the users are all scattered round the UK. One of the facilities is downstairs from me in Bristol; a large chilled datacentre that I dont have access to for either security or competence reasons :)
Projects aren't charged real money for render time, do have virtual monety; cost of rendering varies depending on demand. Projects have their own balances. This lets money optimise the resource allocation. Get your design done early, render before the rest and you get more CPU time for your cash, hence better rendering.
There are lots of other sponsors, as this is giving regional and up and coming artists/animators chances to do serious renderings on facilities they wouldn't normally get.
Everyone in the project has virtual $ to buy render time; the cost of render time varies depending on demand. So, you get more rendering for your money if you time it right.
Advanced resource allocation is one of the research projects that are keeping some people -AI and mathematicians- busy. That's things like options, auctions, etc, etc.
SmartFrog you can read about and download the framework used to dynamically deploy the fabric management tools and the rendering apps.
It's LGPL, Java based.
What you are thinking about, community rendering, needs community rendering tools. Bandwidth is an issue with all these apps; the filesets are huge.
I see your point, but I should also note that shrek2 was rendered on an HP utility computing fabric.
You can outsource rendering, if they are people you trust and you can lock down everything: VPN to the farm, encrypted HDD. Its like the old mainframe world -you dont want to trust the operators with your data.
We have things to do to keep the facility busy; its a flexible fabric and it can do interesting stuff. To be honest, pure CPU cycles is not its strength -many home computers can deliver more mips.
What the farm(s) have is large amounts of storage near those mips, which is what you need for data-intensive computation. Large animation models is one use. data processing from things like the Large Hadron Collider another, though we wont have real data from the LHC yet.
Now, if you have projects to run on such a fabric come talk your nearest HP sales rep.
The stuff we do in HPLabs is focused on 'research on how to use these systems'; things like resource allocation, load balancing for thermal management, etc, etc. I'm working on distributed deployment and testing, using the datacentres and perhaps soon the PlanetLab facility, which has more distribution for interesting problems.
If you want to play with the deployment tools, to http://smartfrog.org/ and download it. The technology is designed to make it possible to install and configure complex systems over a utility computing infrastructure.