Computers


SlashDot reports:

“The Senate mortgage bill proposed by Sen. Chris Dodd (who was the recipient of a sweetheart deal on his mortgage from Countrywide, one of the beneficiaries of the bill) includes an attempt to sneak into law a requirement that all electronic payment processors send detailed transaction data to the federal government. The proposed law contains an exception for businesses with fewer than 200 transactions or a total value less than $10,000. Quoting FreedomWorks chairman Dick Armey (former House majority leader) from the article: ‘This is a provision with astonishing reach, and it was slipped into the bill just this week. Not only does it affect nearly every credit card transaction in America, such as Visa, MasterCard, Discover, and American Express, but the bill specifically targets payment systems like eBay’s PayPal, Amazon, and Google Checkout that are used by many small online businesses. The privacy implications for America’s small businesses are breathtaking.’”

- StealthyRoid @ SlashDot: Link.

See Also

“Senate Housing Bill Requires eBay, Amazon, Google, and All Credit Card Companies to Report Transactions to the Government”
@ FreedomWorks: Link.



Bus with a systems error message:

Bus sign: CHECK FILE

Via The Daily WTF: Link.



Tower of Babel

Tower of Babel: The multilingual, multicultural online journal and community of arts and ideas.

Babel seeks multilingual and multicultural writers, editors, bloggers and translators proficient in using web tools to continue building in over 250 languages what has been recognized since 2001 by the United Nations as one of the most import social and human sciences online periodicals.

There are over 250 subdomains of towerofbabel.com ready to be configured by those who are interested in taking the language-oriented subdomains and helping to build the tower ….

Design your language’s tower however you wish but continue what has already been pioneered as an attempt to build a tower aiming for the highest egalitarian, altruistic, philanthropic and humanitarian structures.

Tower of Babel: Link.

Babel English Blog: Link.



Paul Graham: You Weren't Meant to Have a Boss

“A group of 10 people within a large organization is a kind of fake tribe. The number of people you interact with is about right. But something is missing: individual initiative.”
- Paul Graham

Paul Graham on the anthropology of big companies versus small companies:

What’s so unnatural about working for a big company? The root of the problem is that humans weren’t meant to work in such large groups.

Another thing you notice when you see animals in the wild is that each species thrives in groups of a certain size. A herd of impalas might have 100 adults; baboons maybe 20; lions rarely 10. Humans also seem designed to work in groups, and what I’ve read about hunter-gatherers accords with research on organizations and my own experience to suggest roughly what the ideal size is: groups of 8 work well; by 20 they’re getting hard to manage; and a group of 50 is really unwieldy.

Whatever the upper limit is, we are clearly not meant to work in groups of several hundred. And yet — for reasons having more to do with technology than human nature — a great many people work for companies with hundreds or thousands of employees.

Companies know groups that large wouldn’t work, so they divide themselves into units small enough to work together.

… Each group tries its best to work as if it were the small group of individuals that humans were designed to work in. That was the point of creating it. And when you propagate that constraint, the result is that each person gets freedom of action in inverse proportion to the size of the entire tree.

… A group of 10 people within a large organization is a kind of fake tribe. The number of people you interact with is about right. But something is missing: individual initiative. Tribes of hunter-gatherers have more freedom. The leaders have a little more power than other members of the tribe, but they don’t generally tell them what to do and when the way a boss can.

… The restrictiveness of big company jobs is particularly hard on programmers, because the essence of programming is to build new things. Sales people make much the same pitches every day; support people answer much the same questions; but once you’ve written a piece of code you don’t need to write it again. So a programmer working as programmers are meant to is always making new things. And when you’re part of an organization whose structure gives each person freedom in inverse proportion to the size of the tree, you’re going to face resistance when you do something new.

… Working for oneself, or at least for a small group, is the natural way for programmers to live. Founders arriving at Y Combinator often have the downtrodden air of refugees. Three months later they’re transformed: they have so much more confidence that they seem as if they’ve grown several inches taller. Strange as this sounds, they seem both more worried and happier at the same time. Which is exactly how I’d describe the way lions seem in the wild.

- Paul Graham, March 2008: Link.

Via NewsVine: Link.



National Public Radio“Local stations are wary of NPR’s embrace of podcasts and other new ways to deliver its news programs.”
- The Christian Science Monitor

Public radio stations make millions from pledge drives that intersperse the two hit news shows [”Fresh Air with Terri Gross” and “All Things Considered”], and NPR hasn’t wanted to undercut local stations’ fundraising by giving fans another way to hear the programs. But that could change, as NPR considers whether to fully embrace “new media” technology at the risk of bypassing some public-radio stations.

“The fear in its raw form is that NPR will market itself directly to consumers and … and completely eclipse their local stations,” says media consultant Michael Marcotte, a former San Diego public-radio news director.

The debate within NPR became public last week after the network’s board fired CEO Ken Stern. Mr. Stern, who’d been in charge for 18 months, had pushed NPR to offer its news through mediums other than terrestrial radio.

News reports blamed the firing on Stern’s embrace of technology initiatives, but NPR officials deny that. A larger factor, says Mr. Marcotte, may have been Stern’s inability to persuade member stations to trust his plans for delivering programming via technology other than old-fashioned radio.

- Randy Dotinga, The Christian Science Monitor: March 14, 2008: Link.

Disclosure: I work for Minnesota Public Radio (MPR) as a software guy. The events at NPR don’t directly affect me or MPR; but MPR is in a similar market niche, so I’ll be following this issue closely.



Google“Google will join with five other companies to invest in a 10,000 km trans-Pacific submarine cable to carry data to and from Asia.”

Google said it would join with five other telecom companies — Bharti Airtel, Global Transit, KDDI, Pacnet, and SingTel — to invest $300 million in the construction of a 10,000 km submarine cable.

The high-speed fiber optic trans-Pacific cable, called Unity, will have a capacity of up to 7.68 Tbps and will run between the United States and Japan, about 6,200 miles. It is planned to accommodate demand for trans-Pacific bandwidth, which has grown at a rate of 63.7% annually between 2002 and 2007 and is expected to double biannually from 2008 through 2013, according to TeleGeography, a telecommunications consultancy.

… What Google gets is bandwidth at cost, said Stephan Beckert, director of research for TeleGeography, in an e-mail. Google, along with Comcast, is one of the few companies that have opted to purchase and light long-haul dark fiber, he said. It is the first non-telecom company to take an active role in submarine cable ownership.

- Thomas Claburn, InformationWeek: Link.

SingTel logoMore details from SingTel

Using state-of-the-art Dense Wavelength Division Multiplexing (DWDM) technology, it will support up to 960 Gbits per second per fibre-optic pair with a maximum of eight fibre pairs. By having a higher fibre count, it is able to offer more capacity at lower unit costs. Unity will have a potential design capacity of 7.68 Tbits per second, making it one of the highest capacity cables of its kind. This data rate is equivalent to more than seven million Internet users simultaneously having real-time access to a 1 Mb file.

NEC Corporation
and Tyco Telecommunications have been jointly awarded the contract to implement this project.

- SingTel press release: Link.



Kevin Kelly
“In short, the money in this networked economy does not follow the path of the copies. Rather it follows the path of attention, and attention has its own circuits.”

Kevin Kelly has posted some interesting thoughts about technology and wealth in the twenty-first century:

The instant reduplication of data, ideas, and media underpins all the major economic sectors in our economy, particularly those involved with exports — that is, those industries where the US has a competitive advantage. Our wealth sits upon a very large device that copies promiscuously and constantly.

Yet the previous round of wealth in this economy was built on selling precious copies, so the free flow of free copies tends to undermine the established order. If reproductions of our best efforts are free, how can we keep going? To put it simply, how does one make money selling free copies?

I have an answer. The simplest way I can put it is thus:

When copies are super abundant, they become worthless.
When copies are super abundant, stuff which can’t be copied becomes scarce and valuable.

When copies are free, you need to sell things which can not be copied.

- Kevin Kelly, Edge: Link.

Via Slashdot: What Makes Something “Better Than Free”?

Go read the entire essay. But first, I’ll spill the beans:

(more…)



“It spreads by hiding itself on photo frames and any other portable storage device that happens to be plugged into an infected PC.”

The idea seems obvious and inevitable in retrospect, but I was startled by the news:

An insidious computer virus recently discovered on digital photo frames has been identified as a powerful new Trojan Horse from China that collects passwords for online games - and its designers might have larger targets in mind.

“It is a nasty worm that has a great deal of intelligence,” said Brian Grayek, who heads product development at Computer Associates, a security vendor that analyzed the Trojan Horse.

The virus, which Computer Associates calls Mocmex, recognizes and blocks antivirus protection from more than 100 security vendors, as well as the security and firewall built into Microsoft Windows. It downloads files from remote locations and hides files, which it names randomly, on any PC it infects, making itself very difficult to remove. It spreads by hiding itself on photo frames and any other portable storage device that happens to be plugged into an infected PC.

The authors of the new Trojan Horse are well-funded professionals whose malware has “specific designs to capture something and not leave traces,” Grayek said. “This would be a nuclear bomb” of malware.

… The initial reports of infected frames came from people who had bought them over the holidays from Sam’s Club and Best Buy. New reports involve frames sold at Target and Costco, according to SANS, a group of security researchers in Bethesda, MD ….

- Deborah Gage, San Francisco Chronicle: February 15, 2008: Link.

Via Slashdot.

A virus which infects “any other portable storage device” — digital cameras? cellphones? — could go a long way towards taking over the world.

Combine this with “recognizes and blocks antivirus protection from more than 100 security vendors, as well as the security and firewall built into Microsoft Windows,” and you’ve got bad news indeed.



Here’s a story I like to tell:

I started programming when I was fifteen. (Actually, I wrote my very first BASIC program when I was ten years old, but that’s another story.) I’m now forty-six, so you can see I have some experience. Anyway, when I was fifteen, my dad taught me the rudiments of structured programming. He was a programmer himself, for the Star-Tribune.

Something he said has always stuck with me. He said, what usually happens is this: Management issues some directives; the programmers fulfill the directives; the end users try to use the programs — and things go wrong because the end users were never consulted about what kind of tools they need to do their jobs.

The successful programmer, dad said, is the one who first goes and sits down with the end users, talks to them about their jobs, finds out what they really need — then integrates this knowledge with Management directives. He called this “going native” (before he was a programmer, he took his degree in anthropology).

I’ve always taken this to heart, and in this sense, I’ve got something like thirty years experience in good interface design. Of course, I don’t actually say this on my resume, it’s kind of silly. But it’s a great story, and I think it illustrates the approach I take to my work.

- Karl Jones



“It’s neat, but how does the TV station know I turned this knob?”
- Pong early adopters

“It really was a world-changing event,” Pongrecalls Bushnell. “I can remember people saying, ‘It’s neat, but how does the TV station know I turned this knob?’ Their whole metric was TV signals came from TV stations. With Pong, it came from the game and that was a real epiphany. They didn’t understand how it was done. It was the staging for the personal-computer revolution to come.”

- Nolan Bushnell, inventor of Pong: link.

See also Pong @ Wikipedia.



“Talking about a software development schedule more than a year out is like talking about where we go after we die. Everyone has some idea where we’ll end up, but those ideas differ wildly, and there’s a lack of solid evidence to support any of them.” - Kyle Wilson

There’s not really any good way to measure the complexity or scale of a piece of software …. Lines of code is a lousy metric, but it’s the only one we’ve got …. The Feynman report on the Challenger disaster says the shuttle was running 250,000 lines of code. An F-22 fighter jet runs 1.7 million lines of code. What does this tell us about the relative complexity of these programs? Not a whole lot.

I believe that the following statement is an axiom of software development:

It is impossible, by examining any significant piece of completed code, to determine within a factor of two how many man-hours it took to produce that code.

And the corollary:

If you can’t tell how long a piece of code would take when you have the finished product available, what chance do you think you have before the first line of code is written?

Talking about a software development schedule more than a year out is like talking about where we go after we die. Everyone has some idea where we’ll end up, but those ideas differ wildly, and there’s a lack of solid evidence to support any of them.

- Kyle Wilson: August 19, 2007: GameArchitect.net: Link.

Via Dave’s Picks: Link.



Have you ever wondered how software projects result in failure?

This helpful flowchart explains the process:

The Code to Ruin

Via Worse Than Failure.



Here’s one for the software developer in all of us:

“It’s absolutely critical … to not think of these layers as persistence, business, and presentation. Database, processing, and user interface are much more appropriate terms.”

[I]t’s completely infeasible to encapsulate an application’s business logic into a single layer. It’s also logically impossible.

By the time a developer creates the perfect persistence layer — something that takes in any type of data, tucks it away somewhere, and provides an easy mechanism to retrieve it — he has created a separate infrastructure application. Recreated, actually. The operating system’s file system already does exactly that.

By the time a developer creates the perfect presentation layer — something that takes in any type of data and displays it in a flexible manner — he too has recreated an infrastructure application. ASP/PHP/etc with HTML already does a fantastic job of implementing that goal.

There is absolutely nothing wrong with having a multi-layered application. In many cases, anything but that would be a bad design. It’s absolutely critical, however, to not think of these layers as persistence, business, and presentation. Database, processing, and user interface are much more appropriate terms.

- Alex Papadimoulis @ Worse Than Failure: Link.

Big Ball of Mud

“Complete rubbish” sums it up nicely.

There’s a pattern for this recommendation, and it’s very common — The Big Ball of Mud.

- Comment @ WTF: Link.

Business Logic: the Junk Drawer

The business layer is not mythical, it’s simply done poorly in most instances because most development departments have no definition of what is business logic and what is presentation logic or database logic.

When I separate, I ask myself what I am doing in a class. If my class exists only to enable display, then it’s view logic. Sure there’s page-flow which is defined by the customer, but it’s still the way the interface works, not the way the application processes data.

What about when the class does both, enables a view and implements business logic? The answer to that is pretty simple … your class is doing too much.

Persistence logic should pretty simple. There should be a way to find, create, update, and delete. Anything more than that is business logic.

I have a fourth class, that is utilities. All code that does something that has nothing to do with the application like xml parsing or string utilities(yes I know there are a ton of them them available to download, but this is an example) goes in the utilities.

Everything else is business logic. In my mind, if you correctly define the other three, business logic is like the junk drawer because it’s such a broad category.

- Comment @ WTF: Link.

Understanding the Problem Domain

As programmers we try to scrape by learning the least we have to about the problem domain, and instead lean heavily on people qualified to properly understand it.

Unfortunately, this means we cannot look ahead and we make some pretty stupid design decisions. A lot of the needless complexity and “over engineering” comes from a poor grasp of the actual problem. Meanwhile, we understand the technical issues very well, and so we quite properly manage to slot them into time-tested patterns.

- Comment @ WTF: Link.



Virtual worlds for do-it-yourselfers:

Metaplace
“Metaplace is a world-creator that runs right in your browser, and that makes it incredibly simple to share objects, characters and entire worlds.”
- Boing Boing

Right now, there are lots of people who want to use virtual worlds for research, or education, or business, but it’s just too darn hard to get one going. Now you can create a world in just a few minutes and start tailoring it to your needs. Basically, we wanted to democratize the process of making online spaces of all sorts…

We speak Web fluently. Every world is a web server, and every object has a URL. You can script an object so that it feeds RSS, XML, or HTML to a browser. This lets you do things like high score tables, objects that email you, player profile pages right on the player — whatever you want. Every object can also browse the Web: a chat bot can chatter headlines from an RSS feed, a newspaper with real headlines can sit on your virtual desk, game data could come from real world data… you get the idea. No more walled garden.

Link.



“In an online game called World of Warcraft, an unexpected error in the software has provided a ready-made laboratory for studying the effects of an epidemic.”

World of WarcraftThe discovery, revealed in next month’s issue of The Lancet Infectious Diseases journal, has been hailed as a significant step forward in understanding how a deadly virus could break out.

… In September 2005 what was intended as a minor hindrance for a small group of characters spiralled beyond the control of program-makers into a full-blown epidemic.

A new villain, a winged serpent called Hakkar, originally designed as a challenge for only the strongest characters, started transmitting its “corrupted blood” virus Hakkardown the ranks until it affected almost every area and every player in the game.

[S]cientists were able to monitor how quickly the disease spread and where to, while assessing the players’ individual responses to the outbreak. The particular features of the game, such as the many hours players around the world dedicate to it and the emotional investment they put into their online alter egos, offer scientists a tantalisingly close match to real social conditions.

As the virus spread, very real challenges emerged, such as the failure of quarantine measures, further transmission by character’s pets and the existence of “immune” characters, who act as carriers, passing the virus to others while failing to succumb to symptoms.

[Times Online: Link]

Epidemiology @ Wikipedia

World of Warcraft @ Wikipedia.

Article @ BBC

Abstract @ Lancet (free registration required)

Post @ Boing Boing.



Next Page »