Daily Digest

Google Chrome out for one day, already reasons to avoid As we reported yesterday, Google has released the first beta of their new web browser, Google Chrome. Within a day of its release, there are already a couple of points that users should be cautioned of before using this new browser. The first, is the popular ”carpet bomb” vulnerability that still exists within Chrome, as pointed out on our forums by our member matessim. This vulnerability allows malicious websites to drive by download and execute programs on your machine. Our visitors may remember the uproar that this same vulnerability caused for Safari users, and that Apple patched the carpet-bombing issue with Safari v3.1.2. Chrome is vulnerable to this exploit because it is based on the same engine, WebKit 525.13, and Google did not patch or update the engine before releasing the software. The other, and less technical, problem with Chrome exists in its EULA. More specifically, the point that would seem to give Google rights to anything you post on the Internet while using their browser, mostly in conjunction with the promotion of its services. ”By submitting, posting or displaying the content you give Google a perpetual, irrevocable, worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute any content which you submit, post or display on or through, the services. This license is for the sole purpose of enabling Google to display, distribute and promote the services and may be revoked for certain services as defined in the additional terms of those services.” Not exactly something you’re used to seeing in a web browser’s license agreement. There is also the point that Google reserves the right to automatically update and install Chrome. Interesting, ”the software which you use may automatically download and install updates from time to time from Google. These updates are designed to improve, enhance and further develop the services and may take the form of bug fixes, enhanced functions, new software modules and completely new versions. You agree to receive such updates (and permit Google to deliver these to you) as part of your use of the services.” ... so says the EULA. Now we’re all used to seeing automatic update functions built into software. It seems that almost anything 1

you install these days has one. However, very few demand that I install their updates. What if I don’t want to because the new version includes a bug or breaks something else on my computer? Although, one would hope that they’d use this automatic update feature to fix the flaw pointed out above.

eMusic rattles ISPs over legal downloads The boss of Apple’s iTunes nearest rival eMusic has warned that recent deals struck between the music industry and UK internet providers could threaten the existence of legal sites. eMusic CEO David Pakman told the Financial Times that ISPs could lure customers away from well-known digital music sites by offering their own legal download services. ”Our concern is that in order to obtain the cooperation of the ISPs, there seems to be a quid pro quo,” said Pakman. ”This is qualitatively different from licensing another half a dozen digital music businesses.” He claimed that the agreement inked in July between six UK ISPs, the BPI, and the Motion Pictures Ass. of America, to crack down on illegal downloading would ”penalise the good guys, not the bad guys”.

Mobile users offered first external SSD Networking company Buffalo Technology has finally launched its external SSD drives at prices that promise to steal a share of the portable market from old-world 2.5-inch hard drives. The capacities of the new MicroStation drives are modest by the standards of a spinning drive – 32GB, 64GB, and 100GB – but there are other features to tempt buyers beyond the gigabytes. The first is perhaps size. Weighing around 60 grams, the aptly-named drives are not much bigger than a credit card at 57 x 14 x 89mm, a form factor that looks tiny next to the supplied wrap-around USB 2.0 connector and cable used to attach it to a PC.


IPhone Users Report Network Outages; Second 3G Lawsuit Emerges While Apple’s iPhone sales continue to succeed, things just aren’t looking any better for ATT’s network woes, and their dysfunctional relationship has given birth to a second lawsuit. Several iPhone users on Wednesday morning reported a complete outage of ATT’s data service. Reports have surfaced in Boston, Chicago, Washington DC and St. Louis; users have claimed in the Apple support forums that a call to ATT’s support line confirms the outage. ATT’s Brad Mays confirmed a ”routing issue” in the Northeast region affecting wireless data and said technicians restored the service by about noon EDT. The reports of a network outage work to the advantage of customer William Gillis, who filed a lawsuit late last week alleging Apple and ATT are overwhelming the 3G network with the ”oversold” iPhone 3G. In his 18-page complaint, Gillis says the popular handset is requiring ”too much power,” and straining the network. Gillis’s hypothesis of 3G networks being strained coincides with observations made in Wired.com’s recent study conducted on iPhone 3G download speeds around the world, in which we discovered network performance varied greatly based on carriers and countries. Users reported the fastest 3G download speeds in Europe, which possesses some of the most mature 3G networks that have been developed since 2001. By contrast, ATT’s U.S. 3G network is relatively young, having been introduced in 2004. Before today’s reported outage and Gillis’s lawsuit, femtocell developer Dave Nowicki also theorized that in the United States, the iPhone 3G is straining ATT’s young 3G network. He explained that ATT installed the 3G cells on preexisting EDGE transmission towers – meaning those towers were spaced based on the requirements of earlier, 2G technology, which has a longer effective range than 3G. User complaints about the 3G network have been passionate and widespread ever since the iPhone 3G’s July 11 launch. The problems have varied from slowerthan-advertised 3G performance to getting no 3G connection at all. Alabama resident Jessica Alena Smith was the first customer angry enough to file a lawsuit, alleging false advertising on Apple’s part for touting the handset as ”twice as fast for half the price” compared to the original iPhone. Smith claims in her complaint that the handset’s network performance is grindingly slow and only stays on the 3G network 25 percent of the time. Apple’s public relations department has said recently that the latest iPhone software update – 2.0.2 – would improve 3G performance, but very few user reports have backed the company’s claims. Regardless of what’s said about 3G performance, Apple is continuing to ride the high tide with the iPhone’s

popularity. Insiders have said the corporation plans to produce 40 to 45 million more iPhone 3Gs by next year.

Is Lover Boy a Louse? It May Be Genetic We have heard about the God gene and the gay gene – though each has been met with significant skepticism. Now comes news of a gene that Swedish researchers are touting as a possible biological basis for why some guys won’t settle down. Credit a young researcher at Sweden’s Karolinska Institute for discovering a link between a variation in the AVPR1A gene – which has been linked to autism and how people interact socially – and a propensity for men to skip out on women, or to have marital problems if they do tie the knot. In a photograph on the Karolinska’s website, the researcher, Hasse Walum, looks a little like rocker Kurt Cobain. Walum did not report if he carries the tell-tale gene, although in a study of 552 sets of twins, all in relationships, Walum found that 40 percent of the men carried the Ramblin’ Man variation of this gene. The couples filled out questionnaires that asked questions such as: I feel anxious when someone gets too close. Have you ever regretted getting married/moving in? Do you kiss your partner? Researchers then ran genetic screens of the subjects, discovering that a line of code at position 334 in the gene had a statistical correlation with the less committed men. Women married to men who carry one or two copies of the suspect code were, on average, ”less satisfied with their relationship” than were women married to men who didn’t carry this code, Walum said. This same gene has also been linked in a different study to dictatorial behavior, and the hormone, called vasopressin, made by this gene has been found to be plentiful in voles that mate for life. But before women rush out to test their men for this genetic variation – or we run DNA screens of John McCain and Barrack Obama to see if they have an autocratic bent hidden in their genes – we need to realize that these tests are very preliminary statistical links. No one has physiologically linked this genetic variation to behavior in a relationship, or to Stalinistic behavior. Walum is well aware of this, and pointed out that the effect of the genetic variation is ”modest,” and cannot be used to predict the future behavior of someone in a relationship. A caveat that makes one wonder why researchers, institutes, and the media keep trotting out these pre2

liminary associations between genes and profoundly important human behaviors like religion and relationship management in this way. One reason is that they can be fun, like reading Tarot cards can be fun. These studies can also point scientists in a possible direction towards where to look for serious maladies such as autism, which is what Walum’s work is focusing on. ”There are, of course, many reasons why a person might have relationship problems,” Walum told the BBC. Indeed, there are.

These days, the functional languages are all the rage. You see more and more hackers from the traditionally vanilla languages trying out things like Haskell or Scheme or OCaml. Breaking away from an imperative tradition forces us to think in a different way, which is always a good thing. Recently, I’ve heard a lot about Erlang, especially from curious members of the Ruby community. This article is the result of my quick dive into the language, and will hopefully serve as a starting point for anyone else who’s been hearing the buzz, but hasn’t taken the plunge yet. For this article, I’m assuming you’re familiar with the general ideas behind functional programming, and that you have at least a conceptual grasp of concurrency. I’m also counting on you having at least an intermediate level of experience programming in any language. However, I’m not assuming you know any Erlang, so don’t worry if this is the first time you’ve ever heard of the language.

Should Medicare Pay for Genetic Testing? This may be your last chance to tell the federal government whether Medicare should pay for a cuttingedge personalized medicine service. Last year, the FDA announced that a genetic test might help doctors avoid a common catastrophe – giving their patients an excessive dose of warfarin. Half a million people start taking the anticoagulant drug each year, and many of them – over 10 percent – wind up in the hospital with serious internal bleeding because they’ve overdosed. By checking two genes, doctors may be able to make a better decision about how much warfarin is right for each patient. In theory, the genetic test could save healthcare providers a fortune by cutting down on costly emergency room visits. But many doctors are not convinced that the tests are necessary; some say that handheld gadgets like the Roche CoaguChek system, which allow them to constantly monitor their patients’ blood, are more useful. Of course, in a perfect world, physicians would use both tools to aid their decisions. The Department of Health and Human Services wants the public to tell them whether the genetic test is worthwhile. To get some feedback, the agency has posted a survey on its website, and the deadline to respond is tomorrow. If Medicare starts paying for the procedure, the burgeoning field of personalized medicine will turn a major corner. Private insurance companies might follow the government’s lead, and offer reimbursements for the evaluation. But the biggest benefit of a change to the healthcare policy will be massive amounts of data. Once a huge cohort of senior citizens has received some pharmacogenetic services, there will be a large body of evidence that individualized treatments are better than a one-size-fits-all approach to medicine. If you want to weigh in on this tremendously important issue, visit the Health and Human Services website and post a comment. 3

here are a lot of functional languages out there. All of them have their strong points and their foibles. Some seem wholly academic, while others are as pragmatic as the best object oriented languages out there. Choosing which languages to study is really a matter of figuring out what concepts you want to learn. Erlang is known for an extremely elegant concurrency model. I’ve always been one to cringe at the mention of things like mutex locks, race conditions, and the entire motley crew of conceptual baggage that typically come along with any sort of parallel programming. Joe Armstrong claims in ”Programming Erlang” that because Erlang is designed from the ground up for concurrency, it makes life a lot easier. This, along with the promise of a small, efficient, and well thought out language implementation was enough to get me interested. We’ll start by going through the nuts and bolts of the language, and eventually ramp up to a simple concurrent program in Erlang that implements a basic chat system. Though it’s far from fancy, it will show you how spinning off a few processes and getting them to communicate is almost trivial in Erlang.

Behavior Driven Development (BDD) is a hot buzzword in Ruby land these days. The trouble is, it seems

that not everyone knows what it means. Those that only have a basic understanding of the concepts wonder what all the fuss is about and whether it is really any different than Test Driven Development. These questions sometimes create a roadblock for those who are interested in learning about BDD without all the hype. Of course, the best way to explore any technical concept or toolset is to simply jump in and start poking around, and see what you can figure out as you go along. That’s exactly what this three part series on Behavior Driven Development using Ruby will do. We’ll start simple and work our way all the way to the BDD deep end. I’ve always been one to think that too much theory up front can be dangerous, so the first part of this article will immediately jump into working with the primary BDD tool Rubyists have available to them, RSpec. I’ll cover some of the philosophy and core BDD concepts along the way, but my real intention is to expose you to a tool that you’ll hopefully find useful at a functional level. Once you have the basic skills down, we’ll dive into more serious examples. We’ll start working with mock objects and show how you can use them to focus on the behavior of a dependent system rather than its actual state. We’ll talk about how to structure your specs so that they avoid the common anti-patterns present in TDD, and we’ll work on more complex problems. Along the way, we’ll build up a fun little application, writing the specs first, in small iterations, to help you get the feel for how BDD works. The third part of this article will provide pointers on where to go once you’ve mastered RSpec and gained an appreciation for BDD. I’ll show you how you can bring some of your BDD concepts back to your unit tests in places where you simply have invested too much effort to re-write everything from scratch in RSpec. We’ll also cover some helpful tools to help beat up your specifications and make sure they’re testing what you think they are. My hopes are that by working through the examples you see here, you’ll be able to get BDD and see how it can improve your coding experience and get you past common hurdles that folks face who are struggling a bit with TDD. Though we have a lot of ground to cover, it will be worth it in the end.

are truly AWOL, or whether they are somewhere legitimate. Did they leave the state? Join a homeschool? Die? The new system recognizes 29 kinds of student invisibility, 10 of which are logged as dropouts, including ”expelled.” One stunning fact they learned was that 53,600 students who claimed they were transferring to a new school never actually showed up. Another is that the state now knows for the first time that there were 4,609 dropouts who completed all graduation requirement but one: the exit exam, which became mandatory two years ago.

Rather than have everyone skip ahead, first let’s talk about Heath Ledger. He’s the linchpin of ”The Dark Knight,” and he’s terrific. Director Christopher Nolan wanted to make an action movie that was different from other action movies - darker, more twisted, more despairing, more bleak - and he has mostly succeeded in this latest Batman installment. He can thank Ledger for a lot of that. ”The Dark Knight” rides on Ledger’s performance as the Joker. So does a lot of audience hope, and that’s another element at work here. There has never been a situation quite like this: Audiences for the biggest blockbuster of the summer are flooding in, not just hoping an actor will be good but also expecting and needing him to be absolutely amazing. They want something profound, to put alongside Ledger’s Ennis in ”Brokeback Mountain.” They want the fabled gift that arrives six months after the loved one’s death.

The state Education Department says it can now calculate dropouts far more accurately using its new ”Statewide Student Identifier System” in which every student is given a unique, anonymous ID number. With that, schools can track the whereabouts of missing students for the first time, and learn whether students 4