"For example, we would have not gotten to the moon without some level of greed and unity fueling us."
Not to dispute your point, but the "space race" was a cold war pissing contest. Has getting to the moon really done much for us lately? Surely abstract technological progress has been made by funding space endeavors in general (and more specifically space probes and telescopes), and I'm not really knowledgeable enough to say whether it's worth the federal investment, but did we really need to send up some guys to put a flag in the dirt (aside from political motivations of course)?
"The main problem with this sort of hierarchical key/value database -- and that's what it is -- is that it's just a mass of data, inherently structured but semantically shapeless; the context of any key/value pair is the parent node, and the context of any node is its parent node. As such, it's no better or worse than a bunch of files in a file system."
No, it is better in that it is in ONE PLACE (or rather, one API or "contract" to access), and ONE FORMAT (you decry this as misdesign but I'll address that later).
"Delete an application and its data remains. Delete the files belonging to a COM component, and its registration information will still be there, and things like context menu entries will be dead ends pointing into the thin air. Even if you're a careful gardener, the registry grows indefinitely."
Aside from "things like context menu entries...pointing into thin air" being entirely an application-domain problem, not a configuration problem, how is the case you cite different from the CURRENT situation with lots of *different* types of files? As you immediately mention, the case still applies with bespoke file formats. In fact, I could argue it's *worse* because you don't know a priori where to go to *fix* the problem, whereas with a centralized config area you at least know where to go first, without having to read through reams of documentation to find out where some arbitrary application reads its settings, just to make sure the file has been removed. Lastly, what exactly is the problem here? So some config info remains...OH NO! The world is going to end! Actually, short of apps all being well-written to provide the user a prompt or preference as to what to do with config info, I'd prefer that it *remain* be default. I don't want to lose all my config info if I decide to uninstall, and then reinstall something. Or upgrade and then decide to downgrade. Etc. etc. Hard drive capacity is enormous. Nobody balks at storing movies on their hard drives but little TEXT FILES!?! OH NO CALL THE POLICE!
"Instead of a single monolithic database, I suggest an aggregated database. Install a piece of software Foo into/usr and its database goes into/etc/foo, then mount it logically under a well-known named node. Thus the "registry", or whatever you call it, is the product of all known sub-registries. Delete an app, and its database can go away as well."
I think this is a good idea. For that matter, "virtual hives" which are implemented by plugins instead of being file-system- or data-backed would be cool. Then, e.g., you could have a hardware probe that provided real-time hardware data in the form of keys. I don't see how this would be precluded by elektra. As is mentioned in the docs elektra is 99% contractual agreement and 1% software.
"As a personal side note, I think the hierchical, shapeless key/value database design is an incredibly inelegant kludge."
Yes, it is an "incredibly inelegant kludge" except for the "astonishingly incredibly inelegant kludge" which is to store the same (often semantically similar) data in individual arbitrary files, in arbitrary formats, in arbitrary places on the file system.
"the best theoretical model for information storage ever"
Gee that's nice. But the mass of applications we are talking about can be served best by a simple namespace/key/value format. I don't know what software you use, but the vast majority of command line and gui applications I use not only CAN suffice with key/value pair format, but DO currently, except in their own idiosyncratic fashion. They don't need theoretical models for storing directed graphs of relational data. The most good for the most people (or apps as it were).
"Fortunately, some people "get" it; the relational nature of RDF triples is one such recent example, and I would rather see RDF (although not necessarily its XML syntax) adopted, because it's such a simple, elegant, extensible system."
The concept of centralizing and standardizing the most common case of configuration files is the same. The implementation of course is different. Each key is stored as a file on disk. There is no daemon. There is no "corruption" (other than corrupting one key which will not affect other keys). The keys are still able to be hand-edited like any text file.
"What exactly does bittorrent, a web or IRC server or client do to make sure that no one is using it to distribute child porn?"
Um, not to argue against the uses of FreeNet, but all of these technologies don't make ANY attempt at anonymization, while FreeNet makes an EXPLICIT and absolute goal of anonymization. Anonymity of course being the foremost requirement of illegal activities. That would be the difference.
The torrent files themselves do not contain the payload, and are very small. They are simply pointers to the originating host (I think this is called a seed, I'm not sure). SuprNova and similar sites were taken down not because they hosted content themselves, but because they quite clearly and unabashedly indexed these torrent files. FreeNet would basically become a way to publish the torrents themselves without being able to forcefully remove them. Of course the way FreeNet works, the opaque "keys" to FreeNet sites, themselves need to be published somehow. This still leaves the host of the payload open to attack since that is always publicly known and not obscured in any fashion (as is typically the case in p2p file sharing).
NullPointerExceptions are a hell of a lot more recoverable than say, segfaults, or worse yet, corruption that keeps a system nominally "working" but in a corrupted state, e.g. an int wrap around, etc.
That's sort of like saying "If you think about it, you can put all the armor in the world on a tank and it can still be blown up".
Re:This code belongs on
on
Bayesian Tail
·
· Score: 4, Insightful
That aside, your code would be easier to read (slashcode's broken formatting nonwithstanding) if you used a switch construct.
Speak for yourself. Given that the switch cases are all mutually exclusive, and disregarding the default case, there are only 2 paths, switch is more obfuscatory than clarifying in my opinion.
In the councils of government, we must guard against the acquisition of unwarranted influence, whether sought or unsought, by the military-industrial complex. The potential for the disastrous rise of misplaced power exists and will persist.
Every gun that is made, every warship launched, every rocket fired, signifies in the final sense a theft from those who hunger and are not fed, those who are cold and are not clothed.
Just to check, I loaded up an old Turbo Pascal 2.0 project that I happen to have kicking around. It's not a trivial project - it's a utility to help with the mechanical aspects of designing a vehicle for Steve Jackson Games "Car Wars" system. Basically, from a full screen text window, you pick and choose items for your car, and the system calculates weight, cost and space. Once you finish, you can print a vehicle sheet just like the one from the Car Wars rule book.
Get out! I guess I wasn't the only one writing a utility in turbo pascal to help design vehicles for "Car Wars".:D
At the time I was learning pascal through distance learning (essentially a BBS, but also through nascent email), and although I tried to explain what I was doing to my instructor, she didn't understand.
"I mean, you can't play single player without a 'net connection."
They added offline mode. You can do it.
"whine whine whine whine whine"
So basically is Steam is the devil incarnate, except for all the stuff that's great about it:
* automatic-updates * builtin friend finder and game launcher * easy distribution mechanism for small-time, hobbiest, open source developers * they hired Bram Cohen * did I say automatic updates? * freely available developer tools
Yeah, "worst ass-reaming" is definitely not an exaggeration. Nope.
"Fuck you Valve. I will never purchase games via Steam."
Which is why they also sell them in cardboard boxes in these things called stores.
Let's see:
Valve releases Half Life + Valve releases several versions of Half Life SDK and tools for free + Valve supports third party mod development + Valve purchases, employs the developers, and sells previously hobbiest mods + Valve gives middle finger to large distributors by creating a system that will allow them, as well as many other small-time developers who don't have a chance of a distribution deal, to distribute their games directly to gamers
No, it was these depressed goth-bees that killed the dinosaurs off with their horrible horrible faux-punk goth metal. In fact, i'm considering killing myself now just from thinking of it.
Rule #1.5: Don't use fixed capacity numbers AT ALL. Used software-based Big Nums that won't overflow - ever. This is addition for christ sakes, we don't need a Cray just to tally votes.
"Unless the Democrats can differentiate themselves from the Republicans, people aren't going to want to change what party's president."
It seems to me that differentiating themselves from Republicans has been a losing strategy, not winning strategy. Republicans have a fixed top-down message that is easily and often repeated. You can't fight it with having a more complex opinion on anything. If it took you more than 5 seconds to explain your position in a witty quip you lost the sound-bite war and are immediately cast as an effette ivory tower liberal who is "out of touch" because apparently "in touch" means supporting simplistic nice-sounding policies that get votes today without any regard for long term effects.
Hasn't this election been a refutation of "open source politics"? Republicans got out their base, and although they did do a lot of grassroots politicking, the message was still based on agenda bullet points. It was still the Cathedral, not the Bazaar. Democrats are the Bazaar with a lot of disparate and less clear cut factions, without strict adherence to absolutist positions. The Cathedral is going to win over. More people attend and are influenced by Cathedrals in this country than Bazaars.
I think it is clear that to compete Democrats have to start fighting this Noise War. That's why they started Air America to compete with conservative talk radio. But to compete they need to stick to a very few, very well-defined, divisive, and visceral positions, and just hammer them relentlessly. Frankly I think that goes against the grain of the whole left which has rested on the notion that the truth will set them free, and if people just know the truth they'll vote correctly. But truth is not always simple and not always sound-bite-ready, and I don't know if it is a winning strategy. The only way it could be is if they somehow astro-turf crazily but that's dishonest.
"For example, we would have not gotten to the moon without some level of greed and unity fueling us."
Not to dispute your point, but the "space race" was a cold war pissing contest. Has getting to the moon really done much for us lately? Surely abstract technological progress has been made by funding space endeavors in general (and more specifically space probes and telescopes), and I'm not really knowledgeable enough to say whether it's worth the federal investment, but did we really need to send up some guys to put a flag in the dirt (aside from political motivations of course)?
"The main problem with this sort of hierarchical key/value database -- and that's what it is -- is that it's just a mass of data, inherently structured but semantically shapeless; the context of any key/value pair is the parent node, and the context of any node is its parent node. As such, it's no better or worse than a bunch of files in a file system."
/usr and its database goes into /etc/foo, then mount it logically under a well-known named node. Thus the "registry", or whatever you call it, is the product of all known sub-registries. Delete an app, and its database can go away as well."
No, it is better in that it is in ONE PLACE (or rather, one API or "contract" to access), and ONE FORMAT (you decry this as misdesign but I'll address that later).
"Delete an application and its data remains. Delete the files belonging to a COM component, and its registration information will still be there, and things like context menu entries will be dead ends pointing into the thin air. Even if you're a careful gardener, the registry grows indefinitely."
Aside from "things like context menu entries...pointing into thin air" being entirely an application-domain problem, not a configuration problem, how is the case you cite different from the CURRENT situation with lots of *different* types of files? As you immediately mention, the case still applies with bespoke file formats. In fact, I could argue it's *worse* because you don't know a priori where to go to *fix* the problem, whereas with a centralized config area you at least know where to go first, without having to read through reams of documentation to find out where some arbitrary application reads its settings, just to make sure the file has been removed. Lastly, what exactly is the problem here? So some config info remains...OH NO! The world is going to end! Actually, short of apps all being well-written to provide the user a prompt or preference as to what to do with config info, I'd prefer that it *remain* be default. I don't want to lose all my config info if I decide to uninstall, and then reinstall something. Or upgrade and then decide to downgrade. Etc. etc. Hard drive capacity is enormous. Nobody balks at storing movies on their hard drives but little TEXT FILES!?! OH NO CALL THE POLICE!
"Instead of a single monolithic database, I suggest an aggregated database. Install a piece of software Foo into
I think this is a good idea. For that matter, "virtual hives" which are implemented by plugins instead of being file-system- or data-backed would be cool. Then, e.g., you could have a hardware probe that provided real-time hardware data in the form of keys. I don't see how this would be precluded by elektra. As is mentioned in the docs elektra is 99% contractual agreement and 1% software.
"As a personal side note, I think the hierchical, shapeless key/value database design is an incredibly inelegant kludge."
Yes, it is an "incredibly inelegant kludge" except for the "astonishingly incredibly inelegant kludge" which is to store the same (often semantically similar) data in individual arbitrary files, in arbitrary formats, in arbitrary places on the file system.
"the best theoretical model for information storage ever"
Gee that's nice. But the mass of applications we are talking about can be served best by a simple namespace/key/value format. I don't know what software you use, but the vast majority of command line and gui applications I use not only CAN suffice with key/value pair format, but DO currently, except in their own idiosyncratic fashion. They don't need theoretical models for storing directed graphs of relational data. The most good for the most people (or apps as it were).
"Fortunately, some people "get" it; the relational nature of RDF triples is one such recent example, and I would rather see RDF (although not necessarily its XML syntax) adopted, because it's such a simple, elegant, extensible system."
EGADS! Have you gone m
How about try reading about it: elektra documentation
The concept of centralizing and standardizing the most common case of configuration files is the same. The implementation of course is different. Each key is stored as a file on disk. There is no daemon. There is no "corruption" (other than corrupting one key which will not affect other keys). The keys are still able to be hand-edited like any text file.
"What exactly does bittorrent, a web or IRC server or client do to make sure that no one is using it to distribute child porn?"
Um, not to argue against the uses of FreeNet, but all of these technologies don't make ANY attempt at anonymization, while FreeNet makes an EXPLICIT and absolute goal of anonymization. Anonymity of course being the foremost requirement of illegal activities. That would be the difference.
"their ability to shut down the rampant misuse of BitTorrent for massive copyright violation is dramatically decreased."
Yeah, it really sucks for their PR when they accidentally stumble upon some old grandma.
The torrent files themselves do not contain the payload, and are very small. They are simply pointers to the originating host (I think this is called a seed, I'm not sure). SuprNova and similar sites were taken down not because they hosted content themselves, but because they quite clearly and unabashedly indexed these torrent files. FreeNet would basically become a way to publish the torrents themselves without being able to forcefully remove them. Of course the way FreeNet works, the opaque "keys" to FreeNet sites, themselves need to be published somehow. This still leaves the host of the payload open to attack since that is always publicly known and not obscured in any fashion (as is typically the case in p2p file sharing).
7. $$$ ?
NullPointerExceptions are a hell of a lot more recoverable than say, segfaults, or worse yet, corruption that keeps a system nominally "working" but in a corrupted state, e.g. an int wrap around, etc.
That's sort of like saying "If you think about it, you can put all the armor in the world on a tank and it can still be blown up".
i think an apache+mod_proxy + some metering mod would be a simple but effective solution
Yeah, nobody plays old games, that's insane! Come to think of it, i'm going home and going to tear apart my chess and monopoly boards!
But when everybody is unemployed who will buy the pizza?
"Think EBCDIC"
Can we start the IBM+Apple jokes now?
I'll start:
IBM iPod: the exact size of a brick. programmed over serial port.
While you're at it, could you come up with adaptive drivers? Thanks.
-- Dwight D. Eisenhower, bleeding heart liberal
HA HA!
At the time I was learning pascal through distance learning (essentially a BBS, but also through nascent email), and although I tried to explain what I was doing to my instructor, she didn't understand.
BOOTLEGGER REVERSE
I especially like that menu item...
Who else thought the entry was about some form of air hockey, foosball or pinball machine?
Want some cheese with that whine?
"I mean, you can't play single player without a 'net connection."
They added offline mode. You can do it.
"whine whine whine whine whine"
So basically is Steam is the devil incarnate, except for all the stuff that's great about it:
* automatic-updates
* builtin friend finder and game launcher
* easy distribution mechanism for small-time, hobbiest, open source developers
* they hired Bram Cohen
* did I say automatic updates?
* freely available developer tools
Yeah, "worst ass-reaming" is definitely not an exaggeration. Nope.
"Fuck you Valve. I will never purchase games via Steam."
Which is why they also sell them in cardboard boxes in these things called stores.
Let's see:
Valve releases Half Life
+ Valve releases several versions of Half Life SDK and tools for free
+ Valve supports third party mod development
+ Valve purchases, employs the developers, and sells previously hobbiest mods
+ Valve gives middle finger to large distributors by creating a system that will allow them, as well as many other small-time developers who don't have a chance of a distribution deal, to distribute their games directly to gamers
=
everybody whine about how Valve is screwing you.
Boo. Hoo.
I have to give props to HyperContent which I don't see on any list there. It is rather flexible and snazzy.
HyperContent
It is being developed by various higher ed institutions and it has some real-world production use (not just a guy and and his website).
I'll have to repost a quote from a wise person:
;)
"Using Unix is the computing equivalent of listening only to music by David Cassidy." - robert pike
No, it was these depressed goth-bees that killed the dinosaurs off with their horrible horrible faux-punk goth metal. In fact, i'm considering killing myself now just from thinking of it.
Rule #1.5: Don't use fixed capacity numbers AT ALL. Used software-based Big Nums that won't overflow - ever. This is addition for christ sakes, we don't need a Cray just to tally votes.
"Unless the Democrats can differentiate themselves from the Republicans, people aren't going to want to change what party's president."
It seems to me that differentiating themselves from Republicans has been a losing strategy, not winning strategy. Republicans have a fixed top-down message that is easily and often repeated. You can't fight it with having a more complex opinion on anything. If it took you more than 5 seconds to explain your position in a witty quip you lost the sound-bite war and are immediately cast as an effette ivory tower liberal who is "out of touch" because apparently "in touch" means supporting simplistic nice-sounding policies that get votes today without any regard for long term effects.
Hasn't this election been a refutation of "open source politics"? Republicans got out their base, and although they did do a lot of grassroots politicking, the message was still based on agenda bullet points. It was still the Cathedral, not the Bazaar. Democrats are the Bazaar with a lot of disparate and less clear cut factions, without strict adherence to absolutist positions. The Cathedral is going to win over. More people attend and are influenced by Cathedrals in this country than Bazaars.
I think it is clear that to compete Democrats have to start fighting this Noise War. That's why they started Air America to compete with conservative talk radio. But to compete they need to stick to a very few, very well-defined, divisive, and visceral positions, and just hammer them relentlessly. Frankly I think that goes against the grain of the whole left which has rested on the notion that the truth will set them free, and if people just know the truth they'll vote correctly. But truth is not always simple and not always sound-bite-ready, and I don't know if it is a winning strategy. The only way it could be is if they somehow astro-turf crazily but that's dishonest.