On freenet, there is no such thing as an abandoned file. Anything no-one cares about will simply vanish from the system as other items are pushed above it on the cache. This means that the content of freenet will simply be a plain unvarnished look at what people really want and would otherwise fear to post/read. If it contains kiddy porn and snuff movies, that's because people want them.
Censoring freenet is very simple: you must convince most people not to want to download kiddy porn or whatever. If that happens, it will quickly fall off the system. But it no longer allows you to make-believe by frightening anyone who thinks immoral thoughs into hiding them (which is the basic premise of accountability).
Thrasher bots fail because of freenet's caching system: continually requesting a file from freenet just makes sure it's at the top of the cache near you; caches near other people will be unaffected. This also has the neat effect that heavily-demanded stuff will migrate to the local machine, thus saving bandwith.
SPP is the antidote. It's basically the honor system with this twist: the donations are pre-emptive, held in trust by a third party, and when they reach the "price" of the work, it's released into the public domain by the author, and he gets his money.
MS tying together browser and OS is logical and should be left alone. MS making this a non-replaceable component (think: the ability to swap out IE for NS as the desktop browser) is monopolizing given their situation. And MS making exclusionary deals is plain and simple monopolizing without any redeeming features.
As someone else had suggested this opens a neat new possibility: a hire-a-server service that gives you total root access on your own linux box; each "server" is actually a prepackaged linux memory snapshot running in VM.
Just think - any script-kiddie who gets root is unable to see he has't got the machine to himself, powerless to hide from admins who can watch his every move from the real OS, and unable to do any damage that can't be rolled back in an eyeblink. Crashes and "reboots" recover in seconds. And, when the customer is done hiring their server, it just drops into the bit bucket and the resources are reallocated to other servers.
You already have crypto they can't break. Build it into more programs; hardwire liberty into the infrastructure and make them dependent on it. Freenet will be here soon, GNUtella and Jabber are already here - and I expect someone will soon invent an anonymous censor-proof public CVS so the coders can pick up the linux DVD project right where they left off. Keep designing, building, and using technologies that make their crap impossible.
They can rant, but they cannot prevent. That is the long and the short of it, the fact that they cannot wish away. In a increasingly globalized world, information, trade and freedom will simply route around any restriction.
They should have to both release the docs and also maintain / extend them, so they cover any new or changed APIs in their OS and Office product lines. It's fair though to let them invent new secret APIs anywhere else.
I used to think it was good that MS were going to be legally thwacked over the head, but I've come to the belief that it's wrong to "win unfairly" - wrong for them, they should be stopped from tying etc, but wrong for us too to beat them by legal force rather than quality.
The record companies don't give a running jump what music is most popular. If they did, Elvis and that lot would probably still be topping the charts. What they care about is units sold - in other words ranking the music by how profitable it is. If music rises in that chart, it's making the more money because they're selling more of it. If it falls, it's making a loss and they have to show the artist the door.
This of course also has the neat feature of forcing the listings to churn, as the market for each piece saturates and another pushes ahead of it in the rankings.
Like all interpreted languages, you'll need to keep track of the modules rather than linking it all up into a single binary.
Perl is a damn sight slower than C. It's probably the fastest interpreted language (Pike may outspeed it), but don't use if for flight sims or Quake clones. However most user apps spend nearly all their time waiting for something to happen, so it would be fine for that kind.
Perl lets you express in code exactly what you intend, how you intend. If you intend spaghetti code, rushed unreadable hacks, and violating modular interfaces, perl will do that too.
If you want to interface to a library or a part of the system that nobody's yet written a stock module for, you're going to have to glue it together in C. Likeise if you want to get creative and use something the way a wrapper-module designer hadn't thought of.
First, when they took the "advanced" out, they meant it. The math burden is way down, and a single D20 based resolution system does for nearly all skills, combat, saving throws etc. Armor class now goes upward, thAC0 isn't used, and there's a single initaitive roll for the whole combat (which takes notice of dex scores.
Second, they intend to fix the non-gamesystem errors of TSR - they're obsoleting most of the half-a-billion addon manuals and freezing out spurious game worlds until the numbers are up again. The PHB, DMG and MM are all goign to be $19.95, about half of what they were. Smart move - they can profit from economies of scale and prevent competitors from freezing them out with a cheapskate retread of the open system.
Third they're making Greyhawk the default worldset again - the one in PHB - and they're going to keep out of that world as much as they can so as to let DMs develop it.
In general, I totally approve; all the errors in the AD&D system are fixed. I intend to upgrade.
...is that if you want to use the D20 name (as opposed to just use the system but be unable to say so) then you also agree never to compete with their Player's Handbook. I can see why they want to do it, but it's defeating their own open concept. It will basically mean that add-on modules will be common, but no other RPG systems will consolidate under the D20 game-engine.
Why would White Wolf or any other maker want to make a game system that said "oh and buy a copy of that elves-and-orks gaming system players handbook to actually find out how this totally different genre game system works". Nor can I see much cause for them to adopt the system without the trademark (since they'd be unable to say it's compatible, why alienate their "installed user base"?).
Frankly the only system of book publishing that's likely to genuinely work (without evil draconian curbs on book use freedom) is "niceware" - a license that says "do anything you like with this except distributing versions with modified text, if you like it please pay me what you think it's worth".
Anything else, even shareware, brings with it the whole scummy mess of "piracy" crackdowns, unfree usage, and most everything RMS predicted.
Note: GPL-like licenses are good for documentation, but for fiction works you'd want to keep the text constant - although allowing translation and visual redesign)
...isn't the "superhuman AIs" it's the nanites. If you want an invasive species that could threaten smart adaptible sentients like humans, billions of small, unobtrusive, fast-replicating attackers are way more dangerous than a few super-aliens a la Star Trek.
I think it's very probable that someone will make a mutating version of the classic "grey goo" nanites (eat anything, make more of themselves). I suspect that the only fix will be propping up our own immune system and biosphere with anti-grey nanites - effectively, introducing a new bacteria-level evolutionary arms race between nanite species.
Using Jabber would be ideal to break around this. There's no central server, the new laws make enroute standard crypto wrappers possible, and a message type of "top secret" could be created where the client goes out of its way never to let it touch the disk, and to properly wipe it, if it ever does. (multiple random overwrite)
Of course, it would be neat if jabber could include some standard antitrace mechanism as well, possibly even with nyms.
Now if someone could just rig distibuted CVS over a snoop-proof system like that, folks could get back to coding DeCSS and there would be exactly nada the law could do about it. Except bluster and fume:-)
From my way of seeing it, ObjC is way more similar to smalltalk or perl than it is to C++. So much is resolved at run time - and quite a lot is also left to programmer discipline. Coupled with the Foundation library, it can do neat tricks like opt-in reference counting, simple clean distributed-objects without ugly hacks like CORBA, and building "selectors" (function identifiers) at runtime and calling them on arbitrary objects. Plus, it's proof against "fragile base class" except with instance variables.
ObjC's attitude reminds me of perl: "You wanna do something wierd? Your program, your problem; don't let me stop you."
I'd pick ObjC over C++ any day for everything except kernel bit-twiddling or projects needing huge-scale multiparty co-ordination, but if I had my way I'd add in proper exceptions and some java-like threadsafety primitives.
Aqua is a UI designers nightmare. Some serious hoop-jumping is necessary to avoid your app looking like the aftermath of a goo factory explosion (take a look at the calculator). Even then it's an interface you'd want to look at for a few hours and say "whoah!" at, then turn it right off and get on with using the machine for real tasks.
Luckily, the Cocoa (OpenStep) interface is nice enough that a simple swap-out replacement can be made, with or without Apples say-so. Unluckily, aqua is probably hard wired into Carbon, the code-portability environment.
So it seems what causes bloat and fragility in MS apps is not marketing driven focus on looks, but rather unrestrained "wouldn't it be neat if".
So, why is OpenSource largely proof against this?
First, because projects have a definite zeitgeist and maintainers who enforce it. Sendmail won't include a tetris patch, and AbiWord won't add email-reader functionality just because someone created it and showed them it could be done.
Second, because OpenSource projects can fork if a different zeitgeist is desired truly, and so there is no assumption that each program must continue to be all things to all people.
There are very few things I could see a screen/GUI like that being useful for. A 3D user interface would suck for any normal office type thing, and a screen with only one viewable point would suck for multiplayer games. I expect this plus eye trackers will find its first main uses in a few specialized engineering terminals, and after that in single-player-game arcade machines.
Bundles co-operate with the old unix way of doing things.
Basically, CLI and system stuff lives in/bin,/lib,/sbin and so on. Any app you might expect to start by double clicking an icon in a GUI lives in a bundle. These can be made environment-neutral by containing multiple binaries for different chiptypes, and multiple resolutions of icons, each in pre-specified places.
The core OS libraries like libc and so on live in/lib and/usr/lib. Any cluster of libs which (a)you only ever use as a cluster (b)you normally use in developing GUI apps or (c) have a cluster identity of their own live in a Framework under the frameworks path (eg:/Libraries,/Network/Libraries,/home/jimbob/Libraries). Examples of this would be GTK, Gnome, KDE, the NeXT Webobjects package, and so on.
It's possible but unlikely that you'll want a package manager for the relatively small fraction of non-application binaries, but unless you're upgrading the OS core (as opposed to installing new apps on it) then you won't need to mess with them.
The last Blackdown release had a wobbly JIT and native-threads that were just plain broken. To run Netbeans, I had to disable the JIT and switch to green-threads - in other words, to turn off anything that makes Java run faster than molasses. Is this fixed in this release? Is there infact any real reason to upgrade from Blackdown 1.2.2 RC4?
Forget the BS with forming unions, all you'll do is ossify the workplace. Merely switch to working contracts, and keep a timesheet. Your employer will quickly learn the value of your overtime.
The title says it all.
On freenet, there is no such thing as an abandoned file. Anything no-one cares about will simply vanish from the system as other items are pushed above it on the cache. This means that the content of freenet will simply be a plain unvarnished look at what people really want and would otherwise fear to post/read. If it contains kiddy porn and snuff movies, that's because people want them.
Censoring freenet is very simple: you must convince most people not to want to download kiddy porn or whatever. If that happens, it will quickly fall off the system. But it no longer allows you to make-believe by frightening anyone who thinks immoral thoughs into hiding them (which is the basic premise of accountability).
Thrasher bots fail because of freenet's caching system: continually requesting a file from freenet just makes sure it's at the top of the cache near you; caches near other people will be unaffected. This also has the neat effect that heavily-demanded stuff will migrate to the local machine, thus saving bandwith.
SPP is the antidote. It's basically the honor system with this twist: the donations are pre-emptive, held in trust by a third party, and when they reach the "price" of the work, it's released into the public domain by the author, and he gets his money.
MS tying together browser and OS is logical and should be left alone. MS making this a non-replaceable component (think: the ability to swap out IE for NS as the desktop browser) is monopolizing given their situation. And MS making exclusionary deals is plain and simple monopolizing without any redeeming features.
As someone else had suggested this opens a neat new possibility: a hire-a-server service that gives you total root access on your own linux box; each "server" is actually a prepackaged linux memory snapshot running in VM.
Just think - any script-kiddie who gets root is unable to see he has't got the machine to himself, powerless to hide from admins who can watch his every move from the real OS, and unable to do any damage that can't be rolled back in an eyeblink. Crashes and "reboots" recover in seconds. And, when the customer is done hiring their server, it just drops into the bit bucket and the resources are reallocated to other servers.
You already have crypto they can't break. Build it into more programs; hardwire liberty into the infrastructure and make them dependent on it. Freenet will be here soon, GNUtella and Jabber are already here - and I expect someone will soon invent an anonymous censor-proof public CVS so the coders can pick up the linux DVD project right where they left off. Keep designing, building, and using technologies that make their crap impossible.
They can rant, but they cannot prevent. That is the long and the short of it, the fact that they cannot wish away. In a increasingly globalized world, information, trade and freedom will simply route around any restriction.
They should have to both release the docs and also maintain / extend them, so they cover any new or changed APIs in their OS and Office product lines. It's fair though to let them invent new secret APIs anywhere else.
I saw it. It was ham-handed, gross, and dull. I know the storyline confusion was deliberate but it scrambled the plotline and left me unmoved.
I used to think it was good that MS were going to be legally thwacked over the head, but I've come to the belief that it's wrong to "win unfairly" - wrong for them, they should be stopped from tying etc, but wrong for us too to beat them by legal force rather than quality.
The record companies don't give a running jump what music is most popular. If they did, Elvis and that lot would probably still be topping the charts. What they care about is units sold - in other words ranking the music by how profitable it is. If music rises in that chart, it's making the more money because they're selling more of it. If it falls, it's making a loss and they have to show the artist the door.
This of course also has the neat feature of forcing the listings to churn, as the market for each piece saturates and another pushes ahead of it in the rankings.
Perl is fine for big apps. The complications are:
I read their FAQ, some comments:
First, when they took the "advanced" out, they meant it. The math burden is way down, and a single D20 based resolution system does for nearly all skills, combat, saving throws etc. Armor class now goes upward, thAC0 isn't used, and there's a single initaitive roll for the whole combat (which takes notice of dex scores.
Second, they intend to fix the non-gamesystem errors of TSR - they're obsoleting most of the half-a-billion addon manuals and freezing out spurious game worlds until the numbers are up again. The PHB, DMG and MM are all goign to be $19.95, about half of what they were. Smart move - they can profit from economies of scale and prevent competitors from freezing them out with a cheapskate retread of the open system.
Third they're making Greyhawk the default worldset again - the one in PHB - and they're going to keep out of that world as much as they can so as to let DMs develop it.
In general, I totally approve; all the errors in the AD&D system are fixed. I intend to upgrade.
...is that if you want to use the D20 name (as opposed to just use the system but be unable to say so) then you also agree never to compete with their Player's Handbook. I can see why they want to do it, but it's defeating their own open concept. It will basically mean that add-on modules will be common, but no other RPG systems will consolidate under the D20 game-engine.
Why would White Wolf or any other maker want to make a game system that said "oh and buy a copy of that elves-and-orks gaming system players handbook to actually find out how this totally different genre game system works". Nor can I see much cause for them to adopt the system without the trademark (since they'd be unable to say it's compatible, why alienate their "installed user base"?).
Frankly the only system of book publishing that's likely to genuinely work (without evil draconian curbs on book use freedom) is "niceware" - a license that says "do anything you like with this except distributing versions with modified text, if you like it please pay me what you think it's worth".
Anything else, even shareware, brings with it the whole scummy mess of "piracy" crackdowns, unfree usage, and most everything RMS predicted.
Note: GPL-like licenses are good for documentation, but for fiction works you'd want to keep the text constant - although allowing translation and visual redesign)
Change while() to while(<>) and next time use Extrans mode ;-)
...isn't the "superhuman AIs" it's the nanites. If you want an invasive species that could threaten smart adaptible sentients like humans, billions of small, unobtrusive, fast-replicating attackers are way more dangerous than a few super-aliens a la Star Trek.
I think it's very probable that someone will make a mutating version of the classic "grey goo" nanites (eat anything, make more of themselves). I suspect that the only fix will be propping up our own immune system and biosphere with anti-grey nanites - effectively, introducing a new bacteria-level evolutionary arms race between nanite species.
Using Jabber would be ideal to break around this. There's no central server, the new laws make enroute standard crypto wrappers possible, and a message type of "top secret" could be created where the client goes out of its way never to let it touch the disk, and to properly wipe it, if it ever does. (multiple random overwrite)
:-)
Of course, it would be neat if jabber could include some standard antitrace mechanism as well, possibly even with nyms.
Now if someone could just rig distibuted CVS over a snoop-proof system like that, folks could get back to coding DeCSS and there would be exactly nada the law could do about it. Except bluster and fume
From my way of seeing it, ObjC is way more similar to smalltalk or perl than it is to C++. So much is resolved at run time - and quite a lot is also left to programmer discipline. Coupled with the Foundation library, it can do neat tricks like opt-in reference counting, simple clean distributed-objects without ugly hacks like CORBA, and building "selectors" (function identifiers) at runtime and calling them on arbitrary objects. Plus, it's proof against "fragile base class" except with instance variables.
ObjC's attitude reminds me of perl: "You wanna do something wierd? Your program, your problem; don't let me stop you."
I'd pick ObjC over C++ any day for everything except kernel bit-twiddling or projects needing huge-scale multiparty co-ordination, but if I had my way I'd add in proper exceptions and some java-like threadsafety primitives.
Aqua is a UI designers nightmare. Some serious hoop-jumping is necessary to avoid your app looking like the aftermath of a goo factory explosion (take a look at the calculator). Even then it's an interface you'd want to look at for a few hours and say "whoah!" at, then turn it right off and get on with using the machine for real tasks.
Luckily, the Cocoa (OpenStep) interface is nice enough that a simple swap-out replacement can be made, with or without Apples say-so. Unluckily, aqua is probably hard wired into Carbon, the code-portability environment.
So, why is OpenSource largely proof against this?
There are very few things I could see a screen/GUI like that being useful for. A 3D user interface would suck for any normal office type thing, and a screen with only one viewable point would suck for multiplayer games. I expect this plus eye trackers will find its first main uses in a few specialized engineering terminals, and after that in single-player-game arcade machines.
Bundles co-operate with the old unix way of doing things.
/bin, /lib, /sbin and so on. Any app you might expect to start by double clicking an icon in a GUI lives in a bundle. These can be made environment-neutral by containing multiple binaries for different chiptypes, and multiple resolutions of icons, each in pre-specified places.
/lib and /usr/lib. Any cluster of libs which (a)you only ever use as a cluster (b)you normally use in developing GUI apps or (c) have a cluster identity of their own live in a Framework under the frameworks path (eg: /Libraries, /Network/Libraries, /home/jimbob/Libraries). Examples of this would be GTK, Gnome, KDE, the NeXT Webobjects package, and so on.
Basically, CLI and system stuff lives in
The core OS libraries like libc and so on live in
It's possible but unlikely that you'll want a package manager for the relatively small fraction of non-application binaries, but unless you're upgrading the OS core (as opposed to installing new apps on it) then you won't need to mess with them.
The last Blackdown release had a wobbly JIT and native-threads that were just plain broken. To run Netbeans, I had to disable the JIT and switch to green-threads - in other words, to turn off anything that makes Java run faster than molasses. Is this fixed in this release? Is there infact any real reason to upgrade from Blackdown 1.2.2 RC4?
Forget the BS with forming unions, all you'll do is ossify the workplace. Merely switch to working contracts, and keep a timesheet. Your employer will quickly learn the value of your overtime.