Which is exactly the point - someone wrote the code for free usage, but a big (in this case nasty) corporation benefits. If the fellow who wrote the code wanted it used this way, that's his choice.
The fellow who wrote the code obviously didn't *care* how it was used. That someone wrote the code for *any* usage, otherwise the license shouldn't have been BSD.
I never did understand why making ideological agreement with the author a condition of licensing was a good idea...
I figure "I'm not making any money off this code" so why should I make sure no-one else is either? If someone else finds a way to make a profit out of it, then good for them. It would be nice if they decided to contribute back, bu it's their choice.
There are many other reasons for open sourcing other than ideology or warm fuzzies, but I don't use my code to leverage morality
Suppose they hired the equivalent of a director of IT though, who would come up with approved solutions.
Terrorist: "Hello? Is that the Al-Qaida support helpline?" Recorded voice: "Please press 1 if your call is related to the time-limited explosives exchange program. Please press 2 if you are experiencing problems igniting your shoes. Or please hold to speak to a support terrorist."
(time passes) Recorded voice: "Please hold.. your call is important to us, brother. We are currently transitioning our support strategy to Compaq Global Services."
(time passes.. bad musak to the tune of "The Girl from Ipanema") BoFA (Bastard Operator from Afghanistan): "Hello, caller, you're through." T: "Hi, er.. yeah.. my laptop seems to be broken.. I can't decrypt my files!" BoFA: "Are you using the Standard Terrorist Operating Environment?" T: "Er.. no.. my cell leader says that this other routine we found on the internet is more secure." BoFA: "I'm afraid we only support the STOE with W2K SP2 128-bit EFS." T: "Is there anything you can do?" BoFA: "You can wipe the laptop and start again. We can do that for you, but we'll have to charge 10,000,000,000,000 afghanis (or US$100) to your cost code." T: "But it's got secret plans of the Pentagon on it!" BoFA: "I'm sorry, I can't help you. If every terrorist picks their favourite non-symmetric crypto, we can't be expected to know them all. We're trying to run an elite multinational terrorist organisation here." T: "Okay.. I'll try somewhere else. On another matter, can you help me with my Palm Pilot? I stuffed it with C4, and now it won't start properly." BoFA: "I'm afraid we only support Pocket PC."
*click*
Well, if everyone stopped wasting bandwidth with inefficient email systems, even more inefficient unproxied and unshared web connections, and stunningly inefficient common file transfers, there may be enough spare bandwidth to allow the kind of transfers that require unique point-to-point communication, such as voice over IP and unique file transfer.
Fix the 'x' million identical HTTP transglobal connections every hour for the Hotmail homepage for one.
Distributed on-demand cacheing would be my first step. Scrapping a pull-based transport mechanism like HTTP would be the next. Freenet is a nice first step.
Re:YES ! Now just a few more shows ...
on
Star Trek TNG DVDs
·
· Score: 2
Okay, before I get flamed, *some* of B5 is on DVD =)
Re:YES ! Now just a few more shows ...
on
Star Trek TNG DVDs
·
· Score: 2
Now we just need Babylon 5, Futurama, Deep Space 9, and Red Drawf on DVD and I'd be a happy sci-fi geek!
Well, B5 is already on Region 1 DVD, and will (allegedly) be coming to R2 in March. However, it looks like Warner UK is being a bit clueless... one TV movie per £20 disc?!?
Dunno if a custom paint job counts, but...
on
Laptop Case Modding?
·
· Score: 4, Informative
This sounds like another one of those ill-conceived "My boss isn't listening to me, maybe I should prove I'm right" crusades, like the one that got Randal Schwartz in trouble.
My advice: Don't rock the boat, especially in the current economic climate.
Instead, when you get that "management are morons" feeling, just imagine a taxi meter above your desk and calculate how much money you make taking a dump on the company's time.
Well, looks like you're not getting it either. (I'm a Mac OS X and UNIX programmer, and I have done NEXTSTEP programming too.)
1. Carbon is native. Cocoa is too. Classic isn't.
2. Carbon and Cocoa aren't languages, as you stated. They're APIs.
3. There are Objective C extensions to GCC, which is what you probably use when you allegedly develop MOSX code. Thus, the fact that Cocoa is written in Obj-C is not a problem for UNIX porting.
4. Cocoa would be far easier to port than Carbon, since the bulk of it (OpenSTEP) is already kinda ported in the form of GNUStep. (Cocoa is informally NEXTSTEP 5, IIRC, and the GNUStep team try to track changes in Cocoa, IIRC) One of the big missing bits is the whole Aqua/"Display PDF" layer, which contains some very proprietary work. However, the basic "event based model classes" you describe are identical.
5. Failing all that, IIRC, there already is a Mac OS (Classic) API for UNIX, or something like it. AFAICR, Adobe used it to produce their IRIX version of Photoshop. I'm not sure about that, though. It would defeat the whole point though, as they'd have to branch from the classic Mac OS Office.
For future reference for the dumb !"$%$£ that asked the original question, it's much easier to think that Mac OS X *contains* a standard UNIX rather than *is* a standard UNIX. Therefore, it's pretty easy to port UNIX stuff to MOSX, but not necessarily the other way round.
I agree... it's good of Elcomsoft to step in. However, did Dmitry break US law by writing the code in question, or did Elcomsoft break US law by distributing the code?
<ianal>
The claim is presumably concerned with the distribution of a circumvention device, by the hosting of the application on a US server. If Dmitry merely wrote the application on his employer's equipment in Russia, then I can't see any way he could be guilty under US law.
I can see a way that he could be seen to violate the license terms he must have accepted to be able to reverse engineer the format, but that's a civil charge.
I'd say the alleged crime was to upload that program to the US server, thereby distributing a circumvention device in DMCA jurisdiction -- something his employer did.
In which case, Elcomsoft are definitely responsible.
[Okay, if Elcomsoft is a small company, it was probably him doing the uploading!]
HP has 15.x.y.z as well, along with a number of smaller class 'B's and some class 'C's.
Considering HP hype their 'citizenship': ("To honor our obligations to society by being an economic, intellectual and social asset to each nation and each community in which we operate."), and the fact that they're already proxied and firewalled to buggery, I think they really should consider giving net 15 back.
One thing that they (GUI developers -- KDE, MS, Apple, etc) should implement RIGHT NOW is a feature I've seen on SGIs: A wheel widget that scales the contents of a file browser window.
Apple already have (well, not a wheel). Mac OS X has a slider in 'Show View Options' which resizes the icons between about 10x10 pixels and 128x128 pixels in icon view. Very handy. Especially when looking through a directory of photos. Can be done on a global or per-view basis.
Apparently it only strikes if you 1) havn't uninstalled iTunes first 2) have multiple partitions and 3) have spaces in the name of your partitions
When I went to download it (before the bugfix) , I did notice that the download page prominently said something to the effect of "If you have a previous version of iTunes installed, you must remove it first". Fortunately, for once, I followed those instructions.
In retrospect, this is a little odd if the installer had the ability to remove the old version. Hrm.
<paranoid>
Maybe this is one of those times when the programmer noticed the bug just before release and the manager cared more about the release deadline than the bug and said "Well, release it for now, and start working on the x.y.1 release." In my experience, not the first time that's happened! </paranoid>
Hrm.. just noticed another thing. 'if [ -e $2Applications/iTunes.app ];': even if iTunes *had* been de-installed... if '$2' had whitespace in it, -e would still fail, giving an [: xxx/Applications: unexpected operator error (if 'xxx' was the part of the volume name after the whitespace...
Depending on what this script is run on, it might only have effect on people who choose to install it on partitions with whitespace -- so, if your chosen partition didn't have whitespace but your other partitions did, it might not affect it. *shrug*
No.. sorry, I forgot to make my point in the sentence just before your attention span ran out.
My point was that a lot of places will let you use non-standard software if you sacrifice support and don't let it interfere with their precious network.
My example was in terms of Linux, but it could easily apply to a non-SOE Windows system.
I'm just at the end of a six-month contract to put together a PHP/MySQL/Apache based website, in a locked-down Windows 95 (!) environment with a few thousand users.
They're migrating to W2K shortly, but I put my foot down and they allowed me to wipe my box and install RedHat on it -- the only way I managed that was the fact that it was in a nice shrinkwrap box.
Well, all fine, but I get no support and I'm not allowed to put it on the network, so it's sneakernet for me. Access to the internet is done with floppies. =(
The point is that you may be able to persuade them to let you have a purely standalone machine, as long as you keep an SOE machine next to it for running Outlook =)
Not sure whether you were replying to my post as completely stupid or the parent.
To clarify, I agree with _some_ (very few) software patents... ones which are not the slightest bit obvious and cost a lot in development, like some of the stuff in JPEG, MP3, etc.
However, I most definitely do not agree with stealth patenting, such as UNISYS's behaviour over LZW => GIF.
Even so, since software patenting is, unfortunately, rife, I can't really blame companies such as Oracle patenting defensively to protect themselves from outside attack, as opposed to protecting their profits. It'd be nice if they handed over their patents to open groups to hold in trust though. That way, everyone can benefit.
I back the view that the code _should_ be patented, but guaranteed royalty-free. AFAICR, Oracle stick to this policy. Even better, to transfer the patent to the W3C in trust.
The reason being that obtaining a patent is far easier than not owning it and then having to prove prior art in court when some disreputable company patents it later and sues you (the inventor)!
Hrm. I'm less happy about this whole convection cooling idea than I was to begin with.
My Powerbook G3 (Bronze keyboard) almost caught fire once. Smoke came out through the keyboard. It was pretty hot while I was using it (my fingers were hot from the keyboard venting), but not once did the fan switch on.
It got sent back to Apple (three days before the end of the guarantee), and came back with a new logic board. Unfortunately, it hasn't been quite right since. I think the near-fire stressed out the other components.
Mac OS X freezes after 1 to 5 minutes. Yellow Dog Linux kernel-panics after a similar period. Mac OS 9 takes a few hours to freeze (just very casual use... not usual MOS9 crashing). (These are all clean OS installs, by the way.. no third-party stuff installed)
So, something's wrong.
Anyway, I was running MSN Messenger through Virtual PC for a while on my slot-loading iMac. I popped out for a little while to pick up a pizza. I came back, and there was a 'warm' smell coming from my iMac. It then shut down and refused to start for about six hours. On closer inspection, I noticed that a lot of the clear plastic is now browny yellow.
Both of these units were used in ventilated areas, with free space surrounding them. The Powerbook episode happened in a modern air-conditioned office, on a clean, flat desk. This is in England, by the way -- not the hottest country on Earth!
Anyway, I'm all for this fanless operation concept, but only if there is a fan, and it's threshold is set reasonably pessimistically.
The Cube just filled me with dread after my experiences. Last thing I would do is buy one of those unless I'd upped my insurance and bought a good halon system =)
A major problem I have with the ports collection is this:
The idea of remapping the package tree tidily onto/usr/local is a good one, but a bit limiting. Installing more than one version of a package on a box is not supported.
I've taken to using the ports as references and patches, and then performed the installation by hand into/app, so I'd have, say,/app/pkg/apache-1.3.14 and/app/pkg/apache-1.3.12, with a symlink/app/pkg/apache to the current production version. I then split the configuration into/app/etc/apache, the data into/app/data/web (not apache-specific!) and the logs into/app/var/apache. Sources go in/app/src/apache-1.3.14.
This way I can build a new version of apache while keeping the old version running and intact, with a simple symlink change to make the new version go live.
I'd like to see 'ports' have similar capabilities. Also, extending the whole of FreeBSD to the package database would be good, so we can remove perl, sendmail, named, gcc, etc. with pkg_delete and replace with new versions (or ideally, version them as above).
The package concept is a good one, but I don't feel it's been taken to it's logical conclusion.
The problem with Usenet is that it indiscriminately distributes information. By making the propagation decision based on popularity, size [and to a lesser extent, location], you solve the problem Usenet has.
Whatever happens, local storage is always going to be cheaper than bandwidth, so caching is good.
I'm a bit freaked out, actually. About three years ago, I came up with a similar design called 'Osmo'. (Unfortunately, I wasn't really in the position to do anything about it) In that interview, Ian used almost identical arguments and examples.
The thing is, Freenet will build the virtual infrastructure. The next step is to remodel content. By building state machines coded in, say, Java (or any other mobile language), you can model a dynamic resource as a set of transforms from raw data (either from a fixed source, such as a corporate database, or from distributed files) to displayed content.
These state machines can be transmitted the same way static data currently is. By making the propagation decision based on weighing up the amount of data lost by transmitting the state machine versus the amount of data saved by using the transform (through the removal of undisplayed data), you can balance the system across a number of machines from source to destination.
This also gives the benefit of allowing two-way interactive stream-based content -- something the page-based web cannot handle.
Now, the next step is metadata: one thing Freenet currently doesn't handle too well. By propagating metadata, the entire Freenet network would act as a single, distributed directory... a worldwide decentralised Yahoo! with a lot of redundancy.
Once that's done, logging/usage data needs to be tackled. This can be done by packaging the information stream and reverse-propagating it: almost like magnetic data that slowly works its way back home. This can be done with a high importance but a low urgency.
So, we've got Popularity, Size, Location/Distance-From-Home (little use in keeping a copy of something when the canonical source is only one hop away), Importance, Urgency, Cost, Benefit and Local resources.
Convert all of those to fractions between zero and one. Multiply them together. You get an 'X' factor. If that 'X' factor is in the top, say 10% of items you currently store, try to propagate it. If it's in the bottom 10%, ditch it.
When requesting an object from another node, make sure the other node tells you if it knows anywhere else you could've got it from within that node's immediate vicinity. Cross-reference these. Work out what nodes are near and have the information you want the most, and reconfigure your peering list. Hey presto: a dynamic, self-repairing, self-optimising network.
Put it all together and you get the replacement for the world-wide-web.
Persuade Microsoft to write 'Word 2010' using the mobile state machine architecture, and you have truly distributed applications.. if they increase the resource requirements in 'Word 2011', don't bother running around all 60000 PCs in your organisation with a screwdriver and a buttload of DIMMs.... just pop them all in a big application server on your network, and make sure you overspec all new PCs.. then, the equation will rebalance in favour of leaving parts of the application on other machines, like your colleague's while they're on a business trip.
So, now we've not only got a new world-wide-web, we've got a true '.Net' strategy. Chew on that one, Microsoft.
Okay, I've rambled there, but since it looks like Ian Clarke's being a bit tight-lipped about his ultimate goal, there's one scenario which might work.
How does the Leap chair fare with the 'Fart Test'? One good way I was told about to test how comfortable a chair is in all weathers is to break wind. If your ass feels warm, then the fabric and upholstery isn't ventilating well enough, and you'll feel uncomfortable in summer. =)
The fellow who wrote the code obviously didn't *care* how it was used. That someone wrote the code for *any* usage, otherwise the license shouldn't have been BSD.
I never did understand why making ideological agreement with the author a condition of licensing was a good idea...
I figure "I'm not making any money off this code" so why should I make sure no-one else is either? If someone else finds a way to make a profit out of it, then good for them. It would be nice if they decided to contribute back, bu it's their choice.
There are many other reasons for open sourcing other than ideology or warm fuzzies, but I don't use my code to leverage morality
Recorded voice: "Please press 1 if your call is related to the time-limited explosives exchange program. Please press 2 if you are experiencing problems igniting your shoes. Or please hold to speak to a support terrorist."
(time passes)
Recorded voice: "Please hold.. your call is important to us, brother. We are currently transitioning our support strategy to Compaq Global Services."
(time passes.. bad musak to the tune of "The Girl from Ipanema")
BoFA (Bastard Operator from Afghanistan): "Hello, caller, you're through."
T: "Hi, er.. yeah.. my laptop seems to be broken.. I can't decrypt my files!"
BoFA: "Are you using the Standard Terrorist Operating Environment?"
T: "Er.. no.. my cell leader says that this other routine we found on the internet is more secure."
BoFA: "I'm afraid we only support the STOE with W2K SP2 128-bit EFS."
T: "Is there anything you can do?"
BoFA: "You can wipe the laptop and start again. We can do that for you, but we'll have to charge 10,000,000,000,000 afghanis (or US$100) to your cost code."
T: "But it's got secret plans of the Pentagon on it!"
BoFA: "I'm sorry, I can't help you. If every terrorist picks their favourite non-symmetric crypto, we can't be expected to know them all. We're trying to run an elite multinational terrorist organisation here."
T: "Okay.. I'll try somewhere else. On another matter, can you help me with my Palm Pilot? I stuffed it with C4, and now it won't start properly."
BoFA: "I'm afraid we only support Pocket PC."
*click*
Well, if everyone stopped wasting bandwidth with inefficient email systems, even more inefficient unproxied and unshared web connections, and stunningly inefficient common file transfers, there may be enough spare bandwidth to allow the kind of transfers that require unique point-to-point communication, such as voice over IP and unique file transfer.
Fix the 'x' million identical HTTP transglobal connections every hour for the Hotmail homepage for one.
Distributed on-demand cacheing would be my first step. Scrapping a pull-based transport mechanism like HTTP would be the next. Freenet is a nice first step.
Okay, before I get flamed, *some* of B5 is on DVD =)
Now we just need Babylon 5, Futurama, Deep Space 9, and Red Drawf on DVD and I'd be a happy sci-fi geek!
Well, B5 is already on Region 1 DVD, and will (allegedly) be coming to R2 in March. However, it looks like Warner UK is being a bit clueless... one TV movie per £20 disc?!?
Apple Powerbooks (the older ones -- Titaniums don't really need painting!): http://www.applefritter.com/hacks/laptops.html
I'd consider doing that to my Powerbook, but it has a history of catching fire, so I leave it well alone!
This sounds like another one of those ill-conceived "My boss isn't listening to me, maybe I should prove I'm right" crusades, like the one that got Randal Schwartz in trouble.
My advice: Don't rock the boat, especially in the current economic climate.
Instead, when you get that "management are morons" feeling, just imagine a taxi meter above your desk and calculate how much money you make taking a dump on the company's time.
*sigh*
Well, looks like you're not getting it either. (I'm a Mac OS X and UNIX programmer, and I have done NEXTSTEP programming too.)
1. Carbon is native. Cocoa is too. Classic isn't.
2. Carbon and Cocoa aren't languages, as you stated. They're APIs.
3. There are Objective C extensions to GCC, which is what you probably use when you allegedly develop MOSX code. Thus, the fact that Cocoa is written in Obj-C is not a problem for UNIX porting.
4. Cocoa would be far easier to port than Carbon, since the bulk of it (OpenSTEP) is already kinda ported in the form of GNUStep. (Cocoa is informally NEXTSTEP 5, IIRC, and the GNUStep team try to track changes in Cocoa, IIRC) One of the big missing bits is the whole Aqua/"Display PDF" layer, which contains some very proprietary work. However, the basic "event based model classes" you describe are identical.
5. Failing all that, IIRC, there already is a Mac OS (Classic) API for UNIX, or something like it. AFAICR, Adobe used it to produce their IRIX version of Photoshop. I'm not sure about that, though. It would defeat the whole point though, as they'd have to branch from the classic Mac OS Office.
For future reference for the dumb !"$%$£ that asked the original question, it's much easier to think that Mac OS X *contains* a standard UNIX rather than *is* a standard UNIX. Therefore, it's pretty easy to port UNIX stuff to MOSX, but not necessarily the other way round.
From KW's 'Achievements' page:
Nice misspelling, there...
I agree... it's good of Elcomsoft to step in. However, did Dmitry break US law by writing the code in question, or did Elcomsoft break US law by distributing the code?
<ianal>The claim is presumably concerned with the distribution of a circumvention device, by the hosting of the application on a US server. If Dmitry merely wrote the application on his employer's equipment in Russia, then I can't see any way he could be guilty under US law.
I can see a way that he could be seen to violate the license terms he must have accepted to be able to reverse engineer the format, but that's a civil charge.
I'd say the alleged crime was to upload that program to the US server, thereby distributing a circumvention device in DMCA jurisdiction -- something his employer did. In which case, Elcomsoft are definitely responsible.
[Okay, if Elcomsoft is a small company, it was probably him doing the uploading!]
</ianal>HP has 15.x.y.z as well, along with a number of smaller class 'B's and some class 'C's.
Considering HP hype their 'citizenship': ("To honor our obligations to society by being an economic, intellectual and social asset to each nation and each community in which we operate."), and the fact that they're already proxied and firewalled to buggery, I think they really should consider giving net 15 back.
Apple already have (well, not a wheel). Mac OS X has a slider in 'Show View Options' which resizes the icons between about 10x10 pixels and 128x128 pixels in icon view. Very handy. Especially when looking through a directory of photos. Can be done on a global or per-view basis.
From the Slipstream article:
Okay. I see their point now. Robert Hewitt Who? =)
I see it as the difference between a collection of short stories (TNG, etc.) and a whopping epic series of novels, such as Dune (B5).
IMHO, I think B5 will be remembered as the first made-for-TV epic novel.
When I went to download it (before the bugfix) , I did notice that the download page prominently said something to the effect of "If you have a previous version of iTunes installed, you must remove it first". Fortunately, for once, I followed those instructions.
In retrospect, this is a little odd if the installer had the ability to remove the old version. Hrm.
<paranoid>
Maybe this is one of those times when the programmer noticed the bug just before release and the manager cared more about the release deadline than the bug and said "Well, release it for now, and start working on the x.y.1 release." In my experience, not the first time that's happened!
</paranoid>
Hrm.. just noticed another thing. 'if [ -e $2Applications/iTunes.app ];': even if iTunes *had* been de-installed... if '$2' had whitespace in it, -e would still fail, giving an [: xxx/Applications: unexpected operator error (if 'xxx' was the part of the volume name after the whitespace...
Depending on what this script is run on, it might only have effect on people who choose to install it on partitions with whitespace -- so, if your chosen partition didn't have whitespace but your other partitions did, it might not affect it. *shrug*
Massive cock-up on Apple's part, all the same.
It pays extremely well =)
For the amount they're paying me in this economy, I'll wear anything they want and even clean toilets all day if they tell me to!
No.. sorry, I forgot to make my point in the sentence just before your attention span ran out.
My point was that a lot of places will let you use non-standard software if you sacrifice support and don't let it interfere with their precious network.
My example was in terms of Linux, but it could easily apply to a non-SOE Windows system.
I'm just at the end of a six-month contract to put together a PHP/MySQL/Apache based website, in a locked-down Windows 95 (!) environment with a few thousand users.
They're migrating to W2K shortly, but I put my foot down and they allowed me to wipe my box and install RedHat on it -- the only way I managed that was the fact that it was in a nice shrinkwrap box.
Well, all fine, but I get no support and I'm not allowed to put it on the network, so it's sneakernet for me. Access to the internet is done with floppies. =(
The point is that you may be able to persuade them to let you have a purely standalone machine, as long as you keep an SOE machine next to it for running Outlook =)
Not sure whether you were replying to my post as completely stupid or the parent.
To clarify, I agree with _some_ (very few) software patents... ones which are not the slightest bit obvious and cost a lot in development, like some of the stuff in JPEG, MP3, etc.
However, I most definitely do not agree with stealth patenting, such as UNISYS's behaviour over LZW => GIF.
Even so, since software patenting is, unfortunately, rife, I can't really blame companies such as Oracle patenting defensively to protect themselves from outside attack, as opposed to protecting their profits. It'd be nice if they handed over their patents to open groups to hold in trust though. That way, everyone can benefit.
I back the view that the code _should_ be patented, but guaranteed royalty-free. AFAICR, Oracle stick to this policy. Even better, to transfer the patent to the W3C in trust.
The reason being that obtaining a patent is far easier than not owning it and then having to prove prior art in court when some disreputable company patents it later and sues you (the inventor)!
Defensive patenting, basically.
The slot-loading iMacs don't have fans, either.
Hrm. I'm less happy about this whole convection cooling idea than I was to begin with.
My Powerbook G3 (Bronze keyboard) almost caught fire once. Smoke came out through the keyboard. It was pretty hot while I was using it (my fingers were hot from the keyboard venting), but not once did the fan switch on.
It got sent back to Apple (three days before the end of the guarantee), and came back with a new logic board. Unfortunately, it hasn't been quite right since. I think the near-fire stressed out the other components.
Mac OS X freezes after 1 to 5 minutes. Yellow Dog Linux kernel-panics after a similar period. Mac OS 9 takes a few hours to freeze (just very casual use... not usual MOS9 crashing). (These are all clean OS installs, by the way.. no third-party stuff installed)
So, something's wrong.
Anyway, I was running MSN Messenger through Virtual PC for a while on my slot-loading iMac. I popped out for a little while to pick up a pizza. I came back, and there was a 'warm' smell coming from my iMac. It then shut down and refused to start for about six hours. On closer inspection, I noticed that a lot of the clear plastic is now browny yellow.
Both of these units were used in ventilated areas, with free space surrounding them. The Powerbook episode happened in a modern air-conditioned office, on a clean, flat desk. This is in England, by the way -- not the hottest country on Earth!
Anyway, I'm all for this fanless operation concept, but only if there is a fan, and it's threshold is set reasonably pessimistically.
The Cube just filled me with dread after my experiences. Last thing I would do is buy one of those unless I'd upped my insurance and bought a good halon system =)
A major problem I have with the ports collection is this:
/usr/local is a good one, but a bit limiting. Installing more than one version of a package on a box is not supported.
/app, so I'd have, say, /app/pkg/apache-1.3.14 and /app/pkg/apache-1.3.12, with a symlink /app/pkg/apache to the current production version. I then split the configuration into /app/etc/apache, the data into /app/data/web (not apache-specific!) and the logs into /app/var/apache. Sources go in /app/src/apache-1.3.14.
The idea of remapping the package tree tidily onto
I've taken to using the ports as references and patches, and then performed the installation by hand into
This way I can build a new version of apache while keeping the old version running and intact, with a simple symlink change to make the new version go live.
I'd like to see 'ports' have similar capabilities. Also, extending the whole of FreeBSD to the package database would be good, so we can remove perl, sendmail, named, gcc, etc. with pkg_delete and replace with new versions (or ideally, version them as above).
The package concept is a good one, but I don't feel it's been taken to it's logical conclusion.
Or, how about porting gcc to BASIC? With one language, you can build the compiler for another. Hmmmm...
The problem with Usenet is that it indiscriminately distributes information. By making the propagation decision based on popularity, size [and to a lesser extent, location], you solve the problem Usenet has.
Whatever happens, local storage is always going to be cheaper than bandwidth, so caching is good.
I'm a bit freaked out, actually. About three years ago, I came up with a similar design called 'Osmo'. (Unfortunately, I wasn't really in the position to do anything about it) In that interview, Ian used almost identical arguments and examples.
The thing is, Freenet will build the virtual infrastructure. The next step is to remodel content. By building state machines coded in, say, Java (or any other mobile language), you can model a dynamic resource as a set of transforms from raw data (either from a fixed source, such as a corporate database, or from distributed files) to displayed content.
These state machines can be transmitted the same way static data currently is. By making the propagation decision based on weighing up the amount of data lost by transmitting the state machine versus the amount of data saved by using the transform (through the removal of undisplayed data), you can balance the system across a number of machines from source to destination.
This also gives the benefit of allowing two-way interactive stream-based content -- something the page-based web cannot handle.
Now, the next step is metadata: one thing Freenet currently doesn't handle too well. By propagating metadata, the entire Freenet network would act as a single, distributed directory... a worldwide decentralised Yahoo! with a lot of redundancy.
Once that's done, logging/usage data needs to be tackled. This can be done by packaging the information stream and reverse-propagating it: almost like magnetic data that slowly works its way back home. This can be done with a high importance but a low urgency.
So, we've got Popularity, Size, Location/Distance-From-Home (little use in keeping a copy of something when the canonical source is only one hop away), Importance, Urgency, Cost, Benefit and Local resources.
Convert all of those to fractions between zero and one. Multiply them together. You get an 'X' factor. If that 'X' factor is in the top, say 10% of items you currently store, try to propagate it. If it's in the bottom 10%, ditch it.
When requesting an object from another node, make sure the other node tells you if it knows anywhere else you could've got it from within that node's immediate vicinity. Cross-reference these. Work out what nodes are near and have the information you want the most, and reconfigure your peering list. Hey presto: a dynamic, self-repairing, self-optimising network.
Put it all together and you get the replacement for the world-wide-web.
Persuade Microsoft to write 'Word 2010' using the mobile state machine architecture, and you have truly distributed applications.. if they increase the resource requirements in 'Word 2011', don't bother running around all 60000 PCs in your organisation with a screwdriver and a buttload of DIMMs.... just pop them all in a big application server on your network, and make sure you overspec all new PCs.. then, the equation will rebalance in favour of leaving parts of the application on other machines, like your colleague's while they're on a business trip.
So, now we've not only got a new world-wide-web, we've got a true '.Net' strategy. Chew on that one, Microsoft.
Okay, I've rambled there, but since it looks like Ian Clarke's being a bit tight-lipped about his ultimate goal, there's one scenario which might work.
How does the Leap chair fare with the 'Fart Test'? One good way I was told about to test how comfortable a chair is in all weathers is to break wind. If your ass feels warm, then the fabric and upholstery isn't ventilating well enough, and you'll feel uncomfortable in summer. =)