If governments had _really_ wanted to encourage innovation through full disclosure, then they should have placed a 50% tax on any proprietary products
Great idea for encouraging innovation -- in the surrounding countries, who would reap the benefits of the brain drain this would inevitably cause. Do you even run your ideas through your head before suggesting them?
Sun actually experimented with this setup a while back, using a giant virtual desktop, but with a twist: it would be shared among multiple users. You could use your "radar" or drag your view over to someone else's workspace and interact with their applications (this was explicitly for collaboration). They called it Kansas, and it was written in Self (god I wish they pushed Self instead of Java).
GNU Emacs and XEmacs are using tiling for their windows, and they are one of the most widely-used user interfaces.
Widely used among programmers, sure. Waaaaaay different than users. Not to say that programmers don't deserve their own interface conventions, but they don't always map onto the needs of unskilled users.
And try using the menu items in Xemacs. You get popup dialogs. I have apropos windows and a few other informational windows pop up in their own frame as well.
In the Star Trek universe, the captain can throw out some long string of Treknobabble like "augment the phase relays with the shield harmonics using an inverse of the warp field and route it through the main dish", and the ensign at the console hits three buttons and it's done. I'm pretty sure those buttons read:
Fitts' law explains why it's easier to use the Mac menu system, where the items are up against a barrier (the edge of the screen). It ends up making a larger effective target. This is also why the dock is effective.
The reason they put it there was because macs had a screen not much bigger than a GameBoy, and a menubar in the application window would eat valuable real estate.
One user interface issue I ran into all the time with macs was "having the wrong app in the foreground" when selecting a menu item. I didn't do this, it was users I helped. I don't care how much math you draw on the blackboard, this particular training issue was proof enough for me that you don't get something for nothing.
What kills me is the taskbar in windows. They could have had it extend all the way to the bottom, but there's this gutter of dead space between the buttons and the bottom of the screen. I recently used windows XP, which has a much fancier taskbar, but forgot to test whether that gutter is still there.
I think Fallout 2 may have actually gotten it right -- you right-click items for a popup menu, it pops up a menu of large icons and moving the mouse up and down constrains the pointer to the menu. Anyway, I end up teaching people to tap the alt key to toggle to the menu in Windows apps. Fitt's law is about aim, why aim when you don't have to?
I'm nominally a member of worldforge... more like I hang around them all the time on irc, while my hobby projects that do directly involve them get pushed down on my project stack. There's plenty of disagreement on how to best prevent cheating, but much of it boils down to this: closed source hasn't prevented cheating in other MOG's (I like how we're boiling down the acronym from the unwieldy MMORPG to MOG -- don't really need the "massively" anymore, that's implied). Given the inevitability of failure here, the prospect of cheating needs to be treated more as a policy approach than anything else.
One approach is to make the client dumb -- basically just a display for its inputs, the server only sends you what you need to see. Cheating is still possible here, but it'd be an impressive hack.
Another approach is that a protocol codec might be made closed source, and with a few clever techniques, you can send "booby trap" packets that flag cheaters if they are ever responded to by a client (also requiring a closed protocol codec at the other end). This isn't foolproof, and might indeed turn out to be a useless measure. But hey, we can always lock 'em up for circumventing, right?;) Finally, if the folks who wrote the protocol code are among the GPL zealots of WF, then it might be politically infeasable to go with a "closed one-off" approach.
Bottom line, cheaters exist for open and closed source games, and WF will be no exception. WF can provide means to catch a large chunk of cheaters, not all of them, and ultimately it's going to be up to the policy of the server admin as to what to do with them. We just make the tools, you use 'em.
> A few weeks ago, I happened to see their advertisement promising "99.999% uptime".
Believe it. If you have the bucks, you can even make Windows reliable, if not terribly flexible. They got clustering pretty good (I didn't say spectacular) in Win2k datacenter, and they get real experts running it. That you have to buy this kind of SLA to get a web server that doesn't, say, fall over upon receiving 256 concurrent hits, is rather sad.
I hear this crap thrown around all the time, and aside from some header files there for the specific purpose of providing a BSD sockets API (shocking, huh?), I still haven't seen anything that remotely substantiates this.
Civilization: Call To Power is not an expansion or particularly a variation of Civ II, it's a different game by a different company. Some legal weirdness with Microprose allowed Activision to create a game with the Civilization brand (You'll notice CTP II has dropped the "Civilization" name altogether). Same time as that, Sid Meier and Brian Reynolds (creators of Civ I and II respectively) formed Firaxis and released Alpha Centauri, which most consider the legitimate sequel to Civ II. Civ III is by Firaxis, minus Brian Reynolds, who left Firaxis to form Big Huge Games, which seems solely dedicated to the production of press releases. I would imagine Civ III would include some features from AC, but if Sid is right about Civ II strategies (which worked perfectly in AC) not working in Civ III, it has to be quite a different game.
CTP was roundly excoriated as a buggy, poorly playtested game with sub-literate diplomacy and rock stupid AI (despite its configurability), but it did have a few good points to it, like the Public Works pool for improvements, and a plethora of covert units. It still couldn't make it a good game though.
> Woohoo! I hope that means what I think it means!
That it will be shown beyond a shadow of a doubt that the vast majority of consumers are not going to care about multi-booting? Seriously, I'm going through freshmeat and I just don't see anything my mother or brother would use...
Boy that gets funnier after the tenth time on the same page, I tell ya. Yunno, for a den of amateur lawyers that likes to pick apart every fine nuance in software license, you'd think slashdot would understand what a goddam consent decree is. If Microsoft breaks it, the courts will enforce it, drag them back into court for contempt -- AND extend the decree for two more years.
I'm reminded of how extreme laziness involves lots of work to get out of doing simple basic work. Slashdot's intellectual laziness certainly fits here, because the mental gymnastics being exercised here to avoid anything like objectivity whenever Microsoft is mentioned should be an olympic sport.
Checkinstall first installs the build into a temp directory, builds the RPM or slackware package, and then installs the package.
Huh. Sounds a lot like BSD's ports, except for ports, I take care of downloading the tarball, patching it, configuring it, compiling and installing it, and doing the same for all its dependencies. I run it like this:
> and he proposes a "maximum validity date for cookies" which has been there since t=0.
Yes, he merely wants to legislate a mandatory expiration interval for cookies.
I'm so damn glad governments are here to protect us from all these insidious uses of HTTP, since we have after all eliminated all problems of violence and corruption, giving them nothing better to do...
A "metacircular" language is a language which is implemented in itself.
Huh. In the compiler world, that's called bootstraping. Face it, they really just want you to ooh and ahh over the complex sounds of "meta-circular view of language semantics" without really understanding it. If the fact that the language is bootstraped is such a selling point, they could have simply said "implemented in REBOL".
I guess someone had to take Scriptics's place as the peddler of hype over technical merit.
The problem with orthogonal persistence, that I see, is all the junk that can collect. Having used Squeak [squeak.org], which offers a certain sort of persistence in its images, transient objects can pile up fairly easily and lead to a sort of faux-memory-leak in the system. It's a convenient system, but not stable.
Hmm, does Squeak lack garbage collection or something? One would imagine that a persisted object would be eligible for collection once there were no more references to it from wherever your persistent object graph is rooted. A persistence system without any roots can even work provided you have a lot of space to store objects that are out of scope and periodically compact it by selecting roots and discarding everything that isn't referenced by them -- basically a copying collector, which you can get away with when you're swapping and have good reference locality.
Managing lots of objects requires a lot of discipline and work, but the existing body of theory is perfectly fine for managing billions of objects. It's just finding the right application of it that's tricky.
This has to have some of the most realistic combat I've seen. There's no resource production or building, which are toys and gimmicks... resources matter, but not in the small scale like every single RTS with resources has made it. It's just squad-level combat, with morale effects (units won't run through fire), lots of suppressing fire (you expend most of your ammo just trying to pin down the enemy while another squad closes), and the feel of it is more drawn-out tension than twitch. You get real satisfaction from small goals, e.g. I remember one where a german tank was shelling my LMG squad in a building. These guys were just totally pinned down, they'd get cut to pieces if they ran outside, because of the troops waiting for 'em. My bazooka squad's firer was dead, the loader was wounded, yet he managed to lay down some smoke, run through enemy fire, lined up a shot, missed the first shot, loaded,,lined up another shot while the tank turret is now turning his way, fires, and blows the enemy tank to smithereens. I literally jumped up and cheered at that point (and the guy got a bronze star afterward). Now that's an RTS with some personality, none of the current crop of RTS games builds that kind of tension except perhaps for some levels of the Myth series.
strcpy(NULL, "bah") segfaults instead of doing something handlable
You're trying to write a null pointer. That has the well-defined property of raising a SIGSEGV which can be caught and handled. What do you want it to do, fprintf(stderr, "no, I can't let you do that")?
I see that form misused too, but it hardly indicates the opposite extreme of catching in every single line of code. It's simple: if you don't know what to do with an error, let it fall through and catch it at the level of its most basic subsystem. If you don't know how to handle a particular DB error, let it propogate to the top of the DB subsystem, and it'll probably involve recycling the current connection. And if you get some totally insane error, let it fall all the way through to the top, generate a user-visible error, consider it a failure of the entire subsystem that generated it, and see if you can gracefully restart it without losing too much state.
Everything is just syntactic sugar on UTM's or S+K combinator application. Just because it doesn't compute anything differently doesn't mean it doesn't express the concept differently.
how is a programmer expected to deal with the CD being scratched? Does your car still work if the transmission is damaged or half the engine has been riddled with bullet holes?
The authenticator software can return "Error Reading CD" and not completely lock up and hose everything on the system, perhaps?
How well do cars function when they run out of fuel?
They stop. When you fill them up with gas, everything is fine again, no permanent damage is done. This is a simple and extremely common boundary condition that the automobile manufacturers account for. Running out of space is also a common condition that should simply result in a denied operation, not corruption of data.
But how well would your refrigerator react if you treated it shoddily such as by leaving it outdoors intermuitently or diconnecting and reconnecting the power several times a day?
Your analogies are getting very thin. The fact that computers are designed for more varied conditions of their runtime environment should not excuse them from being robust in the face of that fact.
How embarrassing... I checked and yes, I should have said e4500 and not e450. Won't claim it's a typo, I was thinking e450 when I typed that. Well, aside from being off by an order of magnitude on the model number (and the price point I imagine), my point's made: it's not overgrown PC's, and putting 25 gigs on the sucker is something one shouldn't even blink at. Was the only thing I could tolerate the speed of StarOffice on, that's largely why I switched;)
Holy shit! 500 SunRay terminals on a single 4800. I must contact the author and find out how to keep the 4800 from exploding under that kind of load.
Sun typically ran over 100 SunRays at once with a single e450 with 8 cpu's and 12 gigs ram, repeating this setup for about a dozen servers in the initial rollout. I was not only there, I supported the installations. I ended up ditching my desktop for a SunRay because they really were that fast.
requirement of 25 gigs RAM? no problemo. this isn't a PC you're talking about. slowaris? run ps on a linux box with all the processes of 500 logged in users and you tell me what's slow. you talk a lot about the real world... have you ever even used a sunray?
Re:Somewhat naive - so am I
on
Tiny Apps
·
· Score: 2
You just reinvented out of process OLE servers -- instance tracking, registry and all. Strip away the main() function and you now have objects instead of programs.
Mature? Please. The language isn't even at feature parity with C++, the runtime still uses a fixed size heap (and proceeds to eat up half of it for hello world). Hell, it didn't even begin supporting mousewheels until recently... does drag and drop from the outside environment even work yet?
I can write.NET apps in haskell and mercury. When will Sun start recognizing other languages on their VM, let alone supporting their efforts?
If governments had _really_ wanted to encourage innovation through full disclosure, then they should have placed a 50% tax on any proprietary products
Great idea for encouraging innovation -- in the surrounding countries, who would reap the benefits of the brain drain this would inevitably cause. Do you even run your ideas through your head before suggesting them?
Sun actually experimented with this setup a while back, using a giant virtual desktop, but with a twist: it would be shared among multiple users. You could use your "radar" or drag your view over to someone else's workspace and interact with their applications (this was explicitly for collaboration). They called it Kansas, and it was written in Self (god I wish they pushed Self instead of Java).
GNU Emacs and XEmacs are using tiling for their windows, and they are one of the most widely-used user interfaces.
Widely used among programmers, sure. Waaaaaay different than users. Not to say that programmers don't deserve their own interface conventions, but they don't always map onto the needs of unskilled users.
And try using the menu items in Xemacs. You get popup dialogs. I have apropos windows and a few other informational windows pop up in their own frame as well.
Fitts' law explains why it's easier to use the Mac menu system, where the items are up against a barrier (the edge of the screen). It ends up making a larger effective target. This is also why the dock is effective.
The reason they put it there was because macs had a screen not much bigger than a GameBoy, and a menubar in the application window would eat valuable real estate.
One user interface issue I ran into all the time with macs was "having the wrong app in the foreground" when selecting a menu item. I didn't do this, it was users I helped. I don't care how much math you draw on the blackboard, this particular training issue was proof enough for me that you don't get something for nothing.
What kills me is the taskbar in windows. They could have had it extend all the way to the bottom, but there's this gutter of dead space between the buttons and the bottom of the screen. I recently used windows XP, which has a much fancier taskbar, but forgot to test whether that gutter is still there.
I think Fallout 2 may have actually gotten it right -- you right-click items for a popup menu, it pops up a menu of large icons and moving the mouse up and down constrains the pointer to the menu. Anyway, I end up teaching people to tap the alt key to toggle to the menu in Windows apps. Fitt's law is about aim, why aim when you don't have to?
I'm nominally a member of worldforge ... more like I hang around them all the time on irc, while my hobby projects that do directly involve them get pushed down on my project stack. There's plenty of disagreement on how to best prevent cheating, but much of it boils down to this: closed source hasn't prevented cheating in other MOG's (I like how we're boiling down the acronym from the unwieldy MMORPG to MOG -- don't really need the "massively" anymore, that's implied). Given the inevitability of failure here, the prospect of cheating needs to be treated more as a policy approach than anything else.
;) Finally, if the folks who wrote the protocol code are among the GPL zealots of WF, then it might be politically infeasable to go with a "closed one-off" approach.
One approach is to make the client dumb -- basically just a display for its inputs, the server only sends you what you need to see. Cheating is still possible here, but it'd be an impressive hack.
Another approach is that a protocol codec might be made closed source, and with a few clever techniques, you can send "booby trap" packets that flag cheaters if they are ever responded to by a client (also requiring a closed protocol codec at the other end). This isn't foolproof, and might indeed turn out to be a useless measure. But hey, we can always lock 'em up for circumventing, right?
Bottom line, cheaters exist for open and closed source games, and WF will be no exception. WF can provide means to catch a large chunk of cheaters, not all of them, and ultimately it's going to be up to the policy of the server admin as to what to do with them. We just make the tools, you use 'em.
> A few weeks ago, I happened to see their advertisement promising "99.999% uptime".
Believe it. If you have the bucks, you can even make Windows reliable, if not terribly flexible. They got clustering pretty good (I didn't say spectacular) in Win2k datacenter, and they get real experts running it. That you have to buy this kind of SLA to get a web server that doesn't, say, fall over upon receiving 256 concurrent hits, is rather sad.
> M$'s TCP/IP stack is directly from BSD.
I hear this crap thrown around all the time, and aside from some header files there for the specific purpose of providing a BSD sockets API (shocking, huh?), I still haven't seen anything that remotely substantiates this.
Civilization: Call To Power is not an expansion or particularly a variation of Civ II, it's a different game by a different company. Some legal weirdness with Microprose allowed Activision to create a game with the Civilization brand (You'll notice CTP II has dropped the "Civilization" name altogether). Same time as that, Sid Meier and Brian Reynolds (creators of Civ I and II respectively) formed Firaxis and released Alpha Centauri, which most consider the legitimate sequel to Civ II. Civ III is by Firaxis, minus Brian Reynolds, who left Firaxis to form Big Huge Games, which seems solely dedicated to the production of press releases. I would imagine Civ III would include some features from AC, but if Sid is right about Civ II strategies (which worked perfectly in AC) not working in Civ III, it has to be quite a different game.
CTP was roundly excoriated as a buggy, poorly playtested game with sub-literate diplomacy and rock stupid AI (despite its configurability), but it did have a few good points to it, like the Public Works pool for improvements, and a plethora of covert units. It still couldn't make it a good game though.
> Woohoo! I hope that means what I think it means!
That it will be shown beyond a shadow of a doubt that the vast majority of consumers are not going to care about multi-booting? Seriously, I'm going through freshmeat and I just don't see anything my mother or brother would use...
Boy that gets funnier after the tenth time on the same page, I tell ya. Yunno, for a den of amateur lawyers that likes to pick apart every fine nuance in software license, you'd think slashdot would understand what a goddam consent decree is. If Microsoft breaks it, the courts will enforce it, drag them back into court for contempt -- AND extend the decree for two more years.
I'm reminded of how extreme laziness involves lots of work to get out of doing simple basic work. Slashdot's intellectual laziness certainly fits here, because the mental gymnastics being exercised here to avoid anything like objectivity whenever Microsoft is mentioned should be an olympic sport.
Checkinstall first installs the build into a temp directory, builds the RPM or slackware package, and then installs the package.
Huh. Sounds a lot like BSD's ports, except for ports, I take care of downloading the tarball, patching it, configuring it, compiling and installing it, and doing the same for all its dependencies. I run it like this:
make install
> and he proposes a "maximum validity date for cookies" which has been there since t=0.
Yes, he merely wants to legislate a mandatory expiration interval for cookies.
I'm so damn glad governments are here to protect us from all these insidious uses of HTTP, since we have after all eliminated all problems of violence and corruption, giving them nothing better to do...
A "metacircular" language is a language which is implemented in itself.
Huh. In the compiler world, that's called bootstraping. Face it, they really just want you to ooh and ahh over the complex sounds of "meta-circular view of language semantics" without really understanding it. If the fact that the language is bootstraped is such a selling point, they could have simply said "implemented in REBOL".
I guess someone had to take Scriptics's place as the peddler of hype over technical merit.
The problem with orthogonal persistence, that I see, is all the junk that can collect. Having used Squeak [squeak.org], which offers a certain sort of persistence in its images, transient objects can pile up fairly easily and lead to a sort of faux-memory-leak in the system. It's a convenient system, but not stable.
Hmm, does Squeak lack garbage collection or something? One would imagine that a persisted object would be eligible for collection once there were no more references to it from wherever your persistent object graph is rooted. A persistence system without any roots can even work provided you have a lot of space to store objects that are out of scope and periodically compact it by selecting roots and discarding everything that isn't referenced by them -- basically a copying collector, which you can get away with when you're swapping and have good reference locality.
Managing lots of objects requires a lot of discipline and work, but the existing body of theory is perfectly fine for managing billions of objects. It's just finding the right application of it that's tricky.
This has to have some of the most realistic combat I've seen. There's no resource production or building, which are toys and gimmicks ... resources matter, but not in the small scale like every single RTS with resources has made it. It's just squad-level combat, with morale effects (units won't run through fire), lots of suppressing fire (you expend most of your ammo just trying to pin down the enemy while another squad closes), and the feel of it is more drawn-out tension than twitch. You get real satisfaction from small goals, e.g. I remember one where a german tank was shelling my LMG squad in a building. These guys were just totally pinned down, they'd get cut to pieces if they ran outside, because of the troops waiting for 'em. My bazooka squad's firer was dead, the loader was wounded, yet he managed to lay down some smoke, run through enemy fire, lined up a shot, missed the first shot, loaded, ,lined up another shot while the tank turret is now turning his way, fires, and blows the enemy tank to smithereens. I literally jumped up and cheered at that point (and the guy got a bronze star afterward). Now that's an RTS with some personality, none of the current crop of RTS games builds that kind of tension except perhaps for some levels of the Myth series.
YHBT. HAND. The fact that it was modded up as "insightful" sure says a lot about the insight of the moderators tho...
strcpy(NULL, "bah") segfaults instead of doing something handlable
You're trying to write a null pointer. That has the well-defined property of raising a SIGSEGV which can be caught and handled. What do you want it to do, fprintf(stderr, "no, I can't let you do that")?
} catch (...) {
}
I see that form misused too, but it hardly indicates the opposite extreme of catching in every single line of code. It's simple: if you don't know what to do with an error, let it fall through and catch it at the level of its most basic subsystem. If you don't know how to handle a particular DB error, let it propogate to the top of the DB subsystem, and it'll probably involve recycling the current connection. And if you get some totally insane error, let it fall all the way through to the top, generate a user-visible error, consider it a failure of the entire subsystem that generated it, and see if you can gracefully restart it without losing too much state.
Everything is just syntactic sugar on UTM's or S+K combinator application. Just because it doesn't compute anything differently doesn't mean it doesn't express the concept differently.
how is a programmer expected to deal with the CD being scratched? Does your car still work if the transmission is damaged or half the engine has been riddled with bullet holes?
The authenticator software can return "Error Reading CD" and not completely lock up and hose everything on the system, perhaps?
How well do cars function when they run out of fuel?
They stop. When you fill them up with gas, everything is fine again, no permanent damage is done. This is a simple and extremely common boundary condition that the automobile manufacturers account for. Running out of space is also a common condition that should simply result in a denied operation, not corruption of data.
But how well would your refrigerator react if you treated it shoddily such as by leaving it outdoors intermuitently or diconnecting and reconnecting the power several times a day?
Your analogies are getting very thin. The fact that computers are designed for more varied conditions of their runtime environment should not excuse them from being robust in the face of that fact.
How embarrassing ... I checked and yes, I should have said e4500 and not e450. Won't claim it's a typo, I was thinking e450 when I typed that. Well, aside from being off by an order of magnitude on the model number (and the price point I imagine), my point's made: it's not overgrown PC's, and putting 25 gigs on the sucker is something one shouldn't even blink at. Was the only thing I could tolerate the speed of StarOffice on, that's largely why I switched ;)
And what the heck is going on with a SPARCstation 10 as the management console? Excuse me, but those have been discontinued for how many years?
That's an Ultra 10, not a SS10. It's still not a very zippy box, but it's hardly a doorstop.
Holy shit! 500 SunRay terminals on a single 4800. I must contact the author and find out how to keep the 4800 from exploding under that kind of load.
... have you ever even used a sunray?
Sun typically ran over 100 SunRays at once with a single e450 with 8 cpu's and 12 gigs ram, repeating this setup for about a dozen servers in the initial rollout. I was not only there, I supported the installations. I ended up ditching my desktop for a SunRay because they really were that fast.
requirement of 25 gigs RAM? no problemo. this isn't a PC you're talking about. slowaris? run ps on a linux box with all the processes of 500 logged in users and you tell me what's slow. you talk a lot about the real world
You just reinvented out of process OLE servers -- instance tracking, registry and all. Strip away the main() function and you now have objects instead of programs.
Sun's Java: open, mature, stable, scalable, portable, free licence.
... does drag and drop from the outside environment even work yet?
.NET apps in haskell and mercury. When will Sun start recognizing other languages on their VM, let alone supporting their efforts?
Mature? Please. The language isn't even at feature parity with C++, the runtime still uses a fixed size heap (and proceeds to eat up half of it for hello world). Hell, it didn't even begin supporting mousewheels until recently
I can write