I would like to take a moment to lament the construction of the word "do-gooder."
My postulated etymology for the construction of the word is as follows:
First, we take the transitive use of the verb "to do," meaning "to bring about or accomplish." So far, so good (no pun intended).
Next, we need to give it an object. Take the noun "good." Well, it's not really a noun... it's more of an adjective. WordNet defines it as "having desirable or positive qualities." To turn an adjective into a noun, we (of the English language persuasion), typically add the suffix "-ness." But in English, the term "goodness" has more of a moral connotation, and loosely means "the quality of being good," just like "redness" and "coldness" denote abstractly the quality of being red or cold respectively. What we really want is a way to refer to the set of things having goodness, at least to the degree at which the adjective "good" can be applied. So really, we want the object of our verb to be the compound noun "good things," where the word "things" is implicitly restricted by the context to mean "things one can do," or more commonly, tasks or deeds. So our basic particle of meaning here, is "to do good deeds," but in the interest of brevity, we're going to neologize the noun "good" to mean "good deeds." It's perhaps a tiny stretch of meaning, but I don't want begrudge a man the lack of an obviously implied word.
Now, we're going to conjugate our phrase, yielding "do good." Which, if you are willing to accept in parlance my derivation for the noun form of "good" above, becomes a perfectly acceptable action. One can say "I do good," and "he does good" with impunity. But for the purposes of our future construction, we really need to consolidate the phrase "do good," into a single word. So, we create an intransitive form "do-good" by binding the word "good" as the object of the action "to do." This is not entirely well-formed English, as one cannot reasonably say "I do-good" or "he is do-gooding" without the obvious problem of conjugating what used to be a noun. But nevertheless we will operate! (Cardano ca 1545).
To finish our construction, we will add the common suffix "-er" as in "woodcutter" or "farmer" to add the role distinction of "one who performs a task" (or at least "that which performs a task" if you want to include such inanimate persons as "staplers" in it's ranks). Thus, we finally have "do-gooder," meaning "one who performs the task of doing good deeds," or more succinctly "one who does good" (by performing redundancy elimination, and dropping the implied "deeds" and "task"). But, if one is willing to admit it acceptable to restrict the category of "good things" to "good deeds," and drop the qualifier to accept the neologism "good" to mean "good deeds" in context, then I call to question, why we needed to include the operative verb "good" in this at all? A "potter" is not "one who pots," but "one who effects pots," so to speak. Why then, can't we simply refer to a "gooder" as "one who performs good things" and call it a day? This seems to me, both more succinct, and avoids the grammatical awkwardness of the "do-good" construction. But alas, 'tis not so.
To summarize then, we have:
"to do" + ("good" + "deeds") => "to do good deeds" => "to do good" => "do good" => to "do-good" => "do-good" + -er => "do-gooder"
QED?
20110227
20110210
Essence of Anime
I recently typed up a list of anime reviews for one of my friends, with a one-line essential summary. I thought they were pretty funny, and since this is my blog, that means the editors think it's pretty funny too, and it posts. :-D
Without further ado: Essence of Anime
(Some spoilers ahead.)
Title: Rating
Executive Summary: "Better than it sounds."
Ah My Goddess! 5/5
Shy, quiet guy has a magical girl enter his life. Her siblings rage magical war.
Black Cat 2/5
Little girl hunted by bad guys. Lone wolf kicks butt with a pistol.
Bleach 5/5
Highschool boy gets a giant sword, and hunts monsters.
Chobits 2/5
Pervert finds a girl with amnesia. He proceeds to treat her like his daughter, and they fall in love.
Cowboy Bebop 3/5
Iconoclast bounty hunters have misadventures. Vaguely reminiscent of Firefly.
Death Note 5/5
Highschool student turns meglomaniac when he discovers he can kill people.
Element Hunters 4/5
Elementary school students fight Pokemon. Some science words are used.
Escaflowne 2/5
Girl ends up in Wonderland. All the boys love her.
Evangelion 1/5
Boy pilots mecha. His life sucks. Then everyone takes LSD.
Full Metal Alchemist 6/5
Two brothers use magic to do good, and save the country.
Series rebooted as "Full Metal Alchemist Brotherhood." Both are awesome.
Full Metal Panic 5/5
15 year-old soldier saves violent girl from Russians. Some mecha.
Gin Tama 4/5
Chaotic-good Samurai fights aliens in post-Modern Edo.
Random episodes are perverted (in a toilet humor sense), but the rest are awesome.
Great Teacher Onizuka 4/5
A Real-Man teaches highschool.
Hakuouki 3/5
Girl pretends to be a boy, but is found out. Period drama, Edo Japan. Magic?
Haruhi Suzumiya 5/5
A 14-year-old girl is all-powerful, but doesn't know it.
Honey And Clover 5/5
Art students live life. One of them is a little girl.
Ichigo Mashimaro 5/5
5th graders play afterschool. One of them is a narcissist.
InuYasha 6/5
Girl time-travels to Feudal Japan and falls in love with a half-demon. Epic.
K-ON! 5/5
Highschool girls form a band and eat cookies.
Minami-ke 3/5
Three sisters try to be normal.
Mushishi 4/5
A man solves problems caused by magical bugs.
Nabari No Ou 2/5
A kid has undisclosed magical powers. Ninja fight over him.
Naruto 6/5
Ninja children fight and make friends.
Ninja Scroll 0/5
Really slow.
Nodame Contabile 5/5
A concert pianist and a conductor... fall in love?
Ouran Host Club 4/5
Poor boy is enslaved by rich kids at a private school. They find out he's a girl.
Saiunkoku 4/5
Girl dreams of being a man, but everyone keeps being smitten with her. Vaguely set in China.
Saiyuki 1/5
Some demonic-ish people fight on a quest.
Samurai Champloo 4/5
Girl convinces two Samurai to stalk her.
School Rumble 5/5
Forget love triangles, these high school students have a love dodecahedron.
Seirei No Moribito 5/5
Kid swallows something magical and alive. Epic fantasy drama.
Shamanic Princess -5/5
Most awful series ever.
Shaman King 2/5
Kids fight using ghosts.
Skip Beat 3/5
Girl swears revenge on her childhood friend, because he's a jerk... but he's a rock star.
Soul Hunter 1/5
Gods run China.
Suzuka 2/5
Loser falls in love with track star.
Toradora 5/5
Chibi misfit with anger problems finds a friend.
Trigun 4/5
Super-human gunslinger refuses to kill anyone.
Tsubasa Chronicles 5/5
Counterpart to xxxHOLiC. Fantasy quest.
Witch Hunter Robin 3/5
Girl can shoot fire... but why?
Working!! 5/5
So... many... crazy people!
xxxHOLiC 5/5
Kid meets a witch. They become friends.
Zetsubou Sensei 0/5
Social commentary. Also creepy.
EDIT: Apparently, in order to get the right timing and emphasis on my terseness, it helps to read some of them as if you were Strong Bad... or so I'm told.
Without further ado: Essence of Anime
(Some spoilers ahead.)
Title: Rating
Executive Summary: "Better than it sounds."
Ah My Goddess! 5/5
Shy, quiet guy has a magical girl enter his life. Her siblings rage magical war.
Black Cat 2/5
Little girl hunted by bad guys. Lone wolf kicks butt with a pistol.
Bleach 5/5
Highschool boy gets a giant sword, and hunts monsters.
Chobits 2/5
Pervert finds a girl with amnesia. He proceeds to treat her like his daughter, and they fall in love.
Cowboy Bebop 3/5
Iconoclast bounty hunters have misadventures. Vaguely reminiscent of Firefly.
Death Note 5/5
Highschool student turns meglomaniac when he discovers he can kill people.
Element Hunters 4/5
Elementary school students fight Pokemon. Some science words are used.
Escaflowne 2/5
Girl ends up in Wonderland. All the boys love her.
Evangelion 1/5
Boy pilots mecha. His life sucks. Then everyone takes LSD.
Full Metal Alchemist 6/5
Two brothers use magic to do good, and save the country.
Series rebooted as "Full Metal Alchemist Brotherhood." Both are awesome.
Full Metal Panic 5/5
15 year-old soldier saves violent girl from Russians. Some mecha.
Gin Tama 4/5
Chaotic-good Samurai fights aliens in post-Modern Edo.
Random episodes are perverted (in a toilet humor sense), but the rest are awesome.
Great Teacher Onizuka 4/5
A Real-Man teaches highschool.
Hakuouki 3/5
Girl pretends to be a boy, but is found out. Period drama, Edo Japan. Magic?
Haruhi Suzumiya 5/5
A 14-year-old girl is all-powerful, but doesn't know it.
Honey And Clover 5/5
Art students live life. One of them is a little girl.
Ichigo Mashimaro 5/5
5th graders play afterschool. One of them is a narcissist.
InuYasha 6/5
Girl time-travels to Feudal Japan and falls in love with a half-demon. Epic.
K-ON! 5/5
Highschool girls form a band and eat cookies.
Minami-ke 3/5
Three sisters try to be normal.
Mushishi 4/5
A man solves problems caused by magical bugs.
Nabari No Ou 2/5
A kid has undisclosed magical powers. Ninja fight over him.
Naruto 6/5
Ninja children fight and make friends.
Ninja Scroll 0/5
Really slow.
Nodame Contabile 5/5
A concert pianist and a conductor... fall in love?
Ouran Host Club 4/5
Poor boy is enslaved by rich kids at a private school. They find out he's a girl.
Saiunkoku 4/5
Girl dreams of being a man, but everyone keeps being smitten with her. Vaguely set in China.
Saiyuki 1/5
Some demonic-ish people fight on a quest.
Samurai Champloo 4/5
Girl convinces two Samurai to stalk her.
School Rumble 5/5
Forget love triangles, these high school students have a love dodecahedron.
Seirei No Moribito 5/5
Kid swallows something magical and alive. Epic fantasy drama.
Shamanic Princess -5/5
Most awful series ever.
Shaman King 2/5
Kids fight using ghosts.
Skip Beat 3/5
Girl swears revenge on her childhood friend, because he's a jerk... but he's a rock star.
Soul Hunter 1/5
Gods run China.
Suzuka 2/5
Loser falls in love with track star.
Toradora 5/5
Chibi misfit with anger problems finds a friend.
Trigun 4/5
Super-human gunslinger refuses to kill anyone.
Tsubasa Chronicles 5/5
Counterpart to xxxHOLiC. Fantasy quest.
Witch Hunter Robin 3/5
Girl can shoot fire... but why?
Working!! 5/5
So... many... crazy people!
xxxHOLiC 5/5
Kid meets a witch. They become friends.
Zetsubou Sensei 0/5
Social commentary. Also creepy.
EDIT: Apparently, in order to get the right timing and emphasis on my terseness, it helps to read some of them as if you were Strong Bad... or so I'm told.
20110102
How to disable middle-click clipboard URL loading in Firefox
It has always annoyed me that if I accidentally middle-click somewhere in Firefox, it tries to load whatever is in my clipboard as a URL. Granted, I'm not one of the old-school Unix folks who actually uses middle-click to paste things normally, but that's always seemed crazy to me. I mean, if I want to enter a URL, I click on the address bar, where URLs are normally entered, and not in the middle of the window. Weird.
At any rate, go to "about:config" and set "middlemouse.contentLoadURL" to false, and this obnoxious behavior goes away.
At any rate, go to "about:config" and set "middlemouse.contentLoadURL" to false, and this obnoxious behavior goes away.
20101205
Things I've Learned from Anime
I recently watched some particularly bad children's anime on Hulu, which has inspired this list.
- It's important to keep your promises... even if it kills you.
- If you love enough, you can gain magical powers.
- People who are trying to kill you, might become your friends if you fight them enough.
- Violence is a great way to show affection.
- Attacking your teachers is a great way to pass tests.
- If you're not willing to die with your friends, you don't truly love them.
- Repeatedly blowing up your school has no meaningful consequences.
- Animals are named after their favorite word.
- Saying random syllables after every sentence just means you have an accent.
- The harder you are beaten, the more likely you will power up.
- Americans.... speak... really... slowly....and.... clearly.
- Girls can pull anything out of their purse.
- Girls can pull hammers out of thin air.
- Everyone has a tragic backstory.
- Flashbacks occur when you most expect them... even if you've seen it before.
- Fighting someone is a great way to understand them... especially if they die.
- Every party needs a Chinese girl.
- The coolest weapon is a sword. Other weapons pretend to be swords to look cooler.
- The worse a girl cooks, the more often she shares.
- If you are different, children will bully you.
- Children do best when their parents are never seen.
- Grocery store lotteries are the great enabler.
- Angry women can do anything.
- High schools are run by student councils.
- Songs with more English make less sense.
- Tantrums are a great way to get what you want, but only if you're cute.
- The standard unit of skill is 100 years. (You're 100 years too early to...)
- Promises made to 6 year old girls are legally binding.
- There's always another conspiracy.
- Small children always run away after you give them something.
- Defeat builds character, especially if you win the rematch later.
- A fall from any height is safe, as long as someone catches you at the bottom.
- Wings can make anything fly (no matter what they're made of).
Fonts
So I normally run Firefox without allowing pages to set their own fonts. So I didn't realize until recently that the template I picked for my blog has ugly fonts. I apologize, (though my readership consists mostly of me, so I guess no one was seriously harmed). At any rate, I now have mostly no fonts, so if it looks bad change your browser's default fonts.
20101125
Politics and Budgets
(I had a lot of time to think this week while sitting in airports, hence the posting blitz.)
While watching the recent economic turmoils such as the collapse (so to speak) of Greece, and the pending collapse of the state of California, I've come to the conclusion that Democracy is failing. Now, I'm not much of a political science guy, so I really don't have a better system on the whole. The really nice thing about Democracies is that they tend to be stable governments (in the sense that they resist violent-revolution) since malcontents and prospective revolutionaries find it easier to work within the system than to overthrow it. But they seem to be failing the "rational self-interest" test for short-sightedness across the board (ie, "Will I later regret the costs of getting what I want now?").
There is a trade-off here between short-sightedness, and the length of time you are willing to tolerate bad leaders. Giving elected leaders longer terms will force them to plan farther ahead, since they will suffer more consequences when they are held responsible for the results. So, to some extent, short-sightedness is the price you pay for avoiding being unhappily misgoverned by a leader you cannot dispose for a while. But I think there are more basic problems with the control systems that might be fixable without such a trade-off. (Yeah, I'm a computer engineer, so ideal governments are just fancy control systems with lots of inputs.)
The most basic problem I see, is that there is the lamentable lack of an educated, and self-disciplined populace. This seems to be indirectly asserted by the prevalence of political advertising. Everyone who puts up a political sign with "Yes on Blah" and "Vote for Me," seems to be implicitly admitting that they expect a large enough portion of the voting population to be swayed merely by repeated exposure to their signs that it is worth the expense and effort of placing them. This to me, is the antithesis of a well-educated and self-disciplined populace. But short of disenfranchising such folk (which severely reduces the stability benefits mentioned above), or pumping lots of money into education (which has been shown to increase both education and discipline, but takes a good 20-40 years to kick in), I have no real solution, so I will limit my whining.
The solvable part of what I think is behind the economic troubles, is that legislatures experience what Frederick Brooks calls the "committee effect." When you get a group of people together with varying interests, there is a strong incentive to pass anything you do not strongly object to. To use a game theory explanation, if each committee member has an item he or she personally wants passed, and fighting against another's item will cause them to retaliate by trying to block yours, it is in your best interest to make friends and support everyone's agenda, so that they will support yours. In engineering, this results in "design by committee," where the feature list is so bloated as to be unrealizable. The problem here is that while each individual item may be doable, there is an inherent trade-off in constrained resources. However, the game-theory dynamics of each individual actor in the standard committee promote neither the conservation of those resource, nor any consideration of the trade-offs. The result is that while each actor succeeds at the committee game by getting their feature on the list, they ultimately lose the real-world game, when the project fails (or random features get cut, if you have a particularly aggressive engineering department). For legislative committees, the items are often government programs, and the constrained resource is budget dollars for their implementation. When everyone's programs pass, the government overspends their revenue, and eventually the bottom falls out and someone loses the reality game (usually the voters).
The underlying economic problem seems to be requiring a balanced budget (or at least requiring the budget to fit some fixed figure, determined by the financial policy gurus who may calculate the optimal level of overspending). There are a few ways to do this, and I think the best solution is a hybrid approach that uses all of them. First, you could require the legislatures to balance the budget. This effectively moves the resource constraint problem inside the committee. Unfortunately, it also destabilizes the equilibrium of the game theory, which quickly results in deadlocks. The California legislatures inability to pass a budget every year is a prime example of this. So while I ultimately think that the solution is to move the resource constraints inside the control system, you have to be slightly more clever.
Another way to get around this is to add a second, post-committee control system that intelligently handles the over-spending problem. If you can excuse the Computer Science reference, this would be a second-pass on the output. This is akin to the engineering department that intelligently drops what they consider to be the less important features in order to make it fit into the schedule and budget. You've now separated the decision making from the people who should rightly be making the decisions, and lost some subtleties about the true priorities and rankings in the process, but at least you have the problem solved somewhat intelligently by an interested party. The improvement here is that otherwise, the real-world could impose constraints randomly, as whatever features fail to be finished on-time are cut, or when the project fails and everyone loses. In the legislature, the place to vest this power seems to be with the governor. Any budget which passes the legislature that over-spends the expected revenue, will be trimmed down to size by the governor however he sees fit.
While I think this is an improvement, I see it as falling into one of two possible traps. If the legislature is consistently unable to pass a controlled budget, then you have just given the governor basically arbitrary control over the budget and program funding (up to the amount the legislature goes over). To me this seems like a lot of power to stick in one place, even if it's only there as a check when the legislature has "failed". Alternatively, the legislature could realize that it's in their rational self-interest to balance the budget themselves, and the dynamics reduce to the previous case where the legislature deadlocks. So this system seems to oscillate between misrepresenting the true priorities (by concentrating the power in one man), or deadlocking. But at least now we're only deadlocking sometimes.
The third approach is to change the game, so that the priorities of the actors promote balancing the budget more than (or at least appropriately with) their own personal (or constituent if you are less cynical) agendas. This is kind of tricky, especially given the term-length/responsibility trade-off I've mentioned above. But, I think that one way to improve this, is to give voters an incentive to care about the state budget, by raising taxes across the board to fund any budget overages. Especially if this is done on a yearly basis, so when the taxes shoot up, or a new unpopular program gets started, it's fairly easy for an individual voter (or their favorite political media) to figure out why, and calculate their expected return for canceling the program. Once this is well-understood enough that political candidates can use a rivals spending preferences against him, it should help coalesce the legislative agendas with the true cost to society, while avoiding the long-term overspending trap. It might even produce better-educated, engaged and disciplined voters, but that's just a pipe-dream of mine... I don't see a particular downside to this (besides the difficulties of getting it implemented), but it's unclear to me how much of an effect this would have by itself on the voters. If nothing else, it would reduce the debt-incurring costs of overspending, even if the government itself is not made more efficient with respect to societies' true wishes.
But, I think that you can combine the strengths of all of these into a hybrid system. First, require tax increases to cover any spending deficits, putting an overall constraint on the system. Then, allow the governor the power to cut funding at will from any program if an over-spending budget passes the legislature. To avoid the power issues, give the legislature the power to override the "budget veto" with a super-majority. Together, this would establish hard-cap on the over-spending from the tax increases (with whatever accompanying changes in voter priorities that come out of it as a secondary benefit), allow intelligent decisions to be made about where to cut over-committed resources during legislative failure, move the constraining problem inside the committee deliberations (with the "out" of passing an over-spending budget to avoid deadlocks), and not concentrate too much power in the governor by allowing to a legislative override.
I realize, the current economic situation is much more complicated than government overspending, but this seems to be a recurring theme in modern democracies. But, I'm approaching this from a control systems angle with a little bit of game theory thrown in for politics. Anyone have a better idea?
While watching the recent economic turmoils such as the collapse (so to speak) of Greece, and the pending collapse of the state of California, I've come to the conclusion that Democracy is failing. Now, I'm not much of a political science guy, so I really don't have a better system on the whole. The really nice thing about Democracies is that they tend to be stable governments (in the sense that they resist violent-revolution) since malcontents and prospective revolutionaries find it easier to work within the system than to overthrow it. But they seem to be failing the "rational self-interest" test for short-sightedness across the board (ie, "Will I later regret the costs of getting what I want now?").
There is a trade-off here between short-sightedness, and the length of time you are willing to tolerate bad leaders. Giving elected leaders longer terms will force them to plan farther ahead, since they will suffer more consequences when they are held responsible for the results. So, to some extent, short-sightedness is the price you pay for avoiding being unhappily misgoverned by a leader you cannot dispose for a while. But I think there are more basic problems with the control systems that might be fixable without such a trade-off. (Yeah, I'm a computer engineer, so ideal governments are just fancy control systems with lots of inputs.)
The most basic problem I see, is that there is the lamentable lack of an educated, and self-disciplined populace. This seems to be indirectly asserted by the prevalence of political advertising. Everyone who puts up a political sign with "Yes on Blah" and "Vote for Me," seems to be implicitly admitting that they expect a large enough portion of the voting population to be swayed merely by repeated exposure to their signs that it is worth the expense and effort of placing them. This to me, is the antithesis of a well-educated and self-disciplined populace. But short of disenfranchising such folk (which severely reduces the stability benefits mentioned above), or pumping lots of money into education (which has been shown to increase both education and discipline, but takes a good 20-40 years to kick in), I have no real solution, so I will limit my whining.
The solvable part of what I think is behind the economic troubles, is that legislatures experience what Frederick Brooks calls the "committee effect." When you get a group of people together with varying interests, there is a strong incentive to pass anything you do not strongly object to. To use a game theory explanation, if each committee member has an item he or she personally wants passed, and fighting against another's item will cause them to retaliate by trying to block yours, it is in your best interest to make friends and support everyone's agenda, so that they will support yours. In engineering, this results in "design by committee," where the feature list is so bloated as to be unrealizable. The problem here is that while each individual item may be doable, there is an inherent trade-off in constrained resources. However, the game-theory dynamics of each individual actor in the standard committee promote neither the conservation of those resource, nor any consideration of the trade-offs. The result is that while each actor succeeds at the committee game by getting their feature on the list, they ultimately lose the real-world game, when the project fails (or random features get cut, if you have a particularly aggressive engineering department). For legislative committees, the items are often government programs, and the constrained resource is budget dollars for their implementation. When everyone's programs pass, the government overspends their revenue, and eventually the bottom falls out and someone loses the reality game (usually the voters).
The underlying economic problem seems to be requiring a balanced budget (or at least requiring the budget to fit some fixed figure, determined by the financial policy gurus who may calculate the optimal level of overspending). There are a few ways to do this, and I think the best solution is a hybrid approach that uses all of them. First, you could require the legislatures to balance the budget. This effectively moves the resource constraint problem inside the committee. Unfortunately, it also destabilizes the equilibrium of the game theory, which quickly results in deadlocks. The California legislatures inability to pass a budget every year is a prime example of this. So while I ultimately think that the solution is to move the resource constraints inside the control system, you have to be slightly more clever.
Another way to get around this is to add a second, post-committee control system that intelligently handles the over-spending problem. If you can excuse the Computer Science reference, this would be a second-pass on the output. This is akin to the engineering department that intelligently drops what they consider to be the less important features in order to make it fit into the schedule and budget. You've now separated the decision making from the people who should rightly be making the decisions, and lost some subtleties about the true priorities and rankings in the process, but at least you have the problem solved somewhat intelligently by an interested party. The improvement here is that otherwise, the real-world could impose constraints randomly, as whatever features fail to be finished on-time are cut, or when the project fails and everyone loses. In the legislature, the place to vest this power seems to be with the governor. Any budget which passes the legislature that over-spends the expected revenue, will be trimmed down to size by the governor however he sees fit.
While I think this is an improvement, I see it as falling into one of two possible traps. If the legislature is consistently unable to pass a controlled budget, then you have just given the governor basically arbitrary control over the budget and program funding (up to the amount the legislature goes over). To me this seems like a lot of power to stick in one place, even if it's only there as a check when the legislature has "failed". Alternatively, the legislature could realize that it's in their rational self-interest to balance the budget themselves, and the dynamics reduce to the previous case where the legislature deadlocks. So this system seems to oscillate between misrepresenting the true priorities (by concentrating the power in one man), or deadlocking. But at least now we're only deadlocking sometimes.
The third approach is to change the game, so that the priorities of the actors promote balancing the budget more than (or at least appropriately with) their own personal (or constituent if you are less cynical) agendas. This is kind of tricky, especially given the term-length/responsibility trade-off I've mentioned above. But, I think that one way to improve this, is to give voters an incentive to care about the state budget, by raising taxes across the board to fund any budget overages. Especially if this is done on a yearly basis, so when the taxes shoot up, or a new unpopular program gets started, it's fairly easy for an individual voter (or their favorite political media) to figure out why, and calculate their expected return for canceling the program. Once this is well-understood enough that political candidates can use a rivals spending preferences against him, it should help coalesce the legislative agendas with the true cost to society, while avoiding the long-term overspending trap. It might even produce better-educated, engaged and disciplined voters, but that's just a pipe-dream of mine... I don't see a particular downside to this (besides the difficulties of getting it implemented), but it's unclear to me how much of an effect this would have by itself on the voters. If nothing else, it would reduce the debt-incurring costs of overspending, even if the government itself is not made more efficient with respect to societies' true wishes.
But, I think that you can combine the strengths of all of these into a hybrid system. First, require tax increases to cover any spending deficits, putting an overall constraint on the system. Then, allow the governor the power to cut funding at will from any program if an over-spending budget passes the legislature. To avoid the power issues, give the legislature the power to override the "budget veto" with a super-majority. Together, this would establish hard-cap on the over-spending from the tax increases (with whatever accompanying changes in voter priorities that come out of it as a secondary benefit), allow intelligent decisions to be made about where to cut over-committed resources during legislative failure, move the constraining problem inside the committee deliberations (with the "out" of passing an over-spending budget to avoid deadlocks), and not concentrate too much power in the governor by allowing to a legislative override.
I realize, the current economic situation is much more complicated than government overspending, but this seems to be a recurring theme in modern democracies. But, I'm approaching this from a control systems angle with a little bit of game theory thrown in for politics. Anyone have a better idea?
20101124
Fun with Fedora
I don't want to be the guy who rants all the time, because life's too short to spend it complaining. But I had such a negative experience that I'm going to share it anyway. Thumper's Mother can scold me later...
I had to test some things for work on the new shiny Fedora 14 release, and decided that it was the most brain-dead and hard to setup Linux distribution I've ever worked with. (After some reflection, the only other serious contender was Topologilinux, who's built-in upgrade system used to leave the installation unbootable. But that was back in 2002, and since they're essentially some fancy installation scripts around Slackware, I'll cut them some slack (no pun intended), since I don't expect them to maintain the entire Slackware repository.) All I wanted to do was get VMware tools installed properly, and to do that I needed to install gcc and some kernel headers, which sounded simple enough. I'm willing to overlook (what I perceive as) the grave crimes of any distro that doesn't ship with gcc and the kernel headers included, because I realize that not everyone uses systems the same way I do.
Now, granted, I've never worked with Fedora or RedHat before, and Gentoo's package management system has pretty much spoiled me for life, so I was prepared for a bit of a learning curve to get everything setup properly. The first task was networking. I'm behind the firewall-proxy setup at work, so I didn't expect networking to work out of the box. I'm even willing to overlook the fact that there is no happy graphical utility to set a system-wide proxy configuration. Nobody else seems to do this either, despite the fact that it would just have to dump two environment variables to a config file. But, on a modern Linux distribution, and especially on standard hardware environments like a VMware virtual machine, I expect my network devices to come up under DHCP without any user intervention. So I wasted several minutes trying to play with proxy settings, before I realized that I had the more fundamental problem: eth0 does not start by default.
The next thing I expect from a software system, is reasonably descriptive error messages. If there's a network problem, I expect to see something to the effect of "Unable to connect to fedora.com," or even "Unable to download package database" or even "Plug in your network cable you moron." But, the message yum gave me was something like "Error: Cannot retrieve repository metadata (repoman.xml)," which just doesn't help me at all. Now, maybe they tried, since the word "retrieve" is in there, which sounds vaguely networky, but it's not terribly descriptive. It sounds like the kind of generic error message you get when the programmers were either too lazy to implement proper error handling, or the errors are obscure enough that the programmers could not have reasonably predicted them. So I went digging around with yum, trying to rebuild package databases, and running obscure maintenance-looking commands, trying to figure out what could possibly be weirdly screwed up on my stock install. After fixing my proxy settings (aka, copying the environment variables so many places, yum has to get it right), I was confronted with a different error message. Now yum was listing websites and telling me it was failing to connect with them. Somehow, after giving yum access to the Internet, it was finally giving me an error message that looked definitively network related.... go figure. Clearly something else was wrong. I managed to convince myself that the sites in question really did exist (at this point I was praying they weren't dumb enough to ship with dead mirrors), and that I really could connect to them through the proxy and the firewall at work.
After longer than I'd like to admit, and double and triple checking the network connectivity and proxy settings, I gave up and started digging around on Google. I finally found some other poor saps looking at the same error message who had managed to find a fix. Apparently, and for reasons I cannot adequately explain, yum is unable to access HTTPS sites out of the box. This is, as you might imagine, a severe limitation, when all of the default mirrors include https:// in the URL. So, I went and hand-edited my repo list, and converted all of the https:// to http://, and prayed that nobody was running a https only mirror. That finally worked for me, and I was able to start the onerous process of matching up real-world package names like "gcc" and "kernel headers" to the cryptic, numbered formulas that seem to be the best non-Gentoo package managers can offer. I'm really hoping that this was an issue with the Squid proxy at my work, and that the Fedora folks didn't ship a release that was unable to validate SSL certificates. For that matter, I'm not completely sure what added security running over HTTPS really gives you. I'm hoping they checksum the binaries, so the only advantage I see to HTTPS is to make it so that people upstream from me can't tell exactly which packages I'm downloading...
Meanwhile, I had another problem: yum was deadlocking itself. Apparently, yum will happily spin for over 10 minutes, trying to acquire some internal yummy lock. Furthermore, Unix file-locking being what it is, killing the competing processes doesn't release the lock. So, I had to go Google around for the lock files yum uses, so I can kill all the yums on my system, free the locks, and try again. (I had by this point accumulated quite a number of hung yums.) Somehow, this was unsuccessful. So I logged out, and restarted my X session. No luck. I rebooted. No luck (after reworking the solutions for eth0, and the proxy above). I finally figured out that whatever system-tray icon their default session launches to inform me of all the wonderful updates I'm missing was also running yum, and hanging in some new and interesting way. I never solved that one. But, if I killed it, and all my hung yums, and cleaned all the lock files, finally I could install packages. However, mistyping a shell command would cause my shell to hang indefinitely... I can only assume it was asking yum what I meant to type, so it could offer to install it for me, but that yum was still horribly broken in some unusual way.
This, is the Linux distribution that gets all the money? I fear for our novices...
I had to test some things for work on the new shiny Fedora 14 release, and decided that it was the most brain-dead and hard to setup Linux distribution I've ever worked with. (After some reflection, the only other serious contender was Topologilinux, who's built-in upgrade system used to leave the installation unbootable. But that was back in 2002, and since they're essentially some fancy installation scripts around Slackware, I'll cut them some slack (no pun intended), since I don't expect them to maintain the entire Slackware repository.) All I wanted to do was get VMware tools installed properly, and to do that I needed to install gcc and some kernel headers, which sounded simple enough. I'm willing to overlook (what I perceive as) the grave crimes of any distro that doesn't ship with gcc and the kernel headers included, because I realize that not everyone uses systems the same way I do.
Now, granted, I've never worked with Fedora or RedHat before, and Gentoo's package management system has pretty much spoiled me for life, so I was prepared for a bit of a learning curve to get everything setup properly. The first task was networking. I'm behind the firewall-proxy setup at work, so I didn't expect networking to work out of the box. I'm even willing to overlook the fact that there is no happy graphical utility to set a system-wide proxy configuration. Nobody else seems to do this either, despite the fact that it would just have to dump two environment variables to a config file. But, on a modern Linux distribution, and especially on standard hardware environments like a VMware virtual machine, I expect my network devices to come up under DHCP without any user intervention. So I wasted several minutes trying to play with proxy settings, before I realized that I had the more fundamental problem: eth0 does not start by default.
The next thing I expect from a software system, is reasonably descriptive error messages. If there's a network problem, I expect to see something to the effect of "Unable to connect to fedora.com," or even "Unable to download package database" or even "Plug in your network cable you moron." But, the message yum gave me was something like "Error: Cannot retrieve repository metadata (repoman.xml)," which just doesn't help me at all. Now, maybe they tried, since the word "retrieve" is in there, which sounds vaguely networky, but it's not terribly descriptive. It sounds like the kind of generic error message you get when the programmers were either too lazy to implement proper error handling, or the errors are obscure enough that the programmers could not have reasonably predicted them. So I went digging around with yum, trying to rebuild package databases, and running obscure maintenance-looking commands, trying to figure out what could possibly be weirdly screwed up on my stock install. After fixing my proxy settings (aka, copying the environment variables so many places, yum has to get it right), I was confronted with a different error message. Now yum was listing websites and telling me it was failing to connect with them. Somehow, after giving yum access to the Internet, it was finally giving me an error message that looked definitively network related.... go figure. Clearly something else was wrong. I managed to convince myself that the sites in question really did exist (at this point I was praying they weren't dumb enough to ship with dead mirrors), and that I really could connect to them through the proxy and the firewall at work.
After longer than I'd like to admit, and double and triple checking the network connectivity and proxy settings, I gave up and started digging around on Google. I finally found some other poor saps looking at the same error message who had managed to find a fix. Apparently, and for reasons I cannot adequately explain, yum is unable to access HTTPS sites out of the box. This is, as you might imagine, a severe limitation, when all of the default mirrors include https:// in the URL. So, I went and hand-edited my repo list, and converted all of the https:// to http://, and prayed that nobody was running a https only mirror. That finally worked for me, and I was able to start the onerous process of matching up real-world package names like "gcc" and "kernel headers" to the cryptic, numbered formulas that seem to be the best non-Gentoo package managers can offer. I'm really hoping that this was an issue with the Squid proxy at my work, and that the Fedora folks didn't ship a release that was unable to validate SSL certificates. For that matter, I'm not completely sure what added security running over HTTPS really gives you. I'm hoping they checksum the binaries, so the only advantage I see to HTTPS is to make it so that people upstream from me can't tell exactly which packages I'm downloading...
Meanwhile, I had another problem: yum was deadlocking itself. Apparently, yum will happily spin for over 10 minutes, trying to acquire some internal yummy lock. Furthermore, Unix file-locking being what it is, killing the competing processes doesn't release the lock. So, I had to go Google around for the lock files yum uses, so I can kill all the yums on my system, free the locks, and try again. (I had by this point accumulated quite a number of hung yums.) Somehow, this was unsuccessful. So I logged out, and restarted my X session. No luck. I rebooted. No luck (after reworking the solutions for eth0, and the proxy above). I finally figured out that whatever system-tray icon their default session launches to inform me of all the wonderful updates I'm missing was also running yum, and hanging in some new and interesting way. I never solved that one. But, if I killed it, and all my hung yums, and cleaned all the lock files, finally I could install packages. However, mistyping a shell command would cause my shell to hang indefinitely... I can only assume it was asking yum what I meant to type, so it could offer to install it for me, but that yum was still horribly broken in some unusual way.
This, is the Linux distribution that gets all the money? I fear for our novices...
Subscribe to:
Posts (Atom)