Wednesday, December 31, 2008

pigz parallel gzip A parallel implementation of gzip for modern multi-processor, multi-core machines

hiawatha secure modern webserver


now this might be an oriental 10

SEXY GODDESS w/Stunning Feet~~~~ - w4m (in call)


anyone who says they don't like oriental chix is fulla crap

the aunt I never had


this whole thong thing just doesn't get old

excuse me

Lady GaGa Ft Colby O'Donis - Just Dance


is this one

Is this oriental gal a ten

Tuesday, December 30, 2008

government health clinics mad about better clinics

Dow Corning Files Chapter 11 // Breast Implant Litigation Too Costly, Company Says

Dow Corning Files Chapter 11 // Breast Implant Litigation Too Costly, Company Says
From: Chicago Sun-Times | Date: May 16, 1995 | Copyright information

MIDLAND, Mich. Dow Corning Corp. filed Monday for bankruptcy protection, acknowledging that it can't afford the spiraling cost of litigation over its silicone breast implants.

The Chapter 11 filing in U.S. Bankruptcy Court in Bay City, Mich., freezes about 19,000 implant lawsuits against Dow Corning, including 200 set for trial in the next six months.

By seeking court protection, the joint venture of Dow Chemical Co. and Corning Inc. gains time as it tries to negotiate with plaintiffs and insurance companies to pay off implant claims that will cost billions of dollars to resolve.

dow chapter 11 and suing for profits you think deserve

mysql dump to xml

Monday, December 29, 2008

openBSD hard to crack, good code quality

needs to learn.. chicks mad on outside = moist on inside

of course they get mad (on surface)

needs to learn.. chicks mad on outside = moist on inside

Paul Polak: 15 Rules for Business Success in Any Market

Paul Polak: 15 Rules for Business Success in Any Market

Carleen Hawn | Saturday, November 1, 2008 | 9:00 AM PT | 9 comments

Paul Polak, a Pop!Tech 2008 featured speaker, has been starting businesses since he was 15. He’s now 75, and says he has succeeded — and failed — with more ventures than he can count. Polak’s first was a strawberry distribution operation in his hometown of Millgrove, Ontario. Later Polak prospected in real estate and oil and made millions. In 1981, he invested the proceeds into a nonprofit incubator of sorts called International Development Enterprises.

Most of the ventures Polak has debuted out of IDE have one thing in common: They specialize in delivering low-cost engineering solutions to “micro-businesses” in the developing world. The most famous is the $25 treadle pump: a simple, foot-powered irrigation system that millions of farmers in India, Cambodia, Ethiopia, and Nepal have used to bring themselves out of poverty. Irrigation allows farmers to grow crops irrespective of season. When they can diversify, they are no longer subsistence farmers. They become businesspeople.

Since his customers are the poor, Polak is called a social entrepreneur. But he’s hardly the sort to sacrifice profits for “do-gooder-ism.” In fact, Polak won’t invest in a venture that can’t pay for itself in a year. One year! It’s a high bar by venture capital standards, but Polak says a one-year break-even is one of his top three “don’t bother” rules, along with a market opportunity of at least 1 million customers and having conversations with at least 25 of those prospective buyers.

Polak knows a lot about building successful businesses in dire economic circumstances. It’s a skill set in high demand these days, and Polak often lectures at Harvard’s and Stanford’s business schools. In addition to his three “don’t bother” rules, Polak points the way to success using 12 Steps to Practical Problem Solving, “because business is problem-solving…no matter what market you’re in.”

This week Polak shared his ideas with hundreds of business elites at Pop!Tech. He also sat down with Found|READ to flesh-out his wisdom, tailored to startups. It’s below.

The 12 Steps to Practical Problem Solving:
1. Go where the action is. “Spend significant time with your customers. This is how you learn what they need,” he says. Not hours, days. Polak lived with his farmers for 6 months.
2. Interview at least 100 customers a year. You do it. Not an employee. Listen to what they have to say. “Too many entrepreneurs build the product they want to build — not the one that’s needed.”
3. Context matters. If your solution isn’t right for the context, for example, if it costs too much for the customers you’re trying to serve, you won’t succeed.
4. Think big. Act big.
5. Think like a child.
6. See and do the obvious. Others won’t, which is opportunity for you.
7. Leverage precedents. If somebody has already invented it, don’t do it again.
8. Scale. Your business must have potential to scale. Remember, your market must include at least 1 million customers.
9. Design to specific cost and price targets. Not the other way around. (Celeste: it means — Do not price to your design, design to the price you need to hit to make your product appropriate to your customer.).
10. Follow practical three-year plans. Two years is too short. Ten is too long.
11. Visit your customers again. And again. “Any successful business in this country is based on talking to your customers all the time. A good CEO spends half his time ‘in the field.’”
12. Stay positive. Don’t be distracted by what other people think.

You can read more about these rules in Polak’s book, “Out of Poverty: What Works When Traditional Approaches Fail.”

We provide food that customers love, day after day after day. People just want more of it. Ray Kroc

We provide food that customers love, day after day after day. People just want more of it.
Ray Kroc

If a working class Englishman saw a bloke drive past in a Rolls-Royce

If a working class Englishman saw a bloke drive past in a Rolls-Royce, he'd say to himself "Come the social revolution and we'll take that away from you, mate". Whereas if his American counterpart saw a bloke drive past in a Cadillac he'd say "One day I'm going to own one of those". To my way of thinking the first attitude is wrong. The latter is right.
Kerry Packer

It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change. Charles Darwin

It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.
Charles Darwin

Dan RAther -- shit head

CBS newsman's $70m lawsuit likely to deal Bush legacy a new blow

* Christopher Goodwin in Los Angeles
* The Observer, Sunday 28 December 2008
* Article history

As George W Bush prepares to leave the White House, at least one unpleasant episode from his unpopular presidency is threatening to follow him into retirement.

A $70m lawsuit filed by Dan Rather, the veteran former newsreader for CBS Evening News, against his old network is reopening the debate over alleged favourable treatment that Bush received when he served in the Texas Air National Guard during the Vietnam war. Bush had hoped that this controversy had been dealt with once and for all during the 2004 election.

Eight weeks before the 2004 presidential poll, Rather broadcast a story based on newly discovered documents which appeared to show that Bush, whose service in the Texas Air National Guard ensured that he did not have to fight in Vietnam, had barely turned up even for basic duty. After an outcry from the White House and conservative bloggers who claimed that the report had been based on falsified documents, CBS retracted the story, saying that the documents' authenticity could not be verified. Rather, who had been with CBS for decades and was one of the most familiar faces in American journalism, was fired by the network the day after the 2004 election.

He claims breach of contract against CBS. He has already spent $2m on his case, which is likely to go to court early next year. Rather contends not only that his report was true - "What the documents stated has never been denied, by the president or anyone around him," he says - but that CBS succumbed to political pressure from conservatives to get the report discredited and to have him fired. He also claims that a panel set up by CBS to investigate the story was packed with conservatives in an effort to placate the White House. Part of the reason for that, he suggests, was that Viacom, a sister company of CBS, knew that it would have important broadcasting regulatory issues to deal with during Bush's second term.

Among those CBS considered for the panel to investigate Rather's report were far-right broadcasters Rush Limbaugh and Ann Coulter.

"CBS broke with long-standing tradition at CBS News and elsewhere of standing up to political pressure," says Rather. "And, there's no joy in saying it, they caved ... in an effort to placate their regulators in Washington."

Rather's lawsuit makes other serious allegations about CBS succumbing to political pressure in an attempt to suppress important news stories. In particular, he says that his bosses at CBS tried to stop him reporting evidence of torture at Abu Ghraib prison in Iraq. According to Rather's lawsuit, "for weeks they refused to grant permission to air the story" and "continued to raise the goalposts, insisting on additional substantiation". Rather also claims that General Richard Meyers, then head of the Joint Chiefs of Staff, the top military official in the US, called him at home and asked him not to broadcast the story, saying that it would "endanger national security".

Rather says that CBS only agreed to allow him to broadcast the story when it found out that Seymour Hersh would be writing about it in the New Yorker magazine. Even then, Rather claims, CBS tried to bury it. "CBS imposed the unusual restrictions that the story would be aired only once, that it would not be preceded by on-air promotion, and that it would not be referenced on the CBS Evening News," he says.

The charges outlined in Rather's lawsuit will cast a further shadow over the Bush legacy. He recently expressed regret for the "failed intelligence" which led to the invasion of Iraq and has received heavy criticism over the scale and depth of the economic downturn in the United States.

millions of monkeys

millions of monkeys
Asset B30306 Posted By bacchus

Once upon a time a man appeared in a village and
announced to the villagers that he would buy monkeys
for $10 each.
The villagers, seeing that there were many monkeys around, went out to the forest and started catching them. The man bought thousands at $10 and, as supply started to diminish, the villagers stopped their effort. He next announced that he would now buy monkeys at $20 each. This renewed the efforts of the villagers and they started catching monkeys again. Soon the supply diminished even further and people started going back to their farms. The offer increased to $25 each and the supply of monkeys became so scarce it was an effort to even find a monkey, let alone catch it! The man now announce d that he would buy monkeys at $50 each! However, since he had to go to the city on some business, his assistant would buy on his behalf. In the absence of the man, the assistant told the villagers: ‘Look at all these monkeys in the big cage that the man has already collected. I will sell them to you at $35 and when the man returns from the city, you can sell them to him for $50 each.’ The villagers rounded up all their savings and bought all the monkeys for 700 billion dollars.

They never saw the man or his assistant again, only
lots and lots of monkeys!

Now you have a better understanding of how the

Saturday, December 27, 2008


Why OO was popular

Why OO was popular?
Reason 1 - It was thought to be easy to learn.
Reason 2 - It was thought to make code reuse easier.
Reason 3 - It was hyped.
Reason 4 - It created a new software industry.

I see no evidence of 1 and 2. Reasons seem to be the driving force behind the technology. If a language technology is so bad that it creates a new industry to solve problems of its own making then it must be a good idea for the guys who want to make money.

This is is the real driving force behind OOPs.
Why OO Sucks by Joe Armstrong

(Note: This is a copy of the original that used to live at

When I was first introduced to the idea of OOP I was skeptical but didn't know why - it just felt "wrong". After its introduction OOP became very popular (I will explain why later) and criticising OOP was rather like "swearing in church". OOness became something that every respectable language just had to have.

As Erlang became popular we were often asked "Is Erlang OO" - well, of course the true answer was "No of course not" - but we didn't to say this out loud - so we invented a serious of ingenious ways of answering the question that were designed to give the impression that Erlang was (sort of) OO (If you waved your hands a lot) but not really (If you listened to what we actually said, and read the small print carefully).

At this point I am reminded of the keynote speech of the then boss of IBM in France who addressed the audience at the 7th IEEE Logic programming conference in Paris. IBM prolog had added a lot of OO extensions, when asked why he replied:

"Our customers wanted OO prolog so we made OO prolog"

I remember thinking "how simple, no qualms of conscience, no soul-searching, no asking "Is this the right thing to do" ...
Why OO sucks

My principle objection to OOP goes back to the basic ideas involved, I will outline some of these ideas and my objections to them.
Objection 1 - Data structure and functions should not be bound together

Objects bind functions and data structures together in indivisible units. I think this is a fundamental error since functions and data structures belong in totally different worlds. Why is this?

*Functions do things. They have inputs and outputs. The inputs and outputs are data structures, which get changed by the functions. In most languages functions are built from sequences of imperatives: "Do this and then that ..." to understand functions you have to understand the order in which things get done (In lazy FPLs and logical languages this restriction is relaxed).
Data structures just are. They don't do anything. They are intrinsically declarative. "Understanding" a data structure is a lot easier than "understanding" a function.

Functions are understood as black boxes that transform inputs to outputs. If I understand the input and the output then I have understood the function. This does not mean to say that I could have written the function.

Functions are usually "understood" by observing that they are the things in a computational system whose job is to transfer data structures of type T1 into data structure of type T2.

Since functions and data structures are completely different types of animal it is fundamentally incorrect to lock them up in the same cage.
Objection 2 - Everything has to be an object

Consider "time". In an OO language "time" has to be an object. But in a non OO language a "time" is a instance of a data type. For example, in Erlang there are lots of different varieties of time, these can be clearly and unambiguously specified using type declarations, as follows:
-deftype day() = 1..31.
-deftype month() = 1..12.
-deftype year() = int().
-deftype hour() = 1..24.
-deftype minute() = 1..60.
-deftype second() = 1..60.
-deftype abstime() = {abstime, year(), month(), day(), hour(), min(), sec()}.
-deftype hms() = {hms, hour(), min(), sec()}.

Note that these definitions do not belong to any particular object. they are ubiquitous and data structures representing times can be manipulated by any function in the system.

There are no associated methods.
Objection 3 - In an OOPL data type definitions are spread out all over the place

In an OOPL data type definitions belong to objects. So I can't find all the data type definition in one place. In Erlang or C I can define all my data types in a single include file or data dictionary. In an OOPL I can't - the data type definitions are spread out all over the place.

Let me give an example of this. Suppose I want to define a ubiquitous data structure. ubiquitous data type is a data type that occurs "all over the place" in a system.

As lisp programmers have know for a long time it is better to have a smallish number of ubiquitous data types and a large number of small functions that work on them, than to have a large number of data types and a small number of functions that work on them.

A ubiquitous data structure is something like a linked list, or an array or a hash table or a more advanced object like a time or date or filename.

In an OOPL I have to choose some base object in which I will define the ubiquitous data structure, all other objects that want to use this data structure must inherit this object. Suppose now I want to create some "time" object, where does this belong and in which object...
Objection 4 - Objects have private state

State is the root of all evil. In particular functions with side effects should be avoided.

While state in programming languages is undesirable, in the real world state abounds. I am highly interested in the state of my bank account, and when I deposit or withdraw money from my bank I expect the state of my bank account to be correctly updated.

Given that state exists in the real world what facilities should programming language provide for dealing with state?
OOPLs say "hide the state from the programmer". The states is hidden and visible only through access functions.
Conventional programming languages (C, Pascal) say that the visibility of state variables is controlled by the scope rules of the language.
Pure declarative languages say that there is no state.

The global state of the system is carried into all functions and comes out from all functions. Mechanisms like monads (for FPLs) and DCGs (logic languages) are used to hide state from the programmer so they can program "as if state didn't matter" but have full access to the state of the system should this be necessary.

The "hide the state from the programmer" option chosen by OOPLs is the worse possible choice. Instead of revealing the state and trying to find ways to minimise the nuisance of state, they hide it away.
Why OO was popular?
Reason 1 - It was thought to be easy to learn.
Reason 2 - It was thought to make code reuse easier.
Reason 3 - It was hyped.
Reason 4 - It created a new software industry.

I see no evidence of 1 and 2. Reasons seem to be the driving force behind the technology. If a language technology is so bad that it creates a new industry to solve problems of its own making then it must be a good idea for the guys who want to make money.

This is is the real driving force behind OOPs.
Powered by werc

Retailers' sales fell as much as 4 percent during the holiday season FUCK FED BAILOUT WE DIDNT NEED

Retailers' sales fell as much as 4 percent during the holiday season, as the weak economy and bad weather created one of the worst holiday shopping climates in modern times.

Friday, December 26, 2008

NASA launches the last of its deep space probes

may's law author transputer

BUCK ROGERS in the 25TH CENTURY (1935)

May's Law: Software efficiency halves every 18 months, compensating Moore's Law.

May's Law: Software efficiency halves every 18 months, compensating Moore's Law.

oo sucks

oriental babe - is she a 10

Thursday, December 25, 2008

T shirt: object-oriented design is the roman numerals of computing. -- Rob Pike

object-oriented design is the roman numerals of computing.

-- Rob Pike

Many (open source) hackers are proud if they achieve large amounts of code, because they believe the more lines of code they've written, the more progress they have made. The more progress they have made, the more skilled they are. This is simply a delusion.

5 or 7 in a rotation

5 or 7 in a rotation

guild wars

Video Game Review by (What's this?)
Learn more about this game at
Guild Wars

By 1UP Staff -- 10/5/2005
It took a while, but the MMO tide is turning in favor of the gamer, thanks to the arrival of Guild Wars, a game that breaks the massively-multiplayer mold. Developed by ArenaNet (former Blizzard employees whose collective resume extends to games like Diablo II and servers like, Guild Wars simplifies the way we quest, while finessing and improving the genre's game mechanics so that they're digestible to the masses, and satisfying to MMO vets as well.

Guild Wars, to be accurate, is not massively multiplayer, since the actual exploratory areas are instanced. But it is multiplayer, with parties initially limited to groups of two, then expanding to four (post-Searing). The group size later increases to 6 in Kryta and 8 for the desert and fire island regions, while guild vs. guild combat is designed for 8 player groups, as is the tournament PvP. But Guild Wars is much more than simple grouping and grinding. It's really a revolution in online gaming. Let us count the ways.

No fee. This "feature" alone was enough to send shockwaves through the industry upon its announcement. Over the last five or six years, subscribers of MMOs have been programmed to think that they need to pay upwards of ten dollars a month to perpetuate the injection of content into their game of choice. This despite games like Diablo II played eternally after purchase without the need for a monthly charge. Of course, games like Diablo II don't have massive monthly, or bimonthly events/updates/patches to download, but even so, there's an even greater benefit to this financial paradigm: no one is compelled to quit. In most MMOs, the fact that you're paying monthly applies a certain stress to appear every night, to get the most out of the game as possible. Few gamers (especially ones on a budget) are comfortable with the notion of letting an MMO subscription sit idly by as the dollars slip away. Every night you hear people threatening to quit, either because 1) they're burnt out from making the most of their dollars, or 2) feeling like they're not getting their moneys worth. Granted, $10 a month isn't a lot, compared to how much you pay for an hour and a half at a movie theater watching Tom Cruise emote, but ArenaNet's stance of "why keep paying for a game you've already bought" is a stance worth cheering about.

It runs great on nearly any system. It helps encourage a rabid fan base to play your game when your game is playable by any and all. Of course, someone who has yet to upgrade his 233mhz Pentium II is going to find himself hard-pressed to even get the login screen to load up here, but anyone with the minimum specs listed on the box (Windows XP/2000/ME/98, Intel Pentium III 800 Mhz, 256 MB RAM, CD-ROM Drive, 2 GB Available HDD Space, ATI Radeon 8500 or GeForce 3 or 4 MX Series Video Card with 32MB of VRAM, 16-bit Sound Card) will be up and running in no time. And if you've got the recommended PC set-up, you'll be playing one of the most beautiful video games in existence.

It's freaking beautiful out there. Guild Wars, to be precise, is gorgeous. From the sharp, detailed character models to the realistic, immaculately detailed environments, this is one of the most involving, engaging worlds ever conceived in polygons. It's a hell of a lot sharper than Square's three year-old FFXI (designed for PS2), way sexier than EverQuest (1 or 2), and a lot less cartoony than Blizzard's World of WarCraft. Every character class is detailed to a stunning degree, and if you've got the texture-quality set on high, every last crevice from the stitching on your character's armor to the emblem on his guild cape (provided you have one) shines through with stunning clarity.

The character designs are mostly excellent too, with the female classes getting the better end of the stick, with their catwalk-ready physiques, Maxim-worthy hairstyles and painted-on outfits. A couple job classes, like Warriors and Rangers, look neanderthal-ian and tree-huggish, respectively, but fare better once armor has been changed. Other job classes, like mesmers, necromancers and elementalists look wicked from the get-go, and get even better-looking with each armor upgrade. Details, like the cape animations and individual spell effects look awesome in action. And the bloom-lighting, which is in danger of being the most overworked new special effect of the generation (see: Jade Empire) looks fantastic here. It's practically impossible to take a bad Guild Wars screenshot.

Gameplay evolved. The gameplay in Guild Wars takes the best ideas from games like Diablo II (or WarCraft 3, or any Blizzard game with hotkeys) and marries this clean, user-friendly interface to simple ASWD, point, click and attack functionality. Each character class (with primary and secondary job skills) can learn hundreds of abilities and skills, both offensive and defensive in nature. The limitation is you can only bring 8 of these into battle, requiring players to first customize their skillbar in town before setting out into the wild. Customizing your skillbar is a simple drag and drop process, and if this portion (or any portion) of the HUD is too big or small or inconveniently placed for your tastes, the options menu lets you customize the size and placement of each individual interface module. Learning what spells work best for your particular job arrangement (Elementalist/Warrior anyone?) takes a little practice, but once you're comfortable with a particular set (or sets), the impending battles to come are a blast.

Whether you're partied with friends, strangers, or hired NPC henchmen, finding things to kill (if you're simply grinding) is a simple matter of pressing CTRL to highlight enemies within reach, or checking for red dots on the map. When you're in range of one, a quick click on its name will cause your character to attack it, and any accompanying NPC allies to do the same. While the game more closely resembles World of WarCraft's relative free-for-all, as opposed to FFXI's more coordinated skillchains and magic bursts, it still takes a balanced party to survive in GW. Having a healer on hand as well as a Warrior to absorb punishment allows character classes like elementalists and rangers to nuke from afar. And necromancers can bring a host of undead allies to the scene while mesmers can enfeeble mobs in a staggering variety of ways.

Grouping up for guild battles takes the game into the realm of player-versus-player, and is, for many gamers, the big draw of Guild Wars. Fighting against other guilds, keeping the favor of the gods in your territory of choice (America, Korea, Europe, etc.) has its rewards, primarily in ranking, and stature in the game world. But even if lining up your guild's best players against another guild's isn't your cup of tea, Guild Wars' quests are more than enough to keep you busy playing for a long time.

It's a big world out there. While the early levels (about up to level 8, out of 20) in the pre-Searing world are quickly "beaten," they do a good job of getting gamers up to speed with the Guild Wars brand of navigation and travel. It also gives a hint at the size and scale of the game world. Once players have graduated from the Academy, and triggered the post-Searing experience (the world goes from Happy Fuzzy to post-Apocalyptic), the geography of the game world expands dramatically, by at least 400 percent if not more. While this collective landmass might not be as large as the competition's -- yet -- it'll keep even the most adventurous traveler hiking for months to come.

The difference between Guild Wars and it's closest competition, World of WarCraft, is how the quests acquired in GW don't feel like fetch-quests. WoW, to be frank, is populated by the laziest collection of NPCs you've ever met. "Hi, I need X amount of these and Y amount of those. Could you be a dear and get it for me?" Sure, Guild Wars has some of that, but it doesn't feel nearly as contrived. Maybe it's because GW spruces things up with contextual missions that seem to have an impact on 1) your progress, and 2) the story. Wary of the dreaded escort mission? Fear not! Ascalon's Prince Rurik takes up arms along side you, while bringing a small collection of soldiers to accompany you in your quest objectives. That's not to say that other MMOs don't achieve similar things, but GW's objectives feel fresh.

The secret's in the sauce. While the game is beautiful, runs smooth as silk, and is a joy to play singly or with friends, it's Guild Wars' mighty list of minor details that make it so good. These details were obviously designed to keep the game as enjoyable and stress-free as possible, and elevates the game in ways other MMOs haven't touched. Little things, like the user customizable HUD is a good start, but then so are things like Rangers not having to buy arrows for their bows. That's a good thing since money is scarce. Other things, like being able to warp from city to city saves players a lot of time they might spend running in other games. Since there's no monthly fee, why waste players time? This is a really good thing. So is the map in the upper right-hand corner which you can actually draw on to help other party members get a bead on your location, or find a hard-to-locate NPC. But other technical features, like the game loading little patches and updates to your computer, invisibly and efficiently while you're playing, save players from having to download time-killing 5 gig updates like they do elsewhere. It's easy to get into the game too, type your password, pick your character, and boom you're in, not struggling to get past an overwrought user interface via pages and pages and pages of confirmations as in FFXI's case. The makers of Guild Wars want you to play their game, and it's evident in the speed in which you can.

Smarter than the next guy. One thing that must be mentioned is how intelligent the hired henchmen are in Guild Wars. If you lack the friends or patience to play with other players, a full party is little more than a few clicks away, allowing you to flesh out your party (post-Searing) with a ranger, mage, healer and/or warrior. Each of these NPCs plays about as effectively as a real life player would, and impressively so. During one fiercely contested battle outside of post-Searing Ascalon, our own character died in the chaos. Eventually so too did the healer. The mage and warrior were the only ones left amidst a pack of scorpion-like monsters, with little ability to heal at their disposal. Amazingly, they fought back, concentrating on one scorpion until it was dead, evening the odds slightly to two to three. Somehow they chipped away at the others, swiftly, smartly, until the tables were turned, flipping near defeat into hard won victory. The mage then used his resurrection signet to raise the healer (smart move) who then raised our own dead character. Seeing your NPC allies play intelligently keeps "soloing" nearly as engaging as playing with a live crew. And did we mention how lightning-quick the load times are? Well they are.

Another significant element of Guild Wars that keeps it a treat to play is that everyone's world is instanced, meaning that once you step outside the boundaries of the main towns (the only places where Guild Wars is truly massively multiplayer), only you and your party inhabit the game area with the exception of the monsters and NPCs. While this may sound like a very simple thing, and it is (and it's something Diablo II and Phantasy Star Online did before it) it keeps things fair and square for everyone. Even the items that monsters drop are pre-assigned to players in your group, who can then trade things after battle. This keeps the greed factor low, and also prevents a monopoly on monster camping, since players have no need to compete with other gamers for the elite goods. With other MMOs cultivating the detestable currency-farming trend, it's wonderful to play a game where there can be NONE of that. There's no chance of artificial in-game economy inflation, and you won't have to deal with the greed that drives many players to unsavory deeds, like MPKing other groups or parties. Score one for the little guy.

The good, the bad, and the not so great. If Guild Wars stumbles in any area, it's perhaps that the drops (usually weapons and accessories) are sort of lackluster. There's little in the way of uber-cool items to be found early in the game, with most items little more than salvage fodder (items can be broken down into their bare elements to craft more powerful weapons and gear). The same goes for the equipment, although variety is found in the use of dyes to color individual pieces of gear. Updates and patches and, we expect, expansions, will address these minor concerns, so all is not lost. The game puts a priority on savvy use of skills, and not how awesome one's equipment is, and that raises the priority on ability over gear, which is a considerate design choice.

Another minor nibble at Guild Wars is that the collision-detection occasionally and frequently sucks: with players getting stuck on shrubbery, in-between rocks, and more often than not forcing you to warp to a homepoint, which is a pain if it's taken you a while to clear a path towards a quest objective.

Perhaps the biggest concern is just how long the legs on this thoroughbred are, which shouldn't be a surprise considering the level cap is currently 20, and it doesn't take anyone more than a few days to get to level 10. World of WarCraft is suffering from servers full of maxed-out characters (as well as still-incredible latency issues) mere months after its release, and Guild Wars will likely face a similar fate. Of course, there's always the guild versus guild dynamic to keep players busy until an update or expansion arrives, but given the size of the post-Searing world, it'll be a while before gamers exhaust their quest-related options.

The Perfect Balance. Few games of this nature began their life so smoothly, as even the massive influx of players on launch date and beyond did little to disrupt the enjoyment of the game. Think back a few months to WoW's release and you may better appreciate just how glitch-free Guild War's beginnings were. You can attribute this to the clever way in which ArenaNet's technology allocates players to the least crowded servers when they warp back to a town. It makes it a little bit of a pain to have to reform a party in a specific district, but it's an easy pill to swallow given how painless it is to switch "servers." In total, Guild Wars is a sexy, streamlined new entry into an increasingly crowded genre. It sends a message to the industry, loud and clear, that you can bring large amounts of people together to enjoy a smart and simple game (with a subtle depth) that rewards you with every step. Other games may have done some things bigger and better, but with those plusses come a whole batch of cons. Guild Wars strikes what might be the perfect balance between the massive and the multi. If ArenaNet/NCSoft wanted to cultivate a dedicated and loyal fanbase, they certainly put all the right pieces in place. A technological showcase, a fun and attractive game, and a generous olive branch to the consumer, Guild Wars is more good things than any one MMO has a right to be. Rich with potential and ripe with features bursting from the vine, Guild Wars redefines, going forward, what to expect from an online adventure. Anything less would be not enough.

ray allen and rondo need to pass to kg and pp

Wednesday, December 24, 2008

adjust your ambition up to where it was at 18

adjust your ambition up to where it was at 18

theo on software -- this guy kicks ass

is linux for losers?

regular guy 1 lawyers 0

Today, de Raadt encourages wireless users to "buy Taiwanese", due to lack of willingness from US companies like Intel and Broadcom to release firmware

Free driver advocacy

De Raadt is also well known for his advocacy of free software drivers. He has long been critical of developers of Linux and other free platforms for their tolerance of non-free drivers and acceptance of non-disclosure agreements.

In particular, de Raadt has worked to convince wireless hardware vendors to allow their product firmware to be redistributable freely. These efforts have been largely successful, particularly in negotiations with Taiwanese companies, leading to many new wireless drivers. Today, de Raadt encourages wireless users to "buy Taiwanese", due to lack of willingness from US companies like Intel and Broadcom to release firmware free from licensing restrictions.

Linus Torvalds wrote:

Linus Torvalds wrote:

> Ehh.. Telling people "don't do that" simply doesn't work. Not if they can

> do it easily anyway. Things really don't get fixed unless people have a

> certain pain-level to induce it to get fixed.

Umm... How about the following: you hit delete on patches that introduce

new ioctls, I help to provide required level of pain. Deal?

- Al Viro on linux-kernel

Lisp hacks

Kiwi Fruit for America

Kiwi Fruit for America Font Size:

By Kristyn Birrell : BIO| 23 May 2007

Discuss This Story! (3) Email | Print | Bookmark | Save

Once upon a time, in a country way, way down under, the government dismantled its system of agricultural subsidies and supports. Initially, cries of outrage and disbelief were heard from farmers all across the land.

For more than 20 years, farm assistance had steadily increased, peaking at 33 percent of total farm output (about double the level of assistance in the U.S. today). Then, with one swift and decisive decree, all subsidies were eliminated.

The transition period, which lasted about 6 years, was not easy, but it was less painful than expected. The government predicted a 10 percent failure rate, but only 1 percent of farms went of business. Government assistance during the transition period was limited to one-off "exit grants" for those leaving their farms, financial advice, and the same social welfare income support afforded to all citizens.

The fortune of farmers now depended on their ability to meet consumers'

demands. Overproduction no longer occurred. One year, under the subsidy regime, six million lambs were rendered into fertilizer because no one wanted them; sheep farming had been the crown prince of the subsidy king. Without subsidies farmers were forced to diversify and produce those goods that were most sought after in the marketplace. Sheep stock decreased, while the number of dairy cows increased. Over time, the agricultural sector diversified into not only new crops and livestock, but also rural tourism.

Production decisions, though, were constrained by the type of land being farmed. In order to be competitive, farmers had to keep costs down and this meant using resources efficiently. Subsidies for fertilizer had resulted in its wasteful application. Without subsidies, fertilizer use decreased, water quality increased, and yields were not affected. Additionally, farmers fit their production to the land. Marginal land, which was only farmed to receive subsidies, went out of production and reverted to native bush.

Competition also drove innovation, and farm productivity improved substantially. Labor productivity nearly doubled, and land productivity increased 85 percent. Lamb carcass weights rose 34 percent, and the quantity of milk solids produced per dairy cow increased by more than 30 percent.

Annual productivity gains before reform were about 1.5 percent. For the first 9 years after reform, they averaged 6 percent -- higher than any other sector in the country's economy.

Many had worried that the end of subsidies would destroy agriculture in the country, yet the agricultural sector grew as a percentage of GDP. Today approximately 90 percent of farm output is exported, making up more than 55 percent of total merchandise exports. Productivity gains have allowed farmers to remain competitive in a world market where they compete with farmers in subsidized countries. Real farm incomes have recovered, and in some sectors income is even higher than it was under subsidies.

Instead of disappearing into the mists, the country's farm sector became known throughout the world for high-quality, innovative, and efficient agricultural practices. After the initial failures, farm numbers held constant, and the amount of land in agriculture fell only slightly as marginal land went out of production. Decreases in farm employment have been offset by increases in employment in rural tourism. Thus, the percentage of the population living in rural areas remains virtually unchanged. Real land values, which initially plummeted, have recovered and surpassed their pre-reform level.

Over time, nearly all embraced the idea of a market-driven agricultural sector. Farmers learned not only how to survive, but to thrive in a subsidy-free world. Common sentiment now is that subsidy elimination was "the best thing that ever happened to farming."

A prosperous farm sector without government subsidies? Sounds too good to be true...sounds like a fairy tale. It's not. In 1985, New Zealand permanently eliminated 30 different agricultural production subsidies and export incentives. Over the past 20 years, as New Zealand's farms flourished without assistance, the opportunity cost to American consumers and taxpayers of U.S. farm programs has totaled more than $1.7 trillion. With the 2007 Farm Bill, our government has the opportunity to make much needed reforms to farm policy. We could do worse than look to New Zealand's policy tale for guidance. Like any good fairy tale there is more to take away from their experience than just the story.

Kristyn Birrell is the Publications & Program Coordinator at the Foundation for Research on Economics and the Environment (FREE), based in Bozeman, Mont.

You want to make your way in the CS field? Simple. Calculate rough time of amnesia (hell, 10 years is plenty, probably 10 months is plenty), go t

You want to make your way in the CS field? Simple. Calculate rough time of

amnesia (hell, 10 years is plenty, probably 10 months is plenty), go to the

dusty archives, dig out something fun, and go for it. It's worked for many

people, and it can work for you.

-- Ron Minnich

It seems that UNIX has become the victim of cancerous growth at the hands of organizations such as UCB. 4.2BSD is an order of magnitude larger than V

UNIX Style, or cat -v Considered Harmful

At the USENIX Summer Conference of 1983 Rob Pike made a presentation titled 'UNIX Style, or cat -v Considered Harmful' and together with Brian Kernighan wrote the paper 'Program Design in the UNIX Environment' (pdf version, ps version).

This was a prelude for their famous book Unix Programming Environment (Prentice-Hall Software Series) that today is considered the bible of Unix.

Unfortunately their advice has been completely ignored, and today Unix has become overcome by exactly the kind of mistakes they warned against.
Bell Laboratories

Murray Hill, NJ (dec!ucb)wav!research!rob

It seems that UNIX has become the victim of cancerous growth at the hands of
organizations such as UCB. 4.2BSD is an order of magnitude larger than Version
5, but, Pike claims, not ten times better.

The talk reviews reasons for UNIX's popularity and shows, using UCB cat as a
primary example, how UNIX has grown fat. cat isn't for printing files with line
numbers, it isn't for compressing multiple blank lines, it's not for looking at
non-printing ASCII characters, it's for concatenating files.

We are reminded that ls isn't the place for code to break a single column into
multiple ones, and that mailnews shouldn't have its own more processing or joke
encryption code.

Rob carried the standard well for the "spirit of UNIX," and you can look
forward to a deeper look at the philosophy of UNIX in his forthcoming book.

what happens when you remove farm subsidies -- look

A program that produces incorrect results twice as fast is infinitely slower. -- John Osterhout

A program that produces incorrect results twice as fast is infinitely slower.

-- John Osterhout

The essence of XML is this: the problem it solves is not hard, and it does not solve the problem well. -- Phil Wadler, POPL 2003

The essence of XML is this: the problem it solves is not hard, and it does not
solve the problem well.

-- Phil Wadler, POPL 2003

werc minimalist content management system (CMS) with a web interface implemented using the rc shell and the Plan 9 from Bell Labs tools provided as pa


Werc is a minimalist content management system (CMS) with a web interface implemented using the rc shell and the Plan 9 from Bell Labs tools provided as part of Plan 9 from User Space.

Originally developed for it has become more generalized. One of its major features is the easy management of multiple domains and virtual hosts from a single installation.

It is designed to be simple yet flexible while keeping setup easy (untar, configure httpd, create a directory for your site and start adding content right away).

It can also handle, plain text, markdown (or other user configurable markup) and integrate existing html files into the same site.

The goal is to provide a consistent interface for all documents while staying out of your way and avoiding any repetitive work.

See the downloads page for tarballs of all releases. See the hg web interface below to get a copy of the latest development source.
(More or less idiosyncratic) Features
Purely file system based, all documents are stored in a file tree as plain text files (.html files and .txt files are also handled and integrated transparently), no need for any database.
Also allows for dynamically generated pages/scripts/applications that can take advantage of the framework (for an example see the dynamically generated gsoc project status table).
Easy embedding of pre-existing html documents into the framework.
Easy management of multiple domains/sub-domains/virtual-hosts from a single installation (just add another directory under sites/), and easy sharing of templates and files among sites.
Markdown templating plus template cache (thanks Mechiel!) to make up for dog-slow markdown implementations.
Automatic sitemap generation.
Bloging system including rss feeds.
More that I probably have forgotten about.

We have persistant objects, they're called files. -- ken

We have persistant objects, they're called files.

-- ken

Controlling complexity is the essence of computer programming. -- Brian Kernigan

Controlling complexity is the essence of computer programming.

-- Brian Kernigan

object-oriented design is the roman numerals of computing.

-- Rob Pike

There are two ways of constructing a software design: One way is to make it so
simple that there are obviously no deficiencies and the other way is to make it so
complicated that there are no obvious deficiencies.

-- C.A.R. Hoare, The 1980 ACM Turing Award Lecture

The cheapest, fastest, and most reliable components are those that aren't there.

-- Gordon Bell

One of my most productive days was throwing away 1000 lines of code.

-- Ken Thompson

When in doubt, use brute force

-- Ken Thompson

We have persistant objects, they're called files.

-- ken

If you want to go somewhere, goto is the best way to get there

-- ken

The X server has to be the biggest program I've ever seen that doesn't do anything
for you.

-- ken

A smart terminal is not a smartass terminal, but rather a terminal you can educate

-- Rob Pike

object-oriented design is the roman numerals of computing.

-- Rob Pike

Not only is UNIX dead, it's starting to smell really bad.

-- Rob Pike circa 1991

cat came back from Berkeley waving flags

-- Rob Pike

The most effective debugging tool is still careful thought, coupled with
judiciously placed print statements.

-- Brian W. Kernighan, in the paper Unix for Beginners (1979)

Debugging is twice as hard as writing the code in the first place. Therefore, if
you write the code as cleverly as possible, you are, by definition, not smart
enough to debug it.

-- Brian W. Kernighan

Controlling complexity is the essence of computer programming.

-- Brian Kernigan

Beauty is more important in computing than anywhere else in technology because
software is so complicated. Beauty is the ultimate defence against complexity.

-- David Gelernter

UNIX was not designed to stop its users from doing stupid things, as that would
also stop them from doing clever things.

-- Doug Gwyn

If you're willing to restrict the flexibility of your approach, you can almost
always do something better.

-- John Carmack

And folks, let's be honest. Sturgeon was an optimist. Way more than 90% of code
is crap.

-- viro []

A data structure is just a stupid programming language.

-- R. Wm. Gosper

The essence of XML is this: the problem it solves is not hard, and it does not
solve the problem well.

-- Phil Wadler, POPL 2003

A program that produces incorrect results twice as fast is infinitely slower.

-- John Osterhout

Life is too short to run proprietary software.

-- Bdale Garbee

And my orders are to weed out all non-hackers who do not pack the gear to serve in
my beloved Corps!

-- Master Gunnery Sergeant Boyd Hartman

God-awful Compiler Crap

I had a nightmare once in which I a had convinced a friend how wonderful C++ is.
A while later he came back., and he was mad.

-- Robin Rosenberg

I always viewed HURD development like the Special Olympics of free

XML is like violence: if it doesn't solve your problem, you aren't using enough of

-- Heard from someone working at M$

threads [and] signals [are] a platform-dependant trail of misery, despair, horror
and madness

-- Anthony Baxter []

Computers are about making life easier in much the same way that the Republican
party is about fiscal responsibility and a culture of life.

-- mister_borogove

The Internet is not for sissies.

-- Paul Vixie

All software sucks, be it open-source [or] proprietary. The only question is what
can be done with particular instance of suckage, and that's where having the
source matters.

-- viro []

C++ damages the brain ... -- EWD

the computing scientist's main challenge is not to get confused by the
complexities of his own making

-- E. W. Dijkstra

In computer science, we stand on each other's feet.

-- Brian Reid

it's not that perl programmers are idiots, it's that the language rewards idiotic
behavior in a way that no other language or tool has ever done

-- Erik Naggum, comp.lang.lisp

Out-of-band == should be on a separate channel...

-- Al Viro

It's a curious thing about our industry: not only do we not learn from our
mistakes, we also don't learn from our successes.

-- Keith Braithwaite

Ethernet always wins.

-- Andy Bechtolsheim

The central enemy of reliability is complexity.

-- Geer et al.

Simplicity is prerequisite for reliability.

-- Edsger W. Dijkstra

Beware of "the real world". A speaker's apeal to it is always an invitation not
to challenge his tacit assumptions.

-- Edsger W. Dijkstra

Unix is a junk OS designed by a committee of PhDs

-- Dave Cutler

i've wondered whether Linux sysfs should be called syphilis

-- forsyth

A program is portable to the extent that it can be easily moved to a new computing
environment with much less effort than would be required to write it afresh.

-- W. Stan Brown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The Eight Fallacies of Distributed Computing

Essentially everyone, when they first build a distributed application, makes

the following eight assumptions. All prove to be false in the long run and all

cause big trouble and painful learning experiences.

1. The network is reliable

2. Latency is zero

3. Bandwidth is infinite

4. The network is secure

5. Topology doesn't change

6. There is one administrator

7. Transport cost is zero

8. The network is homogeneous

-- Peter Deutsch

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

From: (Russ Cox)

Subject: Re: [9fans] design clairvoyance & the 9 way

Date: Thu, 8 May 2003 04:05:31 GMT

> What does tomorrow's unix look like?

I'm confident that tomorrow's Unix will look like today's Unix, only cruftier.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

You want to make your way in the CS field? Simple. Calculate rough time of

amnesia (hell, 10 years is plenty, probably 10 months is plenty), go to the

dusty archives, dig out something fun, and go for it. It's worked for many

people, and it can work for you.

-- Ron Minnich

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

From: Alexander Viro

Subject: Re: ANNOUNCE: Linux Kernel ORB: kORBit

Date: Sat, 9 Dec 2000 00:39:36 -0500 (EST)


Yeah... "Infinitely extendable API" and all such. Roughly translated

as "we can't live without API bloat". Frankly, judging by the GNOME

codebase people who designed the thing[GNOME] are culturally incompatible with


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

> What's wrong with perl?

It combines all the worst aspects of C and Lisp: a billion different

sublanguages in one monolithic executable. It combines the power of

C with the readability of PostScript.

> To me perl is the triumph of utalitarianism.

So are cockroaches. So is `sendmail'.

-- jwz []

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

From: ron minnich

Date: Wed, 3 Mar 2004 06:05:39 -0700 (MST)

Subject: [9fans] microkernels

are they the O-O of the OS world? Always the promises ...


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Subject: Re: BK, deltas, snapshots and fate of -pre...

From: Alexander Viro (

Date: Sun Apr 21 2002 - 01:27:56 EST



Sigh... When it comes to software there are three systems of beliefs.

One of them:

* Thou shalt know by your heart that all software sucks.

* Beware of those who say that their software does not suck, for they

are either fools or liars.

* Beware of those who give you garments and do not allow to mend them,

for sooner or later thou shalt find what needs mending.

* But beware also of those who give you badly rotten garments and say

"Thou shalt prefer that above everything, for thou art allowed to

mend it".

* Thou shalt not treat software as a living being, for it is not one.

* Choose a license of thine liking for sofware thou writest and do not

blame those who choose differently for software they write.

* Know when to say "It can be mended, I shalt do that" and when to

say "It is rotten beyond repair".

* Choose free over non-free when it is better or when thou art willing

to fix what is broken.

* When shit happens, think how to fix it.


* All software wants to be free

* Thou shalt not use non-free software

* Thou shalt not mention non-free software

* Thou shalt make all thine software free

* Thou shalt choose free above working, even if free one is broken

beyond repair

* When shit happens, add new features

and the last one:

* Our 3133t! K3wl! Software! Does Not Suck!!!

* Always choose our software above everything else

* When shit happens, we add new features

If you happen to believe in second variant, you have my condolence as

long as you don't force your beliefs on everybody else. If you choose

to emulate door-to-door pests^H^H^H^Hreachers - don't expect to be

treated differently.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

People do have a right to put their code under whatever license they like.

Now, _I_ won't use the stuff I don't have a source for unless I have

exceptionally good reason to believe that authors of that stuff are

among the few percents of programmers who *can* find their arse without

outside help. But that has nothing to do with licensing or any moral

considerations and everything to the fact that I know what kind of crap

most of the software is.

- Al Viro on linux-kernel

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linus Torvalds wrote:

> Ehh.. Telling people "don't do that" simply doesn't work. Not if they can

> do it easily anyway. Things really don't get fixed unless people have a

> certain pain-level to induce it to get fixed.

Umm... How about the following: you hit delete on patches that introduce

new ioctls, I help to provide required level of pain. Deal?

- Al Viro on linux-kernel

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

James Simmons wrote:

> Crap can work. Given enough thrust pigs will fly, but it's not necessary a

> good idea. [ Alexander Viro on linux-kernel ]

Watch the attributions.

With sufficient thrust, pigs fly just fine.

However, this is not necessarily a good idea.

It is hard to be sure where they are going to land,

and it could be dangerous sitting under them as they fly overhead.

From RFC1925, R Callon, 1996.

- Al Viro on linux-kernel

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

In the same world where Vomit-Making System is elegant, SGI "designs" are

and NT is The Wave Of Future(tm). Pardon me, but I'll stay in our universe

and away from the drugs of such power.

- Al Viro on linux-kernel

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

> > Or even XML. Ouch! No need to throw things at me!


> It seems they would be thrown! XML in kernel is too much. OpenOffice and

They won't be thrown. They will be slowly driven under the nails, so that

victim could experience the joy equal to that of dealing with XML.

- Alexander Viro on linux-kernel

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

A Professor of Computer Science gave a paper on how he uses Linux to teach his

undergraduates about operating systems. Someone in the audience asked `why use

Linux rather than Plan 9?' and the professor's answer was approximately `Plan 9

looks like it was written by experts; Linux looks like something my students

could aspire to write'.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Computer: Your nominators and endorsers for the Kanai Award consistently

characterized your work as simple yet powerful. How do you discover such

powerful abstractions?

Thompson: It is the way I think. I am a very bottom-up thinker. If you give

me the right kind of Tinker Toys, I can imagine the building. I can sit there

and see primitives and recognize their power to build structures a half mile

high, if only I had just one more to make it functionally complete. I can see

those kinds of things.

The converse is true, too, I think. I can't from the building imagine the

Tinker Toys. When I see a top-down description of a system or language that

has infinite libraries described by layers and layers, all I just see is a

morass. I can't get a feel for it. I can't understand how the pieces fit; I

can't understand something presented to me that's very complex. Maybe I do

what I do because if I built anything more complicated, I couldn't understand

it. I really must break it down into little pieces.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

if you're capable of understanding `finalised virtual hyperstationary factory

class', remembering the Java class hierarchy, and all the details of the Java

Media Framework, you are (a) a better man than i am (b) capable of filling your

mind with large chunks of complexity, so concurrent programming should be

simple by comparison. go for it.

ps. i made up the hyperstationary, but then again, it's probably a design


-- forsyth

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

..At first I hoped that such a technically unsound project would collapse but I

soon realized it was doomed to success. Almost anything in software can be

implemented, sold, and even used given enough determination. There is nothing a

mere scientist can say that will stand against the flood of a hundred million

dollars. But there is one quality that cannot be purchased in this way -and

that is reliability. The price of reliability is the pursuit of the utmost

simplicity. It is a price which the very rich find most hard to pay.

- C.A.R. Hoare

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Deleted code is debugged code.

-- Jeff Sickel

Tuesday, December 23, 2008 Jupiter Ace

Knuth on Dijkstra

Paste number 72594: Knuth on Dijkstra

Index of paste annotations: 1

Paste number 72594: Knuth on Dijkstra
Pasted by: gigamonkey
11 minutes ago
Paste contents: Raw Source | XML | Display As
[00:15:37] Seibel: Dijkstra has a paper, “On truly teaching computer science” or something like that where he basically says, “We shouldn’t let computer science students touch a machine for the first years of their training, they should spend all their time manipulating symbols and find what it’s really about.”

[00:15:53] Knuth: Yeah, I know, but that’s not the way he learned either. You know that’s – it’s – okay, he said a lot of really great things and inspirational things, but he’s not always right and neither am I but a lot of – but my take on it is it goes much more general, that is take a scientist in any field and the scientist gets older and says, “Oh yes, some parts of my – some parts of the things that I’ve been doing have a real great pay-off and other things weren’t – I’m not using them anymore.” And so saying, “I’m not gonna let you have my students waste time on the stuff that it doesn’t make giant steps.” I’m not gonna talk about low-level stuff at all. I’m gonna say, you know, “These theoretical concepts that I learned that are really so powerful, that’s the whole story and forget about how I got to this point where I could use these great giant steps.” I think that’s a fundamental error made by scientists in every field. They don’t realize that when you’re learning something you’ve got to see something at all kind of levels and you’ve got to see – you’ve got to see the floor before you build the ceiling. I don’t know you – and that all goes into the brain and gets finally shoved down to the point where the older people forget that they needed that.

Annotations for this paste:
Annotation number 1: How editing works
Pasted by: gigamonkey
1 minute ago
Paste contents: Raw Source | Display As
[00:15:37] Seibel: Dijkstra has a paper, “On truly teaching computer science” where he basically says, we shouldn’t let computer science students touch a machine for the first years of their training, that they should spend all their time manipulating symbols.

[00:15:53] Knuth: I know, but that’s not the way he learned either. He said a lot of really great things and inspirational things, but he’s not always right. Neither am I but my take on it is much more general: Take a scientist in any field. The scientist gets older and says, “Oh yes, some of the things that I’ve been doing have a real great pay-off and other things I’m not using anymore. I’m not gonna have my students waste time on the stuff that doesn’t make giant steps. I’m not going to talk about low-level stuff at all. These theoretical concepts that I learned that are really so powerful – that’s the whole story; forget about how I got to this point where I could use these great giant steps.” I think that’s a fundamental error made by scientists in every field. They don’t realize that when you’re learning something you’ve got to see something at all kind of levels. You’ve got to see the floor before you build the ceiling. That all goes into the brain and gets shoved down to the point where the older people forget that they needed that.

look =related.

Monday, December 22, 2008

the stainless steel rat

the stainless steel rat

what can you do 16 hours a day? 30 days a month?

the answer is what perhaps you can be successful at

talent is overrated geoff colvin

Product Description
Expanding on a landmark cover story in Fortune, a top journalist debunks the myths of exceptional performance.

One of the most popular Fortune articles in many years was a cover story called “What It Takes to Be Great.” Geoff Colvin offered new evidence that top performers in any field--from Tiger Woods and Winston Churchill to Warren Buffett and Jack Welch--are not determined by their inborn talents. Greatness doesn’t come from DNA but from practice and perseverance honed over decades.

And not just plain old hard work, like your grandmother might have advocated, but a very specific kind of work. The key is how you practice, how you analyze the results of your progress and learn from your mistakes, that enables you to achieve greatness.

Now Colvin has expanded his article with much more scientific background and real-world examples. He shows that the skills of business—negotiating deals, evaluating financial statements, and all the rest—obey the principles that lead to greatness, so that anyone can get better at them with the right kind of effort. Even the hardest decisions and interactions can be systematically improved.

This new mind-set, combined with Colvin’s practical advice, will change the way you think about your job and career—and will inspire you to achieve more in all you do.

About the Author
Geoff Colvin, Fortune’s senior editor at large, is one of America’s most respected business journalists. He lectures widely and is the regular lead moderator for the Fortune Global Business Forum. A frequent guest on CNBC’s Squawk Box and other TV programs, Colvin appears daily on the CBS Radio Network, reaching seven million listeners each week. He also co-anchored Wall Street Week with Fortune on PBS for three years.

Hardware is Cheap, Programmers are Expensive

December 18, 2008
Hardware is Cheap, Programmers are Expensive

Given the rapid advance of Moore's Law, when does it make sense to throw hardware at a programming problem? As a general rule, I'd say almost always.

Consider the average programmer salary here in the US:

You probably have several of these programmer guys or gals on staff. I can't speak to how much your servers may cost, or how many of them you may need. Or, maybe you don't need any -- perhaps all your code executes on your users' hardware, which is an entirely different scenario. Obviously, situations vary. But even the most rudimentary math will tell you that it'd take a massive hardware outlay to equal the yearly costs of even a modest five person programming team.

For example, I just bought two very powerful servers for Stack Overflow. Even after accounting for a third backup server and spare hard drives for the RAID arrays, my total outlay is around $5,000. These servers, compared to the ones we're on now, offer:

roughly 50% more CPU speed
2 to 6 times the memory capacity
almost twice the disk space (and it's a faster RAID 10 array)
Under this new hardware regime, we can expect average page response times to improve by about half. All that for less than one month of an average programmer's salary.

I'd say that's a great deal. A no-brainer, even.

Incidentally, this is also why failing to outfit your (relatively) highly paid programmers with decent equipment as per the Programmer's Bill of Rights is such a colossal mistake. If a one-time investment of $4,000 on each programmer makes them merely 5% more productive, you'll break even after the first year. Every year after that you've made a profit. Also, having programmers who believe that their employers actually give a damn about them is probably a good business strategy for companies that actually want to be around five or ten years from now.

Clearly, hardware is cheap, and programmers are expensive. Whenever you're provided an opportunity to leverage that imbalance, it would be incredibly foolish not to.

Despite the enduring wonder of the yearly parade of newer, better hardware, we'd also do well to remember my all time favorite graph from Programming Pearls:

Everything is fast for small n. When n gets large, that's when things start to go sideways. The above graph of an ancient Trash-80 clobbering a semi-modern DEC Alpha is a sobering reminder that the fastest hardware in the world can't save you from bad code. More specifically, poorly chosen data structures or algorithms.

It won't hurt to run badly written code on the fastest possible boxes you can throw at it, of course. But if you want tangible performance improvements, you'll often have to buckle down and optimize the code, too. Patrick Smacchia's lessons learned from a real-world focus on performance is a great case study in optimization.

Patrick was able to improve nDepend analysis performance fourfold, and cut memory consumption in half. As predicted, most of this improvement was algorithmic in nature, but at least half of the overall improvement came from a variety of different optimization techniques. Patrick likens this to his early days writing demo scene code on the Commodore Amiga:

In the early 90s, I participated in the Amiga demo scene. It's a great illustration of the idea that there is always room for better performance. Every demo ran on the same hardware. It was the perfect incentive for demo developers to produce more and more optimized code. For several years, every month some record was beaten: the number of 3D polygons, the number of sprites, or the number of dots displayed simultaneously at the rate of 50 frames per second. Over a period of a few years, the performance factor obtained was around 50x! Imagine what it means to perform a computation in one second that originally took an entire minute. This massive gain was the result of both better algorithms (with many pre-computations and delegations to sub-chips) and micro-optimizations at assembly language level (better use of the chip registers, better use of the set of instructions).

Patrick achieved outstanding results, but let's be clear: optimizing your code is hard. And sometimes, dangerous. It is not something you undertake lightly, and you'd certainly want your most skilled programmers working on it. To put it in perspective, let's dredge up a few classic quotes.

Rules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet.
-- M.A. Jackson

"More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity."
-- W.A. Wulf

Programmers have a tendency to get lost in the details of optimizing for the sake of optimization, as I've noted before in Why Aren't My Optimizations Optimizing? and Micro-Optimization and Meatballs. If you're not extremely careful, you could end up spending a lot of very expensive development time with very little to show for it. Or, worse, you'll find yourself facing a slew of new, even more subtle bugs in your codebase.

That's why I recommend the following approach:

Throw cheap, faster hardware at the performance problem.
If the application now meets your performance goals, stop.
Benchmark your code to identify specifically where the performance problems are.
Analyze and optimize the areas that you identified in the previous step.
If the application now meets your performance goals, stop.
Go to step 1.

Always try to spend your way out of a performance problem first by throwing faster hardware at it. It'll often be a quicker and cheaper way to resolve immediate performance issues than attempting to code your way out of it. Longer term, of course, you'll do both. You'll eventually be forced to revisit those deeper algorithmic concerns and design issues with your code that prevent the application from running faster. And the advantage of doing this on new hardware is that you'll look like an even bigger hero when you deliver the double whammy of optimized code running on speedier hardware.

But until the day that Moore's Law completely gives out on us, one thing's for sure: hardware is cheap -- and programmers are expensive.

Sunday, December 21, 2008

The Fed’s Exploding Balance Sheet: What It Means and Reviving the Revolution

Home | Columnists | Blog | Subscribe | Podcasts

The Fed’s Exploding Balance Sheet: What It Means and Reviving the Revolution

by Michael S. Rozeff
by Michael S. Rozeff


Bernanke and Company, who are running the U.S. central bank, the Federal Reserve (Fed), have been very busy in the past year or so. The size of the bank has more than doubled since August of 2007. Their assets, mainly loans and credits they extend, have exploded from $902.4 billion to $2.17 trillion as of December 3, 2008.

The main idea behind all this lending is to prevent some large banks (and other financial institutions) from failing, shrinking, or restructuring. Behind this is the goal of maintaining the existing structure of banking and central banking. And behind that is the goal of maintaining government power and the existing political structure intact.

Preventing economic collapse and maintaining the bank lending to the public are not the central goals of those who understand these matters. These are important to the knowledgeable authorities only insofar as they support the goal of maintaining the existing power structure. There are, of course, ignorant economists who think that without government intervention, the economic and financial system cannot survive and we will all be wandering around in bearskins with spears. However, if the financial and economic system were to collapse and if the government and Fed did not interfere, a free market revival would occur with amazing rapidity. After all, the people, the labor, the land, and the capital goods are still here, not bombed out. If Tokyo, Hiroshima, Nagasaki, Berlin, and Dresden could rapidly recover after World War II, so can a freed-up U.S. economy. From this perspective, keeping the economy going is not per se what is important to those in power, because the economy will always keep itself going without these authorities and do a better job of it at that without them. What is important to them is keeping the existing economy going in that it is tied in to the existing power structure.

The alternative course of events is anathema to the Fed and the government. That course is to change the financial system at its roots and let alternative means of finance and financial intermediation arise spontaneously in a free market. That would spell the end of the Fed’s monopoly over the forced currency in the U.S. If this were to happen, every country in the entire world would have to follow suit if their economies were to survive and prosper, and that would mean a large diminution in government power and a fundamentally changed role for governments everywhere.

The public has given a vote of no confidence in many of these banks (and other firms) by shifting its assets out of loans to them and instead going into Treasury bills. The Fed is thwarting the public (and any semblance of a free market) by making the loans that the public refuses to make. The Treasury is helping the Fed do this. After selling Treasury bills to the public to meet the increased demand, it is depositing huge amounts ($440–$500 billion) at the Fed. The Fed is using that money to make the loans that the public is refusing to make.

The battle here is between the public and the government. The battle is economic for the public, but for the government the battle is political; and it does not admit defeat in these battles. The government instituted and maintained the New Deal, despite its baleful economic effects. Although the New Deal measures never resolved the Great Depression and, in fact, extended its life, there was a countervailing and far more important political consideration for the government, which was that the depression was a golden opportunity to put in place measures and gain powers and controls over the economy that it wanted to.

The kinds of loans the Fed has made as compared with a year ago include the following. The Fed has exchanged $406.5 billion of Treasury securities for troubled bank loans (called the TAF or Term Auction Facility.) It has swapped $542.5 billion for foreign currencies. The AIG loan is about $56 billion. Another $52 billion is for asset-backed commercial paper associated with money market mutual funds and $57 billion has gone to primary government bond dealers. Then there is $297.8 for commercial paper loans. The Treasury’s Troubled Asset Relief Program ($700–800 billion) or TARP for short is a separate deal.

New kinds of loans, not yet on the books, but slated to appear include the following.

On November 25, 2008 the Fed announced $200 billion in loans for student loans, auto loans, credit card loans, and loans guaranteed by the Small Business Administration (called TALF for Term Asset-Backed Securities Loan Facility.)

On the same date, it announced that it will lend $100 billion directly to the government’s mortgage lending companies (Fannie Mae, Freddie Mac, and the Federal Home Loan Banks.) It will also be buying $500 million of the mortgage-backed securities that they package up from the mortgage loans that they buy from banks and other institutions who originate mortgage loans. The idea is to keep these government operations going. Without this support and the other support the Treasury already has given, they’d fail. As a reminder, the government took over some $5 trillion of debts and guarantees of these government-sponsored enterprises.

The Fed announced on November 23, 2008 that it (along with the U.S. Treasury and the FDIC) will support $306 billion of loans that Citibank holds "against the possibility of unusually large losses." The Fed announced that it "stands ready to backstop residual risk" in this $306 billion pool of bad loans through a non-recourse loan. The idea is to keep Citibank in operation and prevent its failure.

On October 7, 2008 the Fed stepped up its Term Auction Facility (TAF) from $150 billion to $900 billion.

And even more is to follow. The press reports that the Fed is considering still more "unconventional steps." The Wall Street Journal writes of efforts to bring down interest rates on mortgages, consumer loans, and Treasury bonds. In other words, the Fed is preparing to monetize debts directly, something that is clearly inflationary and that it has been trying to avoid, despite its exploding balance sheet that has hyped up bank reserves enormously and already carries a huge inflation risk. The Treasury announced that it is considering a plan to subsidize mortgage interest rates at 4.5 percent.

Every new loan is a sign that the powers-that-be will not let up in their efforts to revive the economy on their terms. In order for them to keep and hold power within this system, which is their perspective, they see no other choice. The Federal government is preparing to spend far greater sums than now, in the process expanding its deficits to unimaginable heights. The Fed seems unworried by that and/or prepared dutifully to monetize a goodly share of those debts. The public is attempting to reduce debt and save, but the government is thwarting that by planning to increase its debt. High debt is the hallmark of the political economy of a strong national government.

In 2007 and 2008, the Fed is doing what the Reichsbank did in 1931. We can understand what is happening and what is going to happen by examining the Reichsbank case.

A 1934 article by Dr. Heinrich Rittershausen, available here, describes the actions of the German Reichsbank They provide a striking parallel to the actions of the Fed. All quotes are from his article.

Unlike our Fed, which has very broad and far-reaching powers, the Reichsbank was restricted by law to discount only good commercial bills. It could not legally discount other credits, called "financial" bills.

"Contrary to these provisions, the Reichsbank, since the credit crisis of 1931, discounted financial bills to the amount of 2,000 million marks...These financial bills were accepted in order to maintain the solvency of the illiquid credit banks which had gone too far with the deposit system. In this case the Reichsbank did not grant advances on the proceeds of sales, but took over the illiquid assets of the leading banks and of the savings banks, assets which do not liquidate themselves but require continuous prolongation...In addition, the Bank granted long-term credits to the amount of 1,300 million marks to municipalities and their savings banks...Moreover, the Bank neglected everything necessary for ensuring the disappearance of the illegal and dangerous financial bill money and re-establishing legal conditions."

The Fed has far greater legal powers than the Reichsbank had to accept the troubled assets of any company or financial institution. The point here is not the legality of the matter. It is the action of both banks in taking in large amounts of long-term illiquid paper of questionable value and providing good assets and/or central bank credits in return. The Fed’s TAF ($406 billions worth and slated to rise to $900 billion) is the name for the Fed’s counterpart of what the Reichsbank did. As in 1931, there is no plan in place to wind down these assets. They require "continuous prolongation."

Rittershausen writes: "The Reichsbank, temporarily the largest mortgage bank, for lack of a sound banking system, prevents the re-employment of the workless." The Fed’s $600 billion program to support the mortgage market probably makes it into the largest mortgage banker in the U.S. The main point, again, is that the Fed is doing what the Reichsbank did.

For Fannie Mae, Freddie Mac, and other insolvent banks with mortgage loans that have fallen from a price of 100 to a price of 80 or 70 or 50 or 30, the solution spurned has been bankruptcy and re-organization of the companies. Bankruptcy brings the actual market value of these mortgages to light. It allows re-organization, which then allows the market to resuscitate. The existing uncertainties fade away. A fair solution is to allow mortgagees to repurchase their mortgage at the (reduced) market prices. That requires that they re-finance their loans from new lenders. New and free market channels of financial intermediation are precisely what are needed. The Fed and the government do not want this, and with very little prodding they induce weak banks to join their relief programs. The managements of insolvent banks prefer to remain in place. They do not want to recognize losses and go out of business. They welcome the succor of the U.S. government and the Fed. Now joined by automakers, the parade will soon lengthen to include many other firms and municipalities.

"The Reichsbank thus came to the rescue of tottering banks, and this suggested that the State was behind them. This "quasi-State guarantee" led the population, when the crisis was at its height, to withdraw their balances from the sound banks..."

The withdrawal of the population’s balances from sound banks finds its parallel today in the withdrawal of money from money market funds, certificates of deposit, commercial paper, and municipal securities. Interbank lending declines. Much of this money then seeks the safe haven of U.S. Treasury securities, whose yields then fall even as the yields on debts with default risk rise.

According to Rittershausen, the Reichsbank and the Government "aided the unsound banks with approximately 2,000 million marks in subventions and tax money. In this way they offered a masked State guarantee to the unsound banks and indirectly deprived the sound banks of their customers. They declared that ‘Germany’s’ credit was at stake; that ‘Germany’ had contracted the debts; that a ‘run on Germany’ had broken out; whilst actually only the credit of a few ill-managed banks with bank debts abroad had been shaken... Thus thousands of banks and bank branches were sacrificed to save a few who were in the good books of the State...In fact, the three unsound banks were identified with the ‘German banking system.’"

The parallel actions today are that the Fed and the Government cry "systemic risk." They feed the public with exaggerated scenarios about credit default swaps bringing down the financial system. (A rational account of credit default swaps appears here.) They cry "too big to fail," and they argue that the health of the entire American system rests upon the failure of a few favored banks and insurance companies like AIG. They completely ignore freeing up the financial system to mobilize new methods of creating money and credit.

The government has thrown about $6 trillion into the stew. The Fed has thrown over $1 trillion into it. Instead of a short and sharp recession followed by a recovery, our central bank and deficit-spending political economy is giving us a prolonged and deep depression. Business is thrown into confusion and uncertainty. Investors run for safety. The bad loans remain hidden and submerged within banks and other institutions. This paralyzes lending. The weak companies and poor managements that should be quickly cleaned out instead are given taxpayer money. With public debt rising, the interest costs of the national debt rise. Capital that should be going to healthy enterprises is diverted to government and to zombie enterprises. Inefficient enterprises are subsidized. Serious inflation looms larger and larger as a long-term problem. The capital markets become dependent on Fed loans, and it is not clear how that dependence can be ended. The government takes ownership interests in the most major banks, inducing further inefficiency in these semi-nationalized firms and threatening control of the allocation of capital. In this regard, the government policies have already fostered an undue concentration of assets in large banks. The three largest banks in the U.S. now have 38% of all large bank assets as compared with 27% in 2003. Banks with over $300 million in assets grew by 64% in the last 5 years, which is a very high per annum number, but the three largest banks grew by a still higher 130%. In short, the actions of the government and the Fed are throwing a giant monkey wrench into the operations of banks and capital markets in intermediating capital from savers to businesses. The likely result is a prolonged slowdown in economic growth and more government control over the economy.

What needs to be done? The main thing is to end the reign of forced currency such as the Fed’s. This will ensure that inflation and deflation cannot ever occur because these are both results of a forced currency. With competition in money, any issuer that issues too much currency will suffer a loss in value of the currency. That will, however, be a local matter and not affect the entire economy as a forced currency does. Without central bank–engineered inflations and deflations, the large-scale and widespread business cycles will be greatly mitigated and may even disappear, although business fluctuations and failures will no doubt still occur. If there is too little currency, competition will ensure that more will be produced. We need not worry about the supply of money anymore than we worry about the supply of corn flakes. Money supply and credit are only problems when monopoly central banks attempt to control them, for they have no known ways of measuring what they are, how much is needed, where it is needed, or who should get it. These kinds of questions are always ideally solved by free markets.

There will always be a need for standards of value in which to express prices. Let the free market decide the matter by competition. Persons have a right to try out any standard of value they wish to. It is highly likely that gold will become a medium of account (a standard of value), which would mean that media of exchange would be quoted in terms of fixed amounts of gold. For example, the "dollar" might come to be standardized at 1.5 grains of gold. (The Constitution empowers the government to set such a standard of value.) With an end to a single Fed forced currency, there can be any number of media of exchange. Any person or persons has the right to issue currency. In a free market, every person has a right to conclude contracts with any medium of exchange that is agreeable to the parties to the contract. No one should be obligated to pay in gold involuntarily. Legal tender laws that force acceptance of payment in any medium should be repealed.

The harmful policies and actions of the central banks and the government in response to recessions, such as occurred in the 1930s and are occurring now, are, in a deep sense, not "policy errors" or "policy mistakes." That language suggests that there exists a set of correct policies under the existing political structure that will resolve economic problems. That is a misleading way to think about the issue. The policies that central banks and governments choose are nearly always what these institutions do by law, under the generally-held expectation that they will alleviate economic problems. Occasionally a wise and beneficent ruler comes along who, within the system, mitigates its evil actions. Usually, the really important and fundamental policy errors lie buried elsewhere. The deepest policy errors are lodged in the public’s expectation and belief that central banks and governments can alleviate recessions and in the public’s giving these organizations the legal power to do what they do (or tolerating their power grabs). Further errors lie in listening to mistaken experts who continue to justify these counterproductive methods and laws, and in failing to learn from experience that the policies that central banks and governments use to fight recessions make them worse and turn them into deeper recessions and depressions.

Within the current political setup, central bankers would have to stop being central bankers and legislators would have to stop being legislators in order to play a constructive role in recessions. (While this can happen and sometimes does happen for short periods, it is not the equilibrium outcome.) The public would have to stop believing in the magical powers of central bankers and legislators to get economies going, using their usual nostrums of borrowing, spending, subsidizing, taxing, and printing money. The public and government officials would have to stop listening to the many economic experts who are selling Keynesianism. Subsidizing mortgage rates at 4.5 percent so that more people can go into more debt to buy homes and hold up home prices would have to be laughed off the stage as the kind of bankrupt economic manipulation that got us into this mess in the first place. The public would have to stop running to government for its favors, and the politicians would have to lose the power to sell these favors.

But if all of this is to change, it means that the basic political arrangement has to change. To change matters fundamentally, various leopards have to change their spots. A revolution in ideas needs to occur. Government power has to be seen as inherently inimical to society, for it is the very existence of that power that ensures its attraction to the public and its use. The public has to stop looking for free lunches where there are none. It has to stop believing in government as the tooth fairy. The public has to stop believing in a government that, again and again, augments its own position and power while pretending to fight recessions with methods that make matters worse and lay the groundwork for more booms and busts. The public has to understand that its welfare is best assured by building upon the liberty-promoting ideas that circulated at the time of the American Revolution. That revolution was won on the battlefields and lost in the State House in Philadelphia in 1787 and thereafter. The public needs to understand what its rights are and that they are being immensely abridged by government. It needs to know that restoration and augmentation of these rights is the only proper course to take and the only course that promises a lasting and bountiful prosperity.

This is a tall order. The problem is educational in part. The problem is also a social coordination problem. If we all reject big government together, we all generally benefit while some interest groups lose their goodies; but no one knows how to coordinate this transition. It sometimes occurs, however, as when the U.S.S.R. fell. And sooner or later, American politics will come in for a radical restructuring. The outcomes of that will be better if we now converse and educate each other continually in these matters. We need to entertain concepts that seem radical today but were not radical to those who fought for and articulated the ideals of American independence. Better to consider these matters now than when the system is collapsing around our ears.

December 8, 2008

Michael S. Rozeff [send him mail] is a retired Professor of Finance living in East Amherst, New York.

Copyright © 2008