Join Grandma Patti for our very popular storytime, which is perfect for pre-schoolers and their families.

Location: Serra Mesa-Kearny Mesa

Posted by Library (ek_contact@plymouthrocket.com) on January 27, 2012 03:00 PM · permalink

  Published on January 27, 2012 It was years ago, before they lowered the campaign finance limits (albeit not far enough) and before the Supreme Court made a mockery of those limits with their 5-4 Citizens United decision. The key lime pie was now but a memory on the plate and I was just about to get $100,000 that a friend had more or less promised when we scheduled our lunch . . .

Posted on January 27, 2012 01:49 PM · permalink

jwz  
  Businesses seek state's new 'benefit corporation' status

A dozen companies committed to maximizing social good while turning a profit have filed papers with the state to become California's first "benefit corporations." It was the first business day they could register under a recently approved state law that gives companies a way to legally structure their businesses to consider social and environmental efforts as part of their missions.

While that may sound like marketing hype, it's important from a legal standpoint because it helps shield benefit corporations from lawsuits brought by shareholders who say that company do-gooding has diluted the value of their stock.

California becomes the seventh state to adopt this relatively new corporate structure. Until now, California corporate law mandated that shareholders' interests trump those of all other parties. Entrepreneurs who wanted to incorporate green initiatives or social causes into their businesses were often forced to become nonprofits, limiting their ability to raise venture capital.

California's new category allows corporations to officially adopt policies "that create a material positive impact on society and the environment" as an integral part their legal charter. The Huffman legislation also expands the fiduciary duty of executives and board members to include the interests of workers and the community.

The Rise of Benefit Corporations

When America began, the states chartered corporations for public purposes, like building bridges. They could earn profits, but their legitimacy flowed from their delegated mission.

Today, corporations are chartered without any public purposes at all. They are legally bound to pursue a single private purpose: profit maximization. Thus, far from advancing the common good, many for-profit corporations have come to defy the law, corrupt the officials charged with enforcing it and inflict harm on the public with impunity. The consequences are visible in the wreckage left by BP, Massey Energy, Enron, AIG, Lehman Brothers, Blackwater and Exxon Mobil, to name a few recent wrongdoers. Profits rule; anything goes.

We need a new business model inspired by the old one. Corporations should again come to bolster democratic purposes, not thwart them. To be sure, there will be no return to the legislative short leash, especially now that the Supreme Court has invited corporations to spend treasury funds electing pliant and obsequious lawmakers. But socially minded businesses should at least have the right to operate outside the straitjacket legal requirements of Delaware Code profit maximization. [...]

This is an important shift in law. The fear of shareholder litigation has driven many public-spirited businesses, most famously Ben & Jerry's, to take the high bid rather than the high road in a corporate takeover fight. Becoming a Benefit Corporation declares legal independence from the profits-ber-alles model. [...]

It may take a while to displace the rent-seeking leviathans that get rich off lobbying, power plays, pyramid schemes and defense contracts. Then again, a lot of those companies have relocated their operations abroad in search of cheaper labor, while the Benefit Corporations are taking root and blossoming right here in America, restoring the bonds of community while doing honest commerce. This is what economic recovery looks like.

Previously, previously, previously, previously.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 27, 2012 01:22 PM · permalink

Slashdot  
  MrSeb writes "In a world where warfare is fast becoming fielded by remote controlled and autonomous robots, innovation is the key to victory. The most technologically advanced superpower can see more, plan better, and attack from further away than its inferior adversaries. What better way to revolutionize the drone and robotics industry than use the brilliant minds of our children? That's what DARPA and the Defense Department's research and development arm thinks, anyway. The Manufacturing Experimentation and Outreach Initiative, part of the Adaptive Vehicle Make project, is slated to reach a thousand schools in and out of the country, roping in the brightest minds to develop robotics and advance technology in new and interesting ways. Funded by the Department of Defense, the program comes with a steep cost: The DoD wants unlimited rights to everything the students build. It sounds almost like something Orson Scott Card would dream up."

Read more of this story at Slashdot.


Posted by samzenpus on January 27, 2012 01:05 PM · permalink

jwz  
  Bill Would Ban Using Human Fetuses in Food, Just in Case Anybody's Thinking of Doing That

Oklahoma state senator Ralph Shortey is concerned about the possibility that some nefarious person or entity is using aborted human fetuses in food, and has introduced legislation to put a stop to this. Or, to keep it from starting, because he isn't exactly sure that anybody's really doing this, or how or where they'd be doing it if they were. Still, can't be too careful.

SB 1418 is, at least for the moment, just this one sentence:

No person or entity shall manufacture or knowingly sell food or any other product intended for human consumption which contains aborted human fetuses in the ingredients or which used aborted human fetuses in the research or development of any of the ingredients.

[...] "People are thinking that this has to do with fetuses being chopped up and put in our burritos," Shortey said, something no one had been thinking until he said it. "That's not the case," he went on. "It's beyond that." That's right -- they are also in our chalupas.

[...] According to Shortey, there are companies out there "using embryonic stem cells to research and basically cause a chemical reaction to determine whether or not something tastes good or not." He said he read last year that a pro-life group was boycotting an unnamed company for this, and I guess if you've read someplace that somebody is upset about something that might be happening somewhere in the world, that's really all you need to know before writing a law banning what you believe that thing to be.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 27, 2012 12:55 PM · permalink

 

Interesting article from the New York Times on password sharing as a show of affection.

"It's a sign of trust," Tiffany Carandang, a high school senior in San Francisco, said of the decision she and her boyfriend made several months ago to share passwords for e-mail and Facebook. "I have nothing to hide from him, and he has nothing to hide from me."

"That is so cute," said Cherry Ng, 16, listening in to her friend's comments to a reporter outside school. "They really trust each other."

We do, said Ms. Carandang, 17. "I know he'd never do anything to hurt my reputation," she added.

It doesn't always end so well, of course. Changing a password is simple, but students, counselors and parents say that damage is often done before a password is changed, or that the sharing of online lives can be the reason a relationship falters.

Ethnologist danah boyd discusses what's happening:

For Meixing, sharing her password with her boyfriend is a way of being connected. But it's precisely these kinds of narratives that have prompted all sorts of horror by adults over the last week since that NYTimes article came out. I can't count the number of people who have gasped "How could they!?!" at me. For this reason, I feel the need to pick up on an issue that the NYTimes let out.

The idea of teens sharing passwords didn't come out of thin air. In fact, it was normalized by adults. And not just any adult. This practice is the product of parental online safety norms. In most households, it's quite common for young children to give their parents their passwords. With elementary and middle school youth, this is often a practical matter: children lose their passwords pretty quickly. Furthermore, most parents reasonably believe that young children should be supervised online. As tweens turn into teens, the narrative shifts. Some parents continue to require passwords be forked over, using explanations like "because I'm your mother." But many parents use the language of "trust" to explain why teens should share their passwords with them.

Much more in her post.

Related: a profile of danah boyd.

Posted by schneier on January 27, 2012 12:39 PM · permalink

  Adventure-thriller The Grey reveals its gutsy story like a clockwork onion. A propulsive tale of plane-crash survivors fighting for their lives in the Alaskan wilds, the movie strips its characters of their bravado and exposes their souls layer by layer, one brush with death or honest moment of brotherhood at a time.


Posted by Lewis Wallace on January 27, 2012 12:30 PM · permalink

  Matt Wadsworth is not letting the fact he's blind keeping him from reaching for his dream of setting a record for distance jumping on a motorcycle.


Posted by Hell for Leather on January 27, 2012 12:30 PM · permalink

  If you're like most people, you're annoyed by passwords. You've got dozens to remember -- some of them tortuously complex -- and on any given day, as you read e-mails, send tweets, and order groceries online, you're bound to forget one, or at least mistype it. You may even be one of those people can't help but scribble your passwords onto Post-it notes and slap them onto the top of your monitor. In the end, they're both annoying and useless. But who's to blame? Who invented the computer password? It probably arrived at the Massachusetts Institute of Technology in the mid-1960s.


Posted by Robert McMillan on January 27, 2012 11:30 AM · permalink

  Bound together by an enthusiasm for geography and travel, a small cadre of distinguished businessmen, explorers, scientists and scholars officially incorporates the National Geographic Society in Washington, D.C.


Posted by Amy Ashcroft on January 27, 2012 11:30 AM · permalink

  David Milch, of NYPD Blue and Deadwood fame, takes you into the world of thoroughbred racing through a new HBO series.


Posted by bdagosti on January 27, 2012 11:30 AM · permalink

  Newt Gingrich doesn't just want to lay waste to his political enemies and a large part of the news media. The former House speaker and presidential hopeful wants to bomb a significant part of the planet, too.


Posted by Spencer Ackerman on January 27, 2012 11:30 AM · permalink

  Most people think of the Pentagon as a giant warplanning center. But the Pentagon is also a giant mall, complete with a Taco Bell, a nail salon, a Redbox DVD rental, a florist, a Best Buy and even a fancy supermarket. Warfare has gone retail.


Posted by Spencer Ackerman on January 27, 2012 11:30 AM · permalink

Slashdot  
  Qa32 writes "I am getting married in a few months and being a hardcore techie I wanted to come up with some novel way of making my wedding invite that will truly have even my mom say, 'wow, that was cool.' Has anyone out there done anything similar, or have you thought of something similar you'd like to share? I already have a few: have QR codes, have some basic embedded circuit/plate with wire leads that maybe plays a song when you connect a battery, have a way to turn up a display LCD, etc."

Read more of this story at Slashdot.


Posted by samzenpus on January 27, 2012 10:21 AM · permalink

 

In this video, Hamst, a proud resident of Scunthorpe who enjoys taking photos of local landmarks for the Visit Scunthorpe site confronts two very nasty security guards for the Golden Wonder factory. The guards are furious that he is taking pictures of the factory from the public pavement and they shower him with threats and abuse (at one point, one of them encourages a colleague to run him down with a car). They cite imaginary laws that prohibit taking pictures of private buildings from a public place and repeatedly threaten to sic the police on him.

Hamst keeps an admirably cool head through the whole ordeal and is generally a model for how one should behave when corporations' representatives make illegal demands on photographers shooting in public places.

Golden Wonder Security (Thanks, Roach McKrackin!)

Posted by Cory Doctorow on January 27, 2012 09:42 AM · permalink

  Textbooks and Education on iBooks and iTunes U Textbooks and Education on iBooks and iTunes U; Why Textbook Publishers are Backing iBooks; Create Your Own Windows, Macintosh and Android Programs For Free; The Slow Death of Corporations; Archive Mailbox.

Posted by Wally Wang on January 27, 2012 08:00 AM · permalink

  The Windows 7 Start Menu can be tailored to your computing style. Considered a standard feature of the Windows operating system, surprisingly the new (and often misunderstood) Windows 7 Start Menu has more power and flexibility.

Posted by Jack Dunning on January 27, 2012 08:00 AM · permalink

  Many people think that you need a Kindle or iPad to read e-books. Not true. You can read e-books on any computer--and it's free!

Posted by ComputorEdge Online - San Diego (ceedletters@computoredge.com) on January 27, 2012 08:00 AM · permalink

  Computer and Internet tips, plus comments on the articles and columns. "Kindle Fire Versus iPad," "Images Displaying in E-mails," "Let Them All Close Down," "Response To Wally's Apple Farm"

Posted by ComputorEdge Staff on January 27, 2012 08:00 AM · permalink

  Digital Dave answers your tech questions. Office 2010 Always Crashes with Windows XP; Windows Defender; Removing Unwanted Web Browser Tool Bars.

Posted by Digital Dave on January 27, 2012 08:00 AM · permalink

  An Abundance of Free Software for Perusing E-Books on Your Computer Many people think that you need a tablet or e-reading device to read e-books. Here are some of the many free options for reading e-books on any computer.

Posted by Jack Dunning on January 27, 2012 08:00 AM · permalink

  How to Tell If Someone around You Is a Computer Hacker Marilyn shares some amusing anecdotes about computer Hackers.

Posted by Marilyn K. Martin on January 27, 2012 08:00 AM · permalink

Slashdot  
  bs0d3 writes "The EU ACTA chief has resigned, saying, 'This agreement might have major consequences on citizens' lives, and still, everything is being done to prevent the European Parliament from having its say in this matter. That is why today, as I release this report for which I was in charge, I want to send a strong signal and alert the public opinion about this unacceptable situation. I will not take part in this masquerade.' 22 EU members signed the controversial ACTA treaty Thursday in Tokyo."

Read more of this story at Slashdot.


Posted by samzenpus on January 27, 2012 07:55 AM · permalink

 


A modern electronica duo can only dream of being as good as Future World Orchestra. [via Robert Popper]

Posted by Rob Beschizza on January 27, 2012 06:10 AM · permalink

Slashdot  
  alphadogg writes "Lucky residents of Wilmington, N.C., will be the first in the nation to have access to a 'Super Wi-Fi' network. Officials from New Hanover County, N.C., announced Thursday that they had become the first in the United States to deploy a mobile data network on so-called 'white spaces' spectrum that the FCC first authorized for unlicensed use in 2008."

Read more of this story at Slashdot.


Posted by samzenpus on January 27, 2012 05:45 AM · permalink

jwz  
  So, Twitter changed their policy from "if anyone in the world issues a take-down, we take it down globally" to "now we only take it down in the country that issued the take-down."

I guess you could see "we support tyranny in each country individually" as an improvement over "we treat the whole world as the least common denominator of the world's most tyrannous country in which we want to make money" as an improvement. If you have very low expectations.

"But," you may say, "They have no choice but to obey the law in all the countries in which they have offices." That's true, but I must have missed the article about someone holding a gun to their head and forcing them to open offices there. So they chose to make themselves an uncomfortable bed to lie in. How about that.

When you're in the business of providing a communications medium -- or, if you happen to have a moral compass of any kind -- there are some people you just shouldn't do business with, because it makes you part of the problem.

They said:

One of our core values as a company is to defend and respect each user's voice. We try to keep content up wherever and whenever we can,
and omitted,
...unless that interferes with our ability to make a buck.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 27, 2012 05:06 AM · permalink

  Google's daily brainteaser helps hone your search skills.


Posted by Ken Denmead on January 27, 2012 05:01 AM · permalink

jwz  
  origamijoel:

Q: "Are they each from a single piece of paper?"

A: Yes -- by far the most frequently asked question, and the easiest one to answer (I wish they all were simple yes/no questions). But it is usually followed up with "...because some of them look like they're woven..." which is not actually a question, but an observation, and an implied invitation for me to elaborate on the masks' construction. So I elaborate. It's a technique that is both structural and ornamental. Parallel folds make pleats that open up to form the convexities of the face and intersect with each other around the face. Where they intersect, twist folds are formed on the back of the piece which help to keep the pleats closed. The pleats get pretty tightly packed together, and where they run parallel to each other, the space between them looks like an individual strip of paper from the front. Where twist folds occur on the back, it appears that the "strips" of paper are crossing under and over one another.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 27, 2012 04:45 AM · permalink

  Polish Politicians Don Guy Fawkes / Anonymous Masks To Protest ACTA Signing

There's been lots of talk today about how various EU governments are agreeing to sign ACTA (which still needs to be ratified by the EU Parliament). It's gotten the most attention in Poland, where there were mass protests -- but the government there still signed. Of course, not everyone in the Polish government agreed. Amazingly, officials from the Palikot's Movement held up the famed Guy Fawkes/Anonymous masks in Parliament to protest the vote: Of course, we should note that, from the picture, it sure looks like those masks are "counterfeit" copies of the official Guy Fawkes mask that Time Warner holds the rights to. Good thing ACTA is coming into force to stop such blatant "counterfeiting," huh?

Previously, previously, previously.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 27, 2012 04:38 AM · permalink

 

The Wing:

I have not found the artist's official site, but "Image Search" is a nightmare factory.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 27, 2012 04:26 AM · permalink

  Construction update, Jan 26, 2012:
Workers have installed the first of 137 strands of the nearly mile-long main cable. Each strand is comprised of 127 individual wires.

The SAS's cable is anchored into the east end of the roadway, traveling up and over the single tower to wrap around the west end before traveling back up and over the tower to anchor back into the east end. The cable features 118 miles of 2 1/2-inch steel strands and more than 17,000 5mm wires. The cable weighs 5,291 tons or nearly 10.6 million pounds.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 27, 2012 04:18 AM · permalink

 

It can take a leap of faith to close the gap between where you are and where you want to be.

20120126-195722.jpg


Posted by YogiRavi on January 27, 2012 03:57 AM · permalink

Slashdot  
  itwbennett writes "In a blog post on Thursday, Twitter announced that it can now block individual Tweets in specific countries, while leaving them visible in other countries. 'We try to keep content up whenever and wherever we can, and we will be transparent with users when we can't,' the blog said. Twitter will publish requests it receives to block content through its partnership with Chilling Effects."

Read more of this story at Slashdot.


Posted by samzenpus on January 27, 2012 03:22 AM · permalink

 

 Blog Wp-Content Uploads 2008 06 Juanepstein "Hey, Mr. Kotter, I got a note!" Robert Hegyes who played Juan Luis Pedro Philippo DeHuevos Epstein on "Welcome Back Kotter" has died.
"Robert Hegyes dies at 60" (Variety)

Posted by David Pescovitz on January 27, 2012 01:56 AM · permalink

Slashdot  
  New submitter newmission33 writes "Government researchers have created the fastest, purest X-ray laser pulses ever achieved, and have fulfilled a 1967 prediction that an atomic scale X-ray laser could be made in the same manner as visible-light lasers, according to a statement released Wednesday. Researchers at the SLAC National Accelerator Laboratory used the Linac Coherent Light Source to aim a powerful X-ray source beam, a billion times brighter than any previous source, at a capsule of neon gas and triggered an 'avalanche' of X-ray emissions to become the world's first 'atomic X-ray laser.'"

Read more of this story at Slashdot.


Posted by samzenpus on January 27, 2012 01:00 AM · permalink

  Jeremiah Cornelius writes "Reporters Without Borders released its 2011-2012 global Press Freedom Index. The indicators for press freedom in the U.S. are dramatic, with a downward movement from 27th to 47th in the global ranking, from the previous year. Much of this is correlated directly to the arrest and incarceration of American journalists covering the 'Occupy' protest movements in New York and across the country. 'This is especially troubling as we head into an election year which is sure to spark new conflicts between police and press covering rallies, protests and political events.' Only Chile, who dropped from 33 to 80, joined the U.S. in falling over 100% of their previous ranking. Similarly, Chile was downgraded for 'freedom of information violations committed by the security forces during student protests.'"

Read more of this story at Slashdot.


Posted by samzenpus on January 27, 2012 12:15 AM · permalink

rediff.com  
  In the name of development, Chief Minister Mayawati can only boast of statues of herself or Dalit icons across Uttar Pradesh, but the common man in the state who is yet to savour the pleasure of having basic civic amenities, will most naturally think for whom he or she should vote for, or may even opt for a total Bahujan Samaj Party poll boycott.

Posted on January 27, 2012 12:01 AM · permalink

  Saif Ali Khan talks about his ambitious film Agent Vinod, and his stunning co-star.

Posted on January 27, 2012 12:01 AM · permalink

  All five of these tablets deliver top value for money, with their smooth performance, great build quality, and overall feature set.

Posted on January 27, 2012 12:01 AM · permalink

  A fluent half century by Ricky Ponting as well as the positive approach of skipper Michael Clarke saw Australia extend their overall lead to 499, setting India a target of 500 to win the fourth and final Test in Adelaide.

Posted on January 27, 2012 12:01 AM · permalink

  There are around 160 metro systems in the world.

Posted on January 27, 2012 12:01 AM · permalink

  NewImage NewImage

Rachel Hobson of CRAFT correctly figures (in my case, anyway), " you'll enjoy this series of vintage photographs that have been transformed into portraits of superheroes by artist Alex Gross."

Posted by Mark Frauenfelder on January 26, 2012 11:25 PM · permalink

 


Posted by Jon Phillips on January 26, 2012 11:21 PM · permalink

Slashdot  
  astroengine writes "The number of known multi-planetary star systems has just tripled. What's more, the Kepler space telescope science team has just announced that they have doubled the number of confirmed exoplanetary sightings made by the observatory. Some of the newly discovered worlds are only 1.5 times the size of Earth, while others are bigger than Jupiter. Fifteen exoplanets are between Earth and Neptune in size, but further observations will be needed to determine if any have a rocky surface like Earth, or a gaseous consistency like Neptune."

Read more of this story at Slashdot.


Posted by timothy on January 26, 2012 10:50 PM · permalink

jwz  
 

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 26, 2012 10:47 PM · permalink

 

[Video Link] A bank robber in Brazil shot himself in the foot. In the video he is seen limping away with his cohorts. He was later arrested while receiving treatment at a nearby hospital. (Via Arbroath)

Posted by Mark Frauenfelder on January 26, 2012 10:31 PM · permalink

  From Physicians for Human Rights: "A report (PDF) prepared by professors and students at the University of North Carolina School of Law states that the CIA has been relying on Aero Contractors, Ltd., a North Carolina operated civil aviation company to transport detainees to international destinations for detention, interrogation and torture."

Posted by Xeni Jardin on January 26, 2012 10:24 PM · permalink

  NewImage

Goli of MAKE says:

Two young makers from Toronto, Mathew Ho and Asad Muhammad, both age 17, successfully sent a Lego minifig and four cameras to roughly 78,000 feet elevation on a homemade weather balloon. After a 97-minute flight, the balloon returned to Earth with great footage of the journey. Inspired by a similar project done by MIT students, they were determined to make everything from scratch, down to sewing the 5-foot-diameter parachute. After about five months worth of weekends devoted to the build, they did it, and have some great photos to show for their hard work. Check out the video posted on the Toronto Star to hear them talk about their project and to see their balloon pics.


Posted by Mark Frauenfelder on January 26, 2012 10:19 PM · permalink

  "With enough global data, you can actually see the traffic drop when the shutdown occurs." Internet traffic analysists at Arbor Networks examined recent worldwide data flow and determined that Megaupload was taken offline just after 19:00 GMT on January 19. Internet traffic all over the world dropped in the two hours that followed. Top users of Megaupload were the US, France, Germany, Brazil, Great Britain, Turkey, Italy, and Spain.

Posted by Xeni Jardin on January 26, 2012 10:17 PM · permalink

  Anti-virus giant Symantec clarifies that it did not know back in 2006 that source code for its software was stolen when it experienced a breach at that time.


Posted by Kim Zetter on January 26, 2012 10:16 PM · permalink

  "In February of 2009, Google paid about $52 million for an abandoned paper mill in Hamina, Finland, after deciding that the 56-year-old building was the ideal place to build one of the massive computing facilities that serve up its myriad online services." Wired on the future of Google data centers, with a focus on this odd story of creative re-use.

Posted by Xeni Jardin on January 26, 2012 10:13 PM · permalink

  Cooley Distillery wants to change preconceived notions of Irish Whiskey. Global Brand Ambassador John Cashman discusses the market and what distinguishes Cooley.


Posted by NMattise on January 26, 2012 10:10 PM · permalink

Slashdot  
  McGruber writes "Wired reports that the American Association of Railroads is refuting the U.S. Transportation Security Administration memorandum that said hackers had disrupted railroad signals. In fact, 'There was no targeted computer-based attack on a railroad,' said AAR spokesman Holly Arthur. 'The memo on which the story was based has numerous inaccuracies.' The TSA memo was subject of an earlier Slashdot story in which Slashdot user currently_awake accurately commented on the true nature of the incident."

Read more of this story at Slashdot.


Posted by timothy on January 26, 2012 10:09 PM · permalink

 

Cloths embroidered with signs are seen in front of the Supreme Court of Justice in Guatemala City January 26, 2012. Former Guatemalan dictator Efrain Rios Montt, who ruled the country from 1980-1982 during a bloody civil war, went to the Supreme Court of Justice to declare for the genocide accusations committed during the armed conflict. Rios Montt is one of those accused by Spain of genocide during the 36-year conflict in which some 250,000 people died and 45,000 disappeared from 1960-1996. The sign reads, "In memory of the victims of armed conflict."

Below: Montt speaks on the phone at the Supreme Court of Justice in Guatemala City, while indigenous Maya protesters outside carry banners with the faces of "desaparecidos," relatives who disappeared during his military era.

Related coverage: Amnesty International, BBC News, NYT, LAT, and an LAT op-ed today. The Wikipedia entry on Montt is pretty comprehensive, and includes reminders of Montt's many links to the US: he was trained at the School of the Americas, was involved in the 1954 CIA-backed coup, and was longtime pals with US power-evangelicals Pat Robertson and Jerry Fallwell. (photos: REUTERS)

Posted by Xeni Jardin on January 26, 2012 10:01 PM · permalink

 

If The Osmonds were a death metal band, "Crazy Horses" might have sounded something like this. Dangerous Minds' Marc Campbell added the visuals. "ARMAGEDDON ROCK: THE VERY METAL SOUND OF THE OSMONDS" (Thanks, Tara!)

Posted by David Pescovitz on January 26, 2012 09:54 PM · permalink

 


Posted by Mike Isaac on January 26, 2012 09:26 PM · permalink

Slashdot  
  Diggester writes "Back in July 2010, the United States government approved a few exemptions in a federal law which made jailbreaking/rooting of electronic devices (iPhones and Android devices) legal. The court ruling stated that every three years, the exemptions have to be renewed considering they don't infringe any copyrighted material. The three-year period is due to expire and the Electronic Frontier Foundation (EFF) is looking to get the exemptions renewed. In order to do so, they have filed a petition which aims at government to declare jailbreaking legal once again. In addition to that, EFF is also asking for a change in the original ruling to include tablet devices." Here's the EFF's own page on the issue.

Read more of this story at Slashdot.


Posted by timothy on January 26, 2012 09:25 PM · permalink

 

[Video Link] Shot by multimedia journalist Dan Grossman, who writes:

The nomadic people of Mongolia don't stay in one place for long. That's why they live in gers (which American's know by the Russian name, yurt), a home that is fast and easy to assemble and disassemble. Putting up a ger (pronounced gair) is fast and easy, but its best done by an entire family. This ger was moved by the family of Shagdarsuren Herelchuluun, on the east side of Lake Hovsgol, in northern Mongolia, not far from the Russian border.

(via @pulitzercenter)

Posted by Xeni Jardin on January 26, 2012 09:14 PM · permalink

  Jumping spiders' keen vision makes them the cats of the invertebrate world, but scientists have puzzled over how their miniature nervous systems manage such sophisticated hunting behavior. A new study fills in a key ingredient: an unusual form of depth perception.


Posted by ScienceNow on January 26, 2012 08:45 PM · permalink

Slashdot  
  An anonymous reader writes "The ZX81 Museum was set-up to preserve and showcase a private collection of original Sinclair branded ZX81 hardware, software and literature. The museum has since expanded to include ZX81 software from other publishers of the time and a variety of other ZX81 peripherals and reference books. The collection dates from 1981 to 1983 and features the complete Sinclair-branded software series. The activities of the museum are regularly reported via Twitter, along with updates from the ever growing ZX81 fanbase. There is even a YouTube channel for the diehard 8-bit fans out there, of which there seems to be many!" This was one of the first computers I ever used; I suspect it's still buried in some deep stratum in my dad's basement. As is often the case, the old advertisements are great.

Read more of this story at Slashdot.


Posted by timothy on January 26, 2012 08:41 PM · permalink

  Former Apple designer Wilson Miner reminds us why we care about building a better web in this inspiring talk.


Posted by Scott Gilbertson on January 26, 2012 08:30 PM · permalink

 

NASA today released a so-called 'Blue Marble' image of Earth captured by the VIIRS instrument on NASA's most recently launched Earth-observing satellite, the Suomi NPP. The composite image above "uses a number of swaths of the Earth's surface taken on January 4, 2012." Larger sizes here (hello, new computer desktop image!)

Posted by Xeni Jardin on January 26, 2012 08:29 PM · permalink

 


This splendid work, by Aurich Lawson, is a perfect aperitif for Sean Gallagher's wonderful article about the ridiculous but astoundingly successful con artist, Quake cheat and entrepreneur Kim Dotcom.

Posted by Rob Beschizza on January 26, 2012 08:14 PM · permalink

 

Oh, this makes me so sad. Tony Alleyne, the trekkie, club DJ, and "house-modder" who redesigned his British flat to be a faithful replica of the Starship Enterprise? Looks like he may lose it in divorce proceedings. His ex owns the flat, and wants to sell it as "a conventional dwelling," according to tabloid reports.

I did a story about him for NPR way back in 2006 (MP3 Link). I remember him as one of the most cheerfully obsessed Star Trek fans I've ever met (and buddy, I've met a lot of Star Trek fans in my time).

British tabloid The Sun broke the bummer news a couple of days ago, and quoted Alleyne: "To say I'm gutted is an understatement. It is my life's work. I admit there were tears."

Alleyne estimates that redoing the project in a new apartment would cost more than USD $150K.

More from MSNBC, which also covered the tale of Alleyne's epic Trek home when it first made the internet rounds five years ago:

When msnbc TV reported on the apartment back in 2006, Alleyne was about to file for bankruptcy over the money spent on renovations, and said he had hoped to start a business transforming homes for other "Star Trek" fans. Msnbc TV did another segment on Alleyne in 2007 when he was apparently also hoping to sell the tricked-out home, which includes a mock transporter.

"Most people thought I was barmy," Alleyne said at the time. "I mean, you could go spend the time down the pub or in a nightclub or whatever ... I decided to live in a spaceship." He says on his website, which bills him as a "24th century interior designer," that he became hooked on science fiction at age 11.



Posted by Xeni Jardin on January 26, 2012 08:01 PM · permalink

  Dot Physics blogger Rhett Allain uses analyzes a video of an airbag launching a textbook to figure out how high it flew off the screen.


Posted by Rhett Allain on January 26, 2012 08:00 PM · permalink

  Much as tablet computers went mainstream in the iPad's wake, Apple's latest educational project heralds an age of tablet-based textbooks. But will kids really learn more and better on tablets? That's far from clear.


Posted by Brandon Keim on January 26, 2012 07:59 PM · permalink

  Last January, electronic textbook publishers turned down David Johnston's big idea: to make the first interactive marine science textbook. Frustrated by the experience, Johnston set out to create open source software to publish the book himself.


Posted by Dave Mosher on January 26, 2012 07:59 PM · permalink

 

It's not hard to see why Bloomberg Businessweek chose not to run with this remarkable illustration of Republican presidential candidate Mitt Romney. The creative director is Richard Turley; the rest of the design crew follows:

Creative Director: Richard Turley Design Director: Cynthia Hoffman Graphic Director: Jennifer Daniel Graphics Editor: Kenton Powell, Evan Applegate Director of Photography: David Carthas Art Director: Robert Vargas Designers: Maayan Pearl, Lee Wilson, Chandra Illick and Shawn Hasto Design Manager: Emily Anton

Compare to NYMag's latest cover, which uses the same theme, but is so crudely, cartoonishly photoshopped that it lacks the Bloomberg image's bloody impact.

[via Cover Junkie]

Posted by Rob Beschizza on January 26, 2012 07:39 PM · permalink

  Since the shutdown of Megaupload, stories have erupted about the life and exploits of the company?s founder, a self-styled ?Dr. Evil? of file sharing. Kim Dotcom?s opulent digs, high-end cars, fondness for models and other Bond-villain-esque behaviors have been splashed across websites and have confused evening newscasts for the last week.


Posted by Sean Gallagher on January 26, 2012 07:36 PM · permalink

  Nancy Sims, of the University of Minnesota Libraries, responds to The Atlantic's criticisms of JSTOR, an academic database that can be difficult and expensive to access: "There are things JSTOR does that I do have issues with. I wish it was doing more to provide more open access to the public domain materials it holds, for example. The JSTOR independent researcher program has all kinds of problems. But JSTOR is, for the most part, a pretty good element of the existing landscape."

Posted by Rob Beschizza on January 26, 2012 07:35 PM · permalink

  There's a fun online video series at Reuters TV called "Tech Tonic" that currently features host and Twitter star @antderosa interviewing technology figures at Davos.

Posted by Xeni Jardin on January 26, 2012 07:34 PM · permalink

  Although it may not show up in iOS devices this year, a just-published Apple patent shows that Apple is toying with ways to make the 30-pin connector and headphone jack on mobile devices magnetic, just like MagSafe.


Posted by Christina Bonnington on January 26, 2012 07:26 PM · permalink

  A government memo saying a railway was hacked in a targeted attack has numerous inaccuracies, according to a spokeswoman for the Association of American Railroads.


Posted by Kim Zetter on January 26, 2012 07:25 PM · permalink

Slashdot  
  Harperdog writes "Dawn Stover recounts her attempts to access information at energy.gov, the U.S. Energy Department's 'cutting-edge, interactive information platform,' which apparently isn't any of those things. Especially frustrating were her attempts to locate important documents related to the Yucca Mountain nuclear waste repository. An interesting read for anyone interested in true government transparency."

Read more of this story at Slashdot.


Posted by timothy on January 26, 2012 07:19 PM · permalink

  The big loser in the Pentagon's new budget? Ordinary human beings.


Posted by Spencer Ackerman on January 26, 2012 07:15 PM · permalink

  Type 1 diabetes -- the autoimmune disease that begins in childhood and used to be called juvenile-onset diabetes -- is on the rise around the globe. At this point, however, no one can quite say why.


Posted by Maryn McKenna on January 26, 2012 06:20 PM · permalink

  Twitter's increasingly popular Bootstrap web development toolkit is just about to hit 2.0. With this release web developers will be able to use Bootstrap's new responsive tools to easily create flexible layouts for tablets and phones.


Posted by Scott Gilbertson on January 26, 2012 05:26 PM · permalink

  This is the end for Jack Idema. The vigilante adventurer and terrorist hunter once jailed in Afghanistan for running a private prison and torture shop has reportedly died in Mexico.


Posted by Robert Beckhusen on January 26, 2012 05:00 PM · permalink

 

As part of writing my PhD I am currently thinking about the relationship between PyPy's meta-tracing approach with various previous ideas to automatically get a (JIT-)compiler from only an interpreter of a language. One of the most-researched ideas along these lines is that of partial evaluation. Partial evaluation has basically the same goals as PyPy when it comes to compilers: Write an interpreter, and get a compiler for free. The methods for reaching that goal are a bit different. In this series of blog posts, I am trying to explore the similarities and differences of partial evaluation and PyPy's meta-tracing.

A Flowgraph Language

To be able to clearly understand what "partial evaluation" is and what "meta-tracing" is I will show an "executable model" of both. To that end, I am defining a small imperative language and will then show what a partial evaluator and a tracer for that language look like. All this code will be implemented in Prolog. (Any pattern-matching functional language would do, but I happen to know Prolog best. Backtracking is not used, so you can read things simply as functional programs.) In this post I will start with the definition of the language, and a partial evaluator for it. The code written in this blog post can be found fully here: http://paste.pocoo.org/show/541004/

The language is conceptionally similar to PyPy's flow graphs, but a bit more restricted. It does not have function calls, only labelled basic blocks that consist of a series of linearly executed operations, followed by a conditional or an unconditional jump. Every operation is assigning a value to a variable, which is computed by applying some operation to some arguments.

A simple program to raise x to the yth power in that language looks like this:

power:
    res = 1
    if y goto power_rec else goto power_done

power_rec:
    res = res * x
    y = y - 1
    if y goto power_rec else goto power_done

power_done:
    print_and_stop(res)

To represent the same program as Prolog data structures, we use the following Prolog code:

block(power, op1(res, same, const(1),
             if(y, power_rec, power_done))).
block(power_rec, op2(res, mul, var(res), var(x),
                 op2(y, sub, var(y), const(1),
                 if(y, power_rec, power_done)))).
block(power_done, print_and_stop(var(res))).

Every rule of block declares one block by first giving the label of the block, followed by the code. Code is a series of op1 or op2 statements terminated by a jump, an if or a print_and_stop. op1 statements are operations with one argument of the form op1(res_variable, operation_name, argument, next_statement). Arguments can be either variables in the form var(name) or constants in the form const(value).

To run programs in this flowgraph language, we first need some helper functionality. The first few helper functions are concerned with the handling of environments, the data structures the interpreter uses to map variable names occuring in the program to the variables' current values. In Python dictionaries would be used for this purpose, but in Prolog we have to emulate these by lists of key/value pairs (not very efficient, but good enough):

lookup(X, [], _) :- throw(key_not_found(X)).
lookup(Key, [Key/Value | _], Value) :- !.
lookup(Key, [_ | Rest], Value) :- lookup(Key, Rest, Value).

write_env([], X, V, [X/V]).
write_env([Key/_ | Rest], Key, Value, [Key/Value | Rest]) :- !.
write_env([Pair | Rest], Key, Value, [Pair | NewRest]) :- write_env(Rest, Key, Value, NewRest).

remove_env([], _, []).
remove_env([Key/_ | Rest], Key, Rest) :- !.
remove_env([Pair | Rest], Key, [Pair | NewRest]) :- remove_env(Rest, Key, NewRest).

resolve(const(X), _, X).
resolve(var(X), Env, Y) :- lookup(X, Env, Y).

The implementation of these functions is not too important. The lookup function finds a key in an environment list, the write_env function adds a new key/value pair to an environment, remove_env removes a key. The resolve function is used to take either a constant or a variable and return a value. If it's a constant, the value of that constant is returned, if it's a variable it is looked up in the environment. Note how the last argument of lookup and resolve is actually a return value, which is the typical approach in Prolog.

So far we have not specified what the primitive operations that can occur in the program actually mean. For that we define a do_op function which executes primitive operations:

do_op(same, X, X).
do_op(mul, X, Y, Z) :- Z is X * Y.
do_op(add, X, Y, Z) :- Z is X + Y.
do_op(sub, X, Y, Z) :- Z is X - Y.
do_op(eq, X, Y, Z) :- X == Y -> Z = 1; Z = 0.
do_op(ge, X, Y, Z) :- X >= Y -> Z = 1; Z = 0.
do_op(readlist, L, I, X) :- nth0(I, L, X).
do_op(Op, _, _, _) :- throw(missing_op(Op)).

Again the last argument is an output variable.

Now we can start executing simple operations. For that an interp predicate is defined. It takes as its first argument the current environment and as the second argument the operation to execute. E.g. to execute primitive operations with one or two arguments:

interp(op1(ResultVar, Op, Arg, Rest), Env) :-
    resolve(Arg, Env, RArg),
    do_op(Op, RArg, Res),
    write_env(Env, ResultVar, Res, NEnv),
    interp(Rest, NEnv).

interp(op2(ResultVar, Op, Arg1, Arg2, Rest), Env) :-
    resolve(Arg1, Env, RArg1),
    resolve(Arg2, Env, RArg2),
    do_op(Op, RArg1, RArg2, Res),
    write_env(Env, ResultVar, Res, NEnv),
    interp(Rest, NEnv).

First the arguments are resolved into values. Afterwards the operation is executed, and the result is written back into the environment. Then interp is called on the rest of the program. Similarly easy are the unconditional jump and print_and_stop:

interp(jump(L), Env) :-
    block(L, Block),
    interp(Block, Env).


interp(print_and_stop(Arg), Env) :-
    resolve(Arg, Env, Val),
    print(Val), nl.

In the unconditional jump we simply get the target block and continue executing that. To execute print_and_stop we resolve the argument, print the value and then are done.

The conditional jump is only slightly more difficult:

interp(if(V, L1, L2), Env) :-
    lookup(V, Env, Val),
    (Val == 0 ->
        block(L2, Block)
    ;
        block(L1, Block)
    ),
    interp(Block, Env).

First the variable is looked up in the environment. If the variable is zero, execution continues at the second block, otherwise it continues at the first block.

Given this interpreter, we can execute the above example program like this, on a Prolog console:

$ swipl -s cfglang.pl
?- block(power, Block), interp(Block, [x/10, y/10]).
10000000000

Partial Evaluation of the Flowgraph Language

Let's look at what a partial evaluator for this simple flowgraph language would look like. Partial evaluation (PE), also called specialization, is a program manipuation technique. PE takes an input program and transforms it into a (hopefully) simpler and faster output program. It does this by assuming that some variables in the input program are constants. All operations that act only on such constants can be folded away. All other operations need to remain in the output program (called residual program). Thus the partial evaluator proceeds much like an interpreter, just that it cannot actually execute some operations. Also, its output is not just a value, but also list of remaining operations that could not be optimized away.

The partial evaluator cannot use normal environments, because unlike the interpreter not all variables' values are known to it. It will therefore work on partial environments, which store just the know variables. For these partial environments, some new helper functions are needed:

plookup(Key, [], var(Key)).
plookup(Key, [Key/Value | _], const(Value)) :- !.
plookup(Key, [_ | Rest], Value) :- plookup(Key, Rest, Value).

presolve(const(X), _, const(X)).
presolve(var(V), PEnv, X) :- plookup(V, PEnv, X).

The function plookup takes a variable and a partial environment and returns either const(Value) if the variable is found in the partial environment or var(Key) if it is not. Equivalently, presolve is like resolve, except that it uses plookup instead of lookup.

With these helpers we can start writing a partial evaluator. The following two rules are where the main optimization in the form of constant folding happens. The idea is that when the partial evaluator sees an operation that involves only constant arguments, it can constant-fold the operation, otherwise it can't:

pe(op1(ResultVar, Op, Arg, Rest), PEnv, NewOp) :-
    presolve(Arg, PEnv, RArg),
    (RArg = const(C) ->
        do_op(Op, C, Res),
        write_env(PEnv, ResultVar, Res, NEnv),
        RestResidual = NewOp
    ;
        remove_env(PEnv, ResultVar, NEnv),
        NewOp = op1(ResultVar, Op, RArg, RestResidual)
    ),
    pe(Rest, NEnv, RestResidual).

pe(op2(ResultVar, Op, Arg1, Arg2, Rest), PEnv, NewOp) :-
    presolve(Arg1, PEnv, RArg1),
    presolve(Arg2, PEnv, RArg2),
    (RArg1 = const(C1), RArg2 = const(C2) ->
        do_op(Op, C1, C2, Res),
        write_env(PEnv, ResultVar, Res, NEnv),
        RestResidual = NewOp

    ;
        remove_env(PEnv, ResultVar, NEnv),
        NewOp = op2(ResultVar, Op, RArg1, RArg2, RestResidual)
    ),
    pe(Rest, NEnv, RestResidual).

The pe predicate takes a partial environment, the current operations and potentially returns a new operation. To partially evaluate a simple operation, its arguments are looked up in the partial environment. If all the arguments are constants, the operation can be executed, and no new operation is produced. Otherwise, we need to produce a new residual operation which is exactly like the one currently looked at. Also, the result variable needs to be removed from the partial environment, because it was just overwritten by an unknown value.

The potentially generated residual operation is stored into the output argument NewOp. The output argument of the recursive call is the last argument of the newly created residual operation, which will then be filled by the recursive call. This is a typical approach in Prolog, but may look strange if you are not familiar with it.

Note how the first case of these two rules is just like interpretation. The second case doesn't really do anything, it just produces a residual operation. This relationship between normal evaluation and partial evaluation is very typical.

The unconditional jump and print_and_stop are not much more complex:

pe(jump(L), PEnv, jump(LR)) :-
    do_pe(L, PEnv, LR).

pe(print_and_stop(Arg), Env, print_and_stop(RArg)) :-
    presolve(Arg, Env, RArg).

To partially evaluate an unconditional jump we again produce a jump. The target label of that residual jump is computed by asking the partial evaluator to produce residual code for the label L with the given partial environment. print_and_stop is simply turned into a print_and_stop. We will see the code for do_pe soon.

Conditional jumps are more interesting:

pe(if(V, L1, L2), PEnv, NewOp) :-
    plookup(V, PEnv, Val),
    (Val = const(C) ->
        (C = 0 ->
            L = L2
        ;
            L = L1
        ),
        do_pe(L, PEnv, LR),
        NewOp = jump(LR)
    ;
        do_pe(L1, PEnv, L1R),
        do_pe(L2, PEnv, L2R),
        NewOp = if(V, L1R, L2R)
    ).

First we look up the value of the condition variable. If it is a constant, we can produce better code, because we know statically that only one path is reachable. Thus we produce code for that path, and then emit an unconditional jump there. If the condition variable is not known at partial evaluation time, we need to partially evaluate both paths and produce a conditional jump in the residual code.

This rule is the one that causes the partial evaluator to potentially do much more work than the interpreter, because after an if sometimes both paths need to be explored. In the worst case this process never stops, so a real partial evaluator would need to ensure somehow that it terminates. There are many algorithms for doing that, but I will ignore this problem here.

Now we need to understand what the do_pe predicate is doing. Its most important task is to make sure that we don't do the same work twice by memoizing code that was already partially evaluated in the past. For that it keeps a mapping of Label, Partial Environment to Label of the residual code:

do_pe(L, PEnv, LR) :-
    (code_cache(L, PEnv, LR) ->
        true
    ;
        gensym(L, LR),
        assert(code_cache(L, PEnv, LR)),
        block(L, Code),
        pe(Code, PEnv, Residual),
        assert(block(LR, Residual))
    ).

If the code cache indicates that label L was already partially evaluated with partial environment PEnv, then the previous residual code label LPrevious is returned. Otherwise, a new label is generated with gensym, the code cache is informed of that new label with assert, then the block is partially evaluated and the residual code is added to the database.

For those who know partial evaluation terminology: This partial evaluator is a polyvariant online partial evaluator. "Polyvariant" means that for every label, several specialized version of the block can be generated. "Online" means that no preprocessing is done before the partial evaluator runs.

Partial Evaluation Example

With this code we can look at the classical example of partial evaluation (it's probably the "Hello World" of partial evaluation). We can ask the partial evaluator to compute a power function, where the exponent y is a fixed number, e.g. 5, and the base x is unknown:

?- do_pe(power, [y/5], LR).
LR = power1.

To find out which code was produced, we can use listing:

?- listing(code_cache)
code_cache(power, [y/5], power1).
code_cache(power_rec, [y/5, res/1], power_rec1).
code_cache(power_rec, [y/4], power_rec2).
code_cache(power_rec, [y/3], power_rec3).
code_cache(power_rec, [y/2], power_rec4).
code_cache(power_rec, [y/1], power_rec5).
code_cache(power_done, [y/0], power_done1).

?- listing(block)
.... the block definition of the user program ....
block(power_done1, print_and_stop(var(res))).
block(power_rec5, op2(res, mul, var(res), var(x), jump(power_done1))).
block(power_rec4, op2(res, mul, var(res), var(x), jump(power_rec5))).
block(power_rec3, op2(res, mul, var(res), var(x), jump(power_rec4))).
block(power_rec2, op2(res, mul, var(res), var(x), jump(power_rec3))).
block(power_rec1, op2(res, mul, const(1), var(x), jump(power_rec2))).
block(power1, jump(power_rec1)).

The code_cache tells which residual labels correspond to which original labels under which partial environments. Thus, power1 contains the code of power under the assumption that y is 5. Looking at the block listing, the label power1 corresponds to code that simply multiplies res by x five times without using the variable x at all. The loop that was present in the original program has been fully unrolled, the loop variable y has disappeared. Hopefully this is faster than the original program.

Conclusion

In this blog post we saw an interpreter for a simple flow graph language in Prolog, together with a partial evaluator for it. The partial evaluator essentially duplicates every rule of the interpreter. If all the arguments of the current operation are known, it acts like the interpreter, otherwise it simply copies the operation into the residual code.

Partial evaluation can be used for a variety of applications, but the most commonly cited one is that of applying it to an interpreter. To do that, the program that the interpreter runs is assumed to be constant by the partial evaluator. Thus a specialized version of the interpreter is produced that does not use the input program at all. That residual code can be seen as a compiled version of the input program.

In the next blog post in this series we will look at writing a simple tracer for the same flowgraph language.

Posted on January 26, 2012 01:44 PM · permalink

Slashdot  
  natecochrane writes "A prestigious law firm warns non-U.S. businesses their data is unsafe from costly and invasive raids by American law enforcement even if they host their data in their own countries. The wide interpretation of the USA Patriot Act ensures U.S. cops can legally demand data from almost anyone, anywhere for any reason and countries and their citizens are largely powerless to resist. The advice has resonance with the arrest this week of Kim 'Dotcom' on alleged copyright violations in the U.S."

Read more of this story at Slashdot.


Posted by samzenpus on January 26, 2012 01:05 PM · permalink

 


"By the end of my second term we will have the first permanent base on the moon." [NPR. Photo: Eric Thayers/Reuters]

Posted by Rob Beschizza on January 26, 2012 12:38 PM · permalink

  Adrian Chen on the gadget experts who serve rogues: "Martin made them leave their phones in the car for safety. He recalled the phones with disgust. 'They had all smart phones, and I told them: Bad fucking idea. You have to scale down two generations, at least. There's too much information on a smart phone.'"

Posted by Rob Beschizza on January 26, 2012 12:33 PM · permalink

  We have wide monitors and our reading doesn't tend to like wide text very well. This is why newspapers have lots of narrow columns, rather than stretch each story across the entire width of the paper.


Not all websites follow this tip, so drag this to your bookmark toolbar and squeeze the margin in 100px at a time, until you can read more naturally.




Yes, I could resize my window, but the same width isn't right for all pages, and most are padded or have sidebars. This is good when you only need some of the pages you have open to be narrower than the rest.

Posted on January 26, 2012 12:26 PM · permalink

  Sony's new PlayStation Vita hand-held gaming machine has console-worthy graphics, a nice touch screen and dual analog sticks for old-fashioned tactile gameplay. But it's saddled by a few annoyances typical of Sony hardware.


Posted by Chris Kohler on January 26, 2012 11:38 AM · permalink

  Areas of inquiry once reserved for historians and social scientists are now studied by neuroscientists, and among the most fascinating is cultural conflict: Why do different groups behave differently? Why can't we all get along? Science alone won't provide the answers, but it can offer new insights into how social behavior reflects -- and perhaps even shapes -- human biology.


Posted by Brandon Keim on January 26, 2012 11:31 AM · permalink

  While it's rare to encounter a specific hapax, or word that appears only once in a given body of text, it is likely you'll encounter some of them often. Mathematician Samuel Arbesman explains how the appearance of these strange new words follow a long-tail algorithm. So next time you see a rare word, don't be surprised. Know that math is shaping your experience of language.


Posted by Samuel Arbesman on January 26, 2012 11:30 AM · permalink

  In February of 2009, Google paid about $52 million for an abandoned paper mill in Hamina, Finland, deciding that the 56-year-old building was the ideal place to build one of the massive computing facilities that serve up its various online services. It's the ideal metaphor for the internet age. Finnish pulp and paper manufacturer Stora Enso shut down its Summa Mill early in 2008, saying that a drop in newsprint and magazine-paper production lead to "persistent losses in recent years and poor long-term profitability prospects." Newspapers and magazines are slowly giving way to web services along the lines of, well, Google.


Posted by Cade Metz on January 26, 2012 11:30 AM · permalink

 


Posted by Nathan Mattise on January 26, 2012 11:30 AM · permalink

  A mechanic in the seat of a steam-powered automobile sets a land speed record of 127.66 mph.


Posted by Matt Simon on January 26, 2012 11:30 AM · permalink

Slashdot  
  FrankPoole writes "Indie iPhone game developer Nimblebit is accusing social games giant Zynga of ripping off its popular mobile title Tiny Tower. Nimblebit's Ian Marsh got word out about the similarities between Dream Heights and Tiny Tower with an image that's still making the Twitter rounds. The image is made up of screenshots showing how Dream Heights' interface and gameplay mechanics appear strikingly similar to Tiny Tower's."

Read more of this story at Slashdot.


Posted by samzenpus on January 26, 2012 10:36 AM · permalink

 

ACTA, the Anti-Counterfeiting Trade Agreement, is the notorious, unprecedented secret copyright treaty that was negotiated by industry representatives and government trade reps, without any access by elected representatives, independent business, the press, public interest groups, legal scholars, independent economists and so on. Time and again, the world's richest governmental administrations (only rich countries were in the negotiation) told their own parliaments and congresses that they could not see what was in the treaty, nor know the details of the discussion.

The European Parliament was one of the bodies that asked its administration to share the treaty discussions with the elected members, only to be turned down. Cables in the Wikileaks dumps showed US officials orchestrating this secrecy because they knew how unpopular this one-sided, heavy-handed copyright treaty would be. Freedom of Information requests to the Obama administration confirmed that the reason for the secrecy was the experience in transparent negotiation at the UN, which resulted in an uprising by developing nations, who saw stricter, more expansive copyrights as a means of extracting rents from the world's poorest people.

Now the European Parliament is being arm-twisted into ratifying ACTA, which contains many of the worst provisions that Americans rejected in SOPA and PIPA. We need your help and input to resist this terrible, dirty, punishing treaty from coming to Europe.

Stop ACTA!

Previous BB coverage of ACTA (Thanks, noc314!)

Posted by Cory Doctorow on January 26, 2012 08:24 AM · permalink

jwz  
  DNA Lounge update, wherein there are photos, and maybe someday a food court.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 26, 2012 07:18 AM · permalink

 

Announcing the Modesto Scripting Languages Meetup. Central Valley Pythonistas, Rubyists, PHPers, etc all welcome.

Read More

Posted on January 26, 2012 06:36 AM · permalink

jwz  
 

Bees 'could deter vandals' at Greenfield heritage park

My beekeeping pal says, "I was using that as a selling point for putting bees in junkyards, etc. Except then people used wasp spray on my hives at Hayes Valley, and they cost about $1k each."

Previously, previously, previously, previously, previously, previously.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 26, 2012 06:33 AM · permalink

Slashdot  
  An anonymous reader writes "A UK judge ruled that a photograph inspired by another photograph, but clearly different from it, infringes the original photo's copyright. The two photographs were shot in the same location, have the same subject, and use the same distinctive post-processing treatment. However, the angle and composition are different. From the article: '[The judge] said a difficult decision hinged on a "qualitative assessment of the reproduced elements." He defined Fielder's image a "photographic work," as distinct from a simply a photograph, in that "its appearance is the product of deliberate choices and also deliberate manipulations by the author," and concluded that those aspects had been copied.'"

Read more of this story at Slashdot.


Posted by samzenpus on January 26, 2012 05:24 AM · permalink

 

On constitutionalism, a competent state and the importance of strengthening federalism

For quiet contemplation on Republic Day:

On constitutional morality; the need to get basic functions right; and on the wages of an imperfect federalism.

Join the Indians for a Strong Republic page on Facebook.

The Three Thoughts Archive:
Three thoughts on on Republic Day 2011, 2010, 2009, 2008, 2007, 2006, 2005;
and on Independence Day 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004.

Posted on January 26, 2012 04:48 AM · permalink

jwz  
 

Great news, everybody! Shoulder pads and face spikes!

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 26, 2012 04:34 AM · permalink

Slashdot  
  snydeq writes "InfoWorld's Serdar Yegulalp takes an in-depth look at six Chromium-based spinoffs that bring privacy, security, social networking, and other interesting twists to Google's Chrome browser. 'When is it worth ditching Chrome for a Chromium-based remix? Some of the spinoffs are little better than novelties. Some have good ideas implemented in an iffy way. But a few point toward some genuinely new directions for both Chrome and other browsers.'"

Read more of this story at Slashdot.


Posted by samzenpus on January 26, 2012 02:55 AM · permalink

  San Diego County Library is partnering with the San Diego chapter of the Romance Writers of America (RWA San Diego) to bring romance authors to local libraries just in time for Valentine's Day. Panels will be speaking at three County Library branches next month. All authors will be signing books for fans, and select titles will be available for sale.

Posted on January 26, 2012 01:30 AM · permalink

Slashdot  
  pbahra writes in with the story of Khaled el Mufti, the network-security engineer who was in charge of providing telecommunications for the Libyan revolution. "It isn't often you get the chance to meet a real revolutionary. It is a term cheapened by misuse, but Khaled el Mufti is a revolutionary. It is no exaggeration to say that the role he played in the Libyan uprising last year was crucial; had he and his telecoms team failed, it isn't hard to think that Col. Muammar Gadhafi might still be in power. Today, Mr. Mufti is a telecoms adviser to the interim government and heads the e-Libya initiative, a bold plan to use the transformative powers of technology to modernize the Libyan state, overturning 40 years of corruption and misrule under Gadhafi. Mr. Mufti is an unlikely revolutionary, a softly spoken network-security engineer with a degree from Imperial College in London. Almost by chance he was in his native Libya when the revolution took place, working on a project with BT in the capital, Tripoli."

Read more of this story at Slashdot.


Posted by samzenpus on January 26, 2012 01:03 AM · permalink

  Scary monsters and feature-creep

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

  django CMS 2.2 released

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

  django CMS 2.2 release candidate 2 available

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

  django CMS 2.1.4 security release issued

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

  django CMS 2.2 release candidate available

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

  django CMS 2.2 beta 1 available

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

  Angelo Dini is a core developer

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

  django CMS 2.2 roadmap update

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

  Security release issued

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

  django CMS 2.1.2 released

Posted by django CMS Blog on January 26, 2012 12:27 AM · permalink

Slashdot  
  Hugh Pickens writes "Google's autonomous cars have demonstrated that self-driving vehicles are now largely workable and could greatly limit human error, but questions of legal liability, privacy and insurance regulation have yet to be addressed. Simple questions, like whether the police should have the right to pull over autonomous vehicles, have yet to be answered and legal scholars and government officials warn that society has only begun wrestling with laws required for autonomous vehicles. The big question remains legal liability for the designers and manufacturers as some point out that liability exemptions have been mandated for vaccines, which are believed to offer great value for the general health of the population, despite some risks. 'Why would you even put money into developing it?' says Gary E. Marchant, director of the Center for Law, Science and Innovation at the Arizona State University law school. 'I see this as a huge barrier to this technology unless there are some policy ways around it.' Congress could consider creating a comprehensive regulatory regime to govern the use of these technologies say researchers at the Rand Corporation adding that while federal preemption has important disadvantages, it might speed the development and utilization of these technologies (PDF) and should be considered, if accompanied by a comprehensive federal regulatory regime. 'This may minimize the number of inconsistent legal regimes that manufacturers face and simplify and speed the introduction of these technologies.'"

Read more of this story at Slashdot.


Posted by samzenpus on January 26, 2012 12:17 AM · permalink

  Sad that the PyCon sprints fall on business days? Wishing you could stay but the boss/client won't let you and demands you back so 'you can work'? This is how you make it so that the sprints are something your management is demanding you attend every sprint ever.
  1. Make it foremost in your mind that the wonderful thing about the PyCon sprints is that the odds are that anyone who knows anything about whatever you are doing in Python will be there.
  2. Write up a list of the things that you are finding challenging, hard, or impossible to do with Python.
  3. Now go to the boss and say something like:
    "Because the experts and leaders of the open source tools we are using are going to be there, I want to attend PyCon sprints. All my time at the sprints will be focused on sitting around them and working on our tools. I'll focus on things that directly impact our agency / company / organization, specifically things I wrote down on this list."
  4. If the boss says,
    "Why not just use IRC or email?"
    Then you say something like,
    "Well, IRC/email is not the same as sitting next to these people. I'll be so much more productive there!"

Rinse and repeat.

Then, when you attend the PyCon sprints, follow through on what you said you were going to do. Sure, it might be more fun to work on project 'spam' even though your company uses project 'lumberjack', but if you prove how much you got done during the sprints, next year the boss will be much more encouraging. Even if a good boss says to go do what you want, at least spend some time sprinting on work related technology.

Also, once you get approval to go, consider sending your boss to this old rant of mine.

Don't forget to register for PyCon! Early bird rates end today (January 25th, 2012) which means today is the last day to get involved in the extremely unofficial PyCon Early Birds program!

Posted by Daniel Greenfeld on January 26, 2012 12:16 AM · permalink

rediff.com  
  In an epic encounter, Rafael Nadal rallied from a set down to defeat Roger Federer 6-7, 6-2, 7-6, 6-4 in the Australian Open semi-final at Melbourne Park on Thursday.

Posted on January 26, 2012 12:01 AM · permalink

  An impressive display of armour and unmanned aerial vehicles recently added to India's military prowess was on full display at the 63rd Republic Day parade on Thursday that also showcased the country's rich heritage.

Posted on January 26, 2012 12:01 AM · permalink

  Decrying the failure of Rajya Sabha to pass the Lokpal bill, Anna Hazare on Thursday made a curious suggestion to bring a law to empower gram sabhas that will be above Parliament.

Posted on January 26, 2012 12:01 AM · permalink

  Agneepath is less of a remake, more of a tribute, writes Sukanya Verma

Posted on January 26, 2012 12:01 AM · permalink

  Goro1 Stephen Jay Gould once said that LIFE photographer Fritz Goro, who died in 1986, was "the most influential photographer that science journalism (and science in general) has ever known." LIFE.com has posted a gallery of his truly wonderful photos. Above, Goro's 1962 shot of inventor Allyn Hazard testing his "moon suit mock-up" that contained oxygen and a food supply. "Fritz Goro's Photos: The Art of Science"

Posted by David Pescovitz on January 25, 2012 10:11 PM · permalink

Slashdot  
  Sparrowvsrevolution writes "With much of the web upset over about Google's latest privacy policy changes, it's helpful to remember it could be much worse: A search engine called Skipity offers the world's worst privacy policy (undoubtedly tongue-in-cheek), filled with lines like this: 'You may think of using any of our programs or services as the privacy equivalent of living in a webcam fitted glass house under the unblinking eye of Big Brother: you have no privacy with us. If we can use any of your details to legally make a profit, we probably will.' The policy gives the company the right to sell any of your data that it wants to any and all corporate customers, send you limitless spam, track your movements via GPS if possible, watch you through your webcam, and implant a chip in your body that is subject to reinstallation whenever the company chooses."

Read more of this story at Slashdot.


Posted by samzenpus on January 25, 2012 10:05 PM · permalink

 

[Video Link]

Things I did not know before viewing this adorable video shot by Surrey Wildlife Trust Mammal Project Officer Dave Williams:

1) The dormouse, a little rodent species you'll find in Britain, hibernate in the winter in nests they hide on the ground.

2) The dormouse spends up to one-third of its life in hibernation, and typically begin that winter "sleep" when the first frost hits, and their food sources are gone.

3) They loose about a quarter of their body weight during hibernation.

4) The word "dormouse" comes from the Anglo-Norman dormeus, which means "sleepy (one)"

You can donate to support the Surrey Wildlife Trust's nature conservation work here.

(via @joeljohnson, photo: Dave Williams, Surrey Wildlife Trust)

Posted by Xeni Jardin on January 25, 2012 09:48 PM · permalink

Slashdot  
  brothke writes "In the classic poem Inferno, Dante passes through the gates of Hell, which has the inscription abandon all hope, ye who enter here above the entrance. After reading The Tangled Web: A Guide to Securing Modern Web Applications, one gets the feeling the writing secure web code is akin to Dante's experience." Read below for Ben's review.

Read more of this story at Slashdot.


Posted by samzenpus on January 25, 2012 09:22 PM · permalink

  Laura McKenna excoriates JSTOR, the online database of academic journals that has universities and the public paying thousands of dollars to read their own taxpayer-funded research. [The Atlantic]

Posted by Rob Beschizza on January 25, 2012 08:08 PM · permalink

Slashdot  
  bs0d3 writes "The music industry is seeking over a dozen changes to Canadian anti-piracy bill C-11, including website blocking, Internet termination for alleged repeat infringers, and an expansion of the "enabler" provision that is supposedly designed to target pirate sites. Meanwhile, the Entertainment Software Association of Canada also wants an expansion of the enabler provision along with further tightening of the already-restrictive digital lock rules. It's concerning that some of these expansions will create a risky situation for legitimate websites, as SOPA did in the U.S. Michael Geist outlines the legal history and complications here."

Read more of this story at Slashdot.


Posted by samzenpus on January 25, 2012 07:58 PM · permalink

 

A U.S. federal judge has ordered a defendent to decrypt her laptop.

Posted by schneier on January 25, 2012 07:56 PM · permalink

 

Among others, the BBC interviewed two snipers. Both have killed many people, but they are very different men. One affirms the humanity of his targets, and worries at how ideology sends them into battle. One considers them subhuman, and worries about himself.

Here's Chris Kyle:

"You're running everything through your mind. This is a woman, first of all. Second of all, am I clear to do this, is this right, is it justified? And after I do this, am I going to be fried back home? Are the lawyers going to come after me saying, 'You killed a woman, you're going to prison'?"

Married with two children, he has now retired from the military and has published a book in which he claims to have no regrets, referring to the people he killed as "savages".

Here's Anon:

Snipers almost never referred to the men they killed as targets, or used animal or machine metaphors. Some interviewees even said that their victims were legitimate warriors.

"Here is someone whose friends love him and I am sure he is a good person because he does this out of ideology," said one sniper who watched through his scope as a family mourned the man he had just shot. "But we from our side have prevented the killing of innocents, so we are not sorry about it."

Guess which of these two men tallies more than a hundred kills whose circumstances are unaccounted for by the military.

What goes on in the mind of a sniper? [BBC]

Posted by Rob Beschizza on January 25, 2012 07:53 PM · permalink

Slashdot  
  An anonymous reader writes "A guy who goes by the online handle DDRBoxman decided it would be fun to blow up his Samsung Galaxy Nexus display onto the wall by connecting his phone to a projector. He then connected the whole thing to a PC and, thanks to Microsoft's open-source Kinect platform for Windows, he was able to create a custom ROM that mapped out the phone interface to the Kinect sensors. Pretty neat!"

Read more of this story at Slashdot.


Posted by samzenpus on January 25, 2012 07:36 PM · permalink

  Tynt, the company responsible for inserting adverts when you copy text from websites, was bought by another company that specializes in "graphing" brand loyalty. Just imagine how much fun these guys are to hang out with! [TechCrunch via Daring Fireball]

Posted by Rob Beschizza on January 25, 2012 07:31 PM · permalink

Slashdot  
  coondoggie writes "The impact of social media such as Twitter, Facebook and Google+ and others on federal juries is a concern that judges are frequently taking steps to curb. According to a study 94% of the 508 federal judges who responded said they have specifically barred jurors from any case-connected use of social media."

Read more of this story at Slashdot.


Posted by samzenpus on January 25, 2012 07:15 PM · permalink

 

The U.S Supreme Court has ruled that the police cannot attach a GPS tracking device to a car without a warrant.

EDITED TO ADD (1/26): It seems I was wrong when I said that the ruling forces the police to get a warrant before placing a GPS tracking device on a car. The ruling is much more complicated and nuanced.

Posted by schneier on January 25, 2012 06:54 PM · permalink

 

The second problem from this year facebook hackercup sound like the classic knapsack problem. But the solution is much easier (words are in fixed sort order). Feel free to find a smarter algorithm or comment my python solution.

problem description

We are starting preparations for Hacker Cup 2013 really early. Our first step is to prepare billboards to advertise the contest. We have text for hundreds of billboards, but we need your help to design them.Read more

Posted on January 25, 2012 06:50 PM · permalink

  This is a program for seniors only that is held in the Community Room. Instructors are from SIlver Age Yoga. Every class utilizes chairs but please bring your own exercise mat if desired. No reservations required.

Ages: Seniors 55+

Location: Carmel Valley

Posted by Library (ek_contact@plymouthrocket.com) on January 25, 2012 06:00 PM · permalink

  Variable Rush sez, "No Safe Harbor is the first book released by the United States Pirate Party. It was released yesterday and traffic managed to knock it offline. The book is great and features an essay by BB's Cory Doctorow, as well as Lawrence Lessig, danah boyd, Kembrew McLeod, and others."

Posted by Cory Doctorow on January 25, 2012 05:55 PM · permalink

 

Jeff sez, "Communicore Weekly is a brand new, online VidCast/Podcast with George Taylor and Jeff Heimbuch, exploring Disney news and obscure history. With segments such as the Bathroom Break & The Five Legged Goat, you'll never look at Disney the same way again. You'll laugh, you'll cry, and you'll have a new favorite online show. Come on and get geeky with Communicore Weekly!"

Communicore Weekly - Week Of Jan 23rd, 2012 - Episode 2

Posted by Cory Doctorow on January 25, 2012 05:54 PM · permalink

 

Michael Geist sez,

Recent revelations that the content industries are demanding that Canada implement SOPA-style provisions into its copyright law have raised concerns the law could be used to target legitimate sites. Industry lawyers say there is no reason for worry, yet an analysis of the proposed law set against the claims made by Viacom against Youtube show that there is a very real possibility that new law could be used to target the Internet's most popular video site.

That would create a huge chill in the investment and technology community in Canada. Online video sites, cloud computing sites, and other online services may look at the Bill C-11 and fear that even a lawsuit could create massive costs, scare away investors, and stifle new innovation. Indeed, a recent study by Booz & Company found this to be a very real problem, with a large majority of the angel investors and venture capitalists saying they will not put their money in digital content intermediaries if governments pass tough new rules allowing websites to be sued or fined for infringing digital content posted by users. The U.S. has dropped for SOPA, but now incredibly Canada may consider the very provisions that causes investors to become skittish.

Would a SOPA Version of the Canadian Copyright Bill Target Youtube?

Posted by Cory Doctorow on January 25, 2012 05:52 PM · permalink

 

This absolutely stunning video was created from a series of still images taken on the International Space Station. From NASA's Gateway To Astronaut Photography of Earth page:

The sequence of shots was taken January 3, 2012 from 15:01:30 to 15:08:17 GMT, on a pass from the Indian Ocean, just west of Australia, to south of Australia, west of Tasmania. The pass begins looking eastward toward southern Australia at the Aurora Australis. The crew captures the aurora just before the sun begins to come up in this short video. A few orbiting satellites pass by throughout the video as well.

"Gateway To Astronaut Photography of Earth"

Posted by David Pescovitz on January 25, 2012 05:39 PM · permalink

  Support your library while shopping for bargain books and movies outside, on the Cass Street plaza!


Location: Pacific Beach/Taylor

Posted by Library (ek_contact@plymouthrocket.com) on January 25, 2012 04:00 PM · permalink

 

Over the last couple of years several of my colleagues have been organizing code jam[1] events where developers get together to write software for charitable causes. A good example is a regular code-jam in New York that works on RapidFTR. Chris George, a ThoughtWorker based in New York, helped organize a one-off event in New York in August 2010. The group didn't get as much done on the day as they had hoped, but in a bar afterwards decided to try to get together more regularly. Since then they've been meeting every week. It's a small group, still mostly ThoughtWorkers and friends, with a core of 3-4 people rising to a dozen when we've had a big project in town.[2]. (Chris is happy to have more people join the group, so if you are interested drop him an email.)

Many people have found these events to an enjoyable way to use our skills for purposes that we find rather more fulfilling than many day jobs, and a way both to learn new skills and learn from a different group of people. So I thought I should share our thoughts on how to set one up.

The first thing is to find a suitable effort to contribute to. We look to contribute to projects producing open-source software for NGOs - the open source model fits well for such organizations. The two that we've built up most of a relationship are RapidFTR and OpenMRS. RapidFTR is a system designed to help reunite families after a natural disaster or other calamity. It allows people to quickly input information about either a lost child, or a child found without parents - then provide search facilities to match them up. OpenMRS is an open source medical records system, designed to support various forms of health care delivery work. It's used by many health care groups all over the world (and not just in the developing world).

Like New York, most of our code-jams begin as one-off events, a single evening or all day event. These days we advertise heavily, and hope to get a good sample of local developers to come along and take part. One-off code jams like this don't usually produce much useful software, since they are too short to really accomplish much. But they still have value. Firstly they generate awareness, exposing the local development community both to the specific project and the notion of working on open-source efforts for NGOs. More directly they can be the seed for an regular code jam, so it's useful to put together activities that will encourage getting back together later.

A regular code jam gets together on a schedule, with core of people who come most weeks. Such a group can make some significant contributions to a code base. People come because they get to work on some different technologies, with a different group of co-developers, to an audience that (unlike most open-source projects) isn't just other developers.

To make meaningful progress, you need someone to prepare for each code jam by breaking down work-items into something small enough that people will be able to finish them during the time at the jam. Whatever people may say and hope, they'll rarely work on the project outside code jam hours, and the schedule is too infrequent to want half-done things hanging over. Small tasks allow teams to make perceptible progress each jam - which helps keep motivation high. We like to put these tasks online before each event so people can prepare if they want to, or just get a feel for what we're working on. We also set up a mailing list to keep up regular communication on the jam and support anyone who does contribute outside of the jam.

Our regular code-jams succeed best when the group has a couple of champions who take the lead in organizing the event. It's best to have more than one champion, to cope with the work load and provide some resilience if they are absent for a while.

We try to ensure the development environment is set up to allow people to come in quickly and become productive. Much of this is the same kind of thing that we do on projects anyway to enable continuous integration - make sure that installation and build are automated so people can quickly install the code base and get it working. It's important to mention this in the advertisements for the event - people are often put off from coming due to a concern that they'll never get started due to these issues. Even so, make sure that each event has at least one person who is familiar with the code base and build environment, she can then help others find their way around. Often someone will give a short overview of what the system does and how it works for new people at the start of the jam.

We usually provide food to each event - that's an easy thing for us to do as a corporate contribution. As any XPer knows, sharing food when working is an important part of gelling a team.

So, if the idea of a code-jam appeals to you, why not give it a try? Find a suitable project to contribute to, a group of a few people to act as a core, and spend a few sessions to get things going. (There are developer guides for both OpenMRS and RapidFTR to help you get started if those projects appeal to you.) If you get going on a stable basis - post in a blog somewhere so we see what code-jams are avaialable and learn more about how to get them going.

1: "Code-jam" is a problematic name for these events. As far as I can determine, the term "code-jam" was originally used for competitive events where programmers would try to best their peers in some programming challenge. The events I describe here are the utter opposite of this, on many levels, but have attracted the same name.

2: When one of the team went down to our Porto Alegre office, he got a group contributing there too.

Posted on January 25, 2012 02:39 PM · permalink

  Sad that the PyCon sprints fall on business days? Wishing you could stay but the boss/client won't let you and demands you back so 'you can work'? This is how you make it so that the sprints are something your management is demanding you attend every sprint ever.
  1. Make it foremost in your mind that the wonderful thing about the PyCon sprints is that the odds are that anyone who knows anything about whatever you are doing in Python will be there.
  2. Write up a list of the things that you are finding challenging, hard, or impossible to do with Python.
  3. Now go to the boss and say something like:
    "Because the experts and leaders of the open source tools we are using are going to be there, I want to attend PyCon sprints. All my time at the sprints will be focused on sitting around them and working on our tools. I'll focus on things that directly impact our agency / company / organization, specifically things I wrote down on this list."
  4. If the boss says,
    "Why not just use IRC or email?"
    Then you say something like,
    "Well, IRC/email is not the same as sitting next to these people. I'll be so much more productive there!"

Rinse and repeat.

Then, when you attend the PyCon sprints, follow through on what you said you were going to do. Sure, it might be more fun to work on project 'spam' even though your company uses project 'lumberjack', but if you prove how much you got done during the sprints, next year the boss will be much more encouraging. Even if a good boss says to go do what you want, at least spend some time sprinting on work related technology.

Also, once you get approval to go, consider sending your boss to this old rant of mine.

Don't forget to register for PyCon! Early bird rates end today (January 25th, 2012) which means today is the last day to get involved in the extremely unofficial PyCon Early Birds program!

Posted on January 25, 2012 01:36 PM · permalink

 

The NSF is funding research on giving organizations information-security risk ratings, similar to credit ratings for individuals:

Existing risk management techniques are based on annual audits and only provide a snapshot of a partner's security posture. However, new vulnerabilities are discovered everyday and the industry needs a solution that enables a business to continuously monitor changing risk posture of all its partners and proactively manage assumed risks. The Phase II research objective is to build a scalable fully-automated ratings system. The research will focus on identifying and incorporating new data sources, improving the statistical properties of the ratings model, and making the ratings predictive of future behavior.

Historically, credit scoring has been a "cost and time-saving technology" that has provided tremendous value to lenders and borrowers alike by reducing costs, predicting future performance, and improving credit accessibility and affordability. Unlike credit scoring, no industry standard scoring service exists to rate business with respect to their information security risk. With Saperix's ratings service, businesses and government will have the potential to reap the same time and cost savings that lenders do from credit scoring services. If the research is successful, Saperix's solution would provide market incentives for improving security outcomes, which would be a significant change in how security investments are viewed by businesses.

I have no idea if this is snake oil or if it actually works, but note that this is a Phase II award. There was already a Phase I award, and the NSF must have liked the results from that.

Posted by schneier on January 25, 2012 12:44 PM · permalink

  This series is dedicated to the use of Selenium with Python. Selenium is a convenient way to automate your web application for testing purposes.

In this first post, we'll see how to configure your continuous integration environment to run Selenium tests. In a second one, how to add Selenium tests to your web project, and finally how to integrate all this within Jenkins.

This post assumes a Debian GNU/Linux environment, but you should not have much trouble adapting it to another Linux distribution.

Browsers installation

Selenium requires at least one browser in order to run tests. The following three are a good start:
To install them append the following Debian repositories to /etc/apt/sources.list:
# Opera: see http://wiki.debian.org/Opera (replace squeeze accordingly)
deb http://deb.opera.com/opera squeeze non-free
# Chrome
deb http://dl.google.com/linux/chrome/deb/ stable main
Then run:
$ aptitude update
Add the keys to trust the new repositories:
$ wget -q -O - http://deb.opera.com/archive.key | apt-key add -
$ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
Finally re-update and install the packages:
$ aptitude update
$ aptitude install iceweasel opera google-chrome
Selenium also requires ChromeDriver to be able to interact with Chrome. Download chromedriver_linux64_X.zip or chromedriver_linux32_X.zip here (depending on your system). This zip contains an executable named chromedriver which should be in the PATH. Copy it in /usr/local/bin for example.

Display

If you are using slaves, it is likely that your Jenkins will run headlessly. If this is the case, you will need to provide a display when executing tests: this role is filled by vnc4server. To install it, just type:
$ aptitude install vnc4server imagemagick
Then, on the account running Jenkins, execute the following command to avoid prompts (password must be at least 6 characters):
$ vnc4passwdPassword:
Verify:
Your environment is now ready. In our next blog post, we'll see how to write Selenium tests for a Python web project based on Django.

Posted on January 25, 2012 11:03 AM · permalink

 

About a year ago, I wrote a small web browser, called De Vicenzo just for fun.

But hey, someone went and madeit useful for something! Specifically, to provide previews when doing sphix docs

That's cool :)

Posted on January 25, 2012 10:33 AM · permalink

  First off, I want to say that me and my fiancee will be attending PyCon US this year! Hooray! Can't wait to see old friends and make new ones. I'll be chairing one of the Panels at the PyWeb Summit on March 8th. We're absolutely delighted to see all the great talks, hang out in the hallway, and just be in the middle of Python for well over a week.

Now on to the extremely unofficial PyCon Early Birds program!

PyCon early registration ends on January 25th. If you register at the early bird rate that gets you the benefit of joining the elite PyCon Early Birds group. Being a member of the PyCon Early Birds gets you all sorts of incredible rewards and benefits.
  • Most importantly, you get some serious bragging rights.
  • A custom ribbon that says 'Early Bird' that you get to attach to your conference badge.
  • A discounted rate from the regular ticket rate as according to the registration page.
  • The confidence of knowing you have a ticket before they sell out.
  • A tasty and rather edible store-bought cookie provided by myself and Audrey Roy.
  • If the PyCon Early Birds program gets enough members, I'm going to challenge PyCon chair Jesse Noller to stump me with Yoga poses! There's no way he'll even consider accepting a challenge like this unless the PyCon Early Birds membership roster is big enough. So join and help me find out if his Bikram will beat my Capoeira!
  • Other incredible things that are in the works!

Of course, PyCon has tons of other reasons to sign up besides the PyCon Early Birds program. Amazing tutorials, talks, and sprints, plus great hallway tracks, a vendor room filled with great schwag, poster sessions, and startup row. Sponsorship levels are unbelievably high, and since the event is non-profit that means the money just goes right back into the community - starting with PyCon itself. This year is going to be AWESOME!!!

So what are you waiting for? Sign up for the Pycon Early Birds before it's too late!

Posted on January 25, 2012 09:56 AM · permalink

 

Inline allows you to write foreign code within your ruby code. It automatically determines if the code in question has changed and builds it only when necessary. The extensions are then automatically loaded into the class/module that defines it.

You can even write extra builders that will allow you to write inlined code in any language. Use Inline::C as a template and look at Module#inline for the required API.

Changes:

3.11.1 / 2012-01-25

Posted on January 25, 2012 08:12 AM · permalink

 

minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking.

"I had a class with Jim Weirich on testing last week and we were
 allowed to choose our testing frameworks. Kirk Haines and I were
 paired up and we cracked open the code for a few test
 frameworks...

 I MUST say that mintiest is *very* readable / understandable
 compared to the 'other two' options we looked at. Nicely done and
 thank you for helping us keep our mental sanity."

-- Wayne E. Seguin

minitest/unit is a small and incredibly fast unit testing framework. It provides a rich set of assertions to make your tests clean and readable.

minitest/spec is a functionally complete spec engine. It hooks onto minitest/unit and seamlessly bridges test assertions over to spec expectations.

minitest/benchmark is an awesome way to assert the performance of your algorithms in a repeatable manner. Now you can assert that your newb co-worker doesn't replace your linear algorithm with an exponential one!

minitest/mock by Steven Baker, is a beautifully tiny mock object framework.

minitest/pride shows pride in testing and adds coloring to your test output. I guess it is an example of how to write IO pipes too. :P

minitest/unit is meant to have a clean implementation for language implementors that need a minimal set of methods to bootstrap a working test suite. For example, there is no magic involved for test-case discovery.

"Again, I can't praise enough the idea of a testing/specing
 framework that I can actually read in full in one sitting!"

-- Piotr Szotkowski

Changes:

2.11.0 / 2012-01-25

Posted on January 25, 2012 08:08 AM · permalink

jwz  
  Remember back in October when Google glad-handed the world with a press release about pseudonyms that the credulous lapped up and called a "victory"? And I predicted:

I'll bet they still require you to register with your "real" name, but then they'll graciously allow you to have a linked nickname or two, meaning they're still fully prepared to roll over on you to authoritarian governments or advertisers at the drop of a hat.

Yup, that's exactly what they did. EFF's post more-or-less translates Google's latest press release into English and softly and timidly explains that this doesn't really mean anything.

(I understand that EFF feels the need to continue to fellate Google on this issue so that Google will return their phone calls, but calling this bullshit anything other than "bullshit" is bullshit.)

Google emphasizes how few people are affected by this policy by pointing out that only 0.1% of users have submitted name appeals, and of that 0.1%, only 20% were seeking to use a pseudonym, but even though their numbers are small, these are often the people who need social networks the most. These are the revolutionaries, the bloggers in authoritarian regimes, the isolated minorities reaching out to the rest of the world for understanding and support. If Google+ hopes to be a global company on the side of those seek to use technologies to build a free society, it needs to make room for the people working (often under adverse conditions) to create that world, instead of dismissing them as edge cases.

I have heard a vicious, unsubstantiated rumor that that last sentence -- before EFF's Google-apologists watered it down by projecting unbelievably high-minded aspirations onto Google -- originally read:

If Google+ hopes to be anything other than a room full of white middle-class Western men talking to one another, it needs to make room for these people instead of dismissing them as edge cases.

Oh, also, Google announces privacy changes across products; users can't opt out.

Previously, previously, previously, previously, previously.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 25, 2012 05:27 AM · permalink

Slashdot  
  MojoKid writes "Google's efforts to improve Internet efficiency through the development of the SPDY (pronounced 'speedy') protocol got a major boost today when the chairman of the HTTP Working Group (HTTPbis), Mark Nottingham, called for it to be included in the HTTP 2.0 standard. SPDY is a protocol that's already used to a certain degree online; formal incorporation into the next-generation standard would improve its chances of being generally adopted. SPDY's goal is to reduce web page load times through the use of header compression, packet prioritization, and multiplexing (combining multiple requests into a single connection). By default, a web browser opens an individual connection for each and every page request, which can lead to tremendous inefficiencies."

Read more of this story at Slashdot.


Posted by timothy on January 25, 2012 04:41 AM · permalink

  Model forms really helps to show the power behind Django. When all it takes is to define a model and then attach the model object to a form object and poof you have a form, I call that winning. In this video we will go over using your models you already have to create forms to save you time, heartache, and code.
Watch Now...

Posted by GoDjango - Django Screencasts on January 25, 2012 04:30 AM · permalink

Slashdot  
  New submitter Elenor writes with this story (excerpted) from TorrentFreak, another nugget gleaned from the cables made public by WikiLeaks: "The Canberra Wikileaks cables have revealed that the U.S. Embassy sanctioned a conspiracy by Hollywood studios to target Australian communications company iiNet through the local court-system, with the aim of establishing a binding common-law precedent which would make ISPs responsible for the unauthorised file-sharing of their customers. Both the location, Australia, and the target, iiNet, were carefully selected. A precedent set in Australia would be influential in countries with comparable legal systems such as Canada, India, New Zealand and Great Britain. Australian telecommunications giant Telstra was judged too large for the purposes of the attack. Owing to its smaller size and more limited resources, iiNet was gauged the perfect candidate." The cable describes no overt action on the part of the American embassy, but the wording is telling: "Mike Ellis, the Singapore-based President for Asia Pacific of the Motion Picture Association ... said MPAA did not see any role for Embassy at this time, but wanted to keep us informed."

Read more of this story at Slashdot.


Posted by timothy on January 25, 2012 01:45 AM · permalink

  Presto Vivace writes "Carlton Purvis of Security Management News reports that a tip from an amateur UAV enthusiast 'is what led Texas authorities to open a major criminal investigation into the waste practices of a Dallas meat packing plant.' The photo shows a river of blood."

Read more of this story at Slashdot.


Posted by timothy on January 25, 2012 12:39 AM · permalink

rediff.com  
  A rogue bus driver went berserk on the crowded streets of the city on Wednesday morning, smashing all vehicles coming in its way and leaving nine persons dead and 27 others injured.

Posted on January 25, 2012 12:01 AM · permalink

  Rediff.com presents some pictures of the preparations for the mega celebrations of January 26th!

Posted on January 25, 2012 12:01 AM · permalink

  Don't miss fashion photographer Manish Chaturvedi's 2012 edition, featuring sexy swimsuit beauties!

Posted on January 25, 2012 12:01 AM · permalink

  In his quest for a 4-0 whitewash, Australian skipper Michael Clarke said his team would not show any sympathy to Sachin Tendulkar, who remains unbeaten at the end of day two of the fourth Test in Adelaide and desperately seeks his 100th international century.

Posted on January 25, 2012 12:01 AM · permalink

  Solar-powered cars have ushered in a revolution in the transport sector.

Posted on January 25, 2012 12:01 AM · permalink

Slashdot  
  An anonymous reader writes "Julian Assange has announced he will host a talk show: 'Through this series I will explore the possibilities for our future in conversations with those who are shaping it,' Assange said in his announcement late Monday. 'Are we heading towards utopia or dystopia, and how we can set our paths? This is an exciting opportunity to discuss the vision of my guests in a new style of show that examines their philosophies and struggles in a deeper and clearer way than has been done before.'"

Read more of this story at Slashdot.


Posted by Unknown Lamer on January 24, 2012 10:53 PM · permalink

  theodp writes "'Sticks and stones will break my bones,' the old nursery rhyme goes, 'but names will never hurt me.' Unless, of course, you're on Google+. While touting what it calls a move toward a more inclusive naming policy for Google+, the search giant's Name Policy would still make Sister Aloysius Beauvier smile. Names like 'Doctor Stan Livingston,' 'Bill Smithwick DDS,' and 'Rev. Jim Copley, S. P.' are cited as examples of violations that could cost you your Google+ privileges. And since new Google account users are reportedly now forced to join Google+, one wonders if the Name Policy might even preclude one from establishing one of those adorable dear.sophie.lee or dear.hollie accounts."

Read more of this story at Slashdot.


Posted by Unknown Lamer on January 24, 2012 09:28 PM · permalink

  Diggester writes with an excerpt from an article at Gizmocrazed about the absurd amount of money Apple has spent suing HTC et al: "The never-ending war on Android has cost Apple more than $100 million, according to latest estimates. While a huge chunk of that money was spent (read wasted) in claims against HTC. So far, 84 claims have been filed against different Android manufacturers (HTC, Samsung, etc.) for patent infringements, out of which only 10 were proved to have been infringed and only one ruling has gone in Apple's favor."

Read more of this story at Slashdot.


Posted by Unknown Lamer on January 24, 2012 09:02 PM · permalink

  ktetch-pirate writes "If the SOPA/PIPA blackouts were a wakeup call to many people, then the U.S. Pirate Party has released a book that might help explain some of the issues. The book covers issues such as Corporate Personhood, the 4th Amendment, the history of copyright, and how DRM laws are made. There are even cartoons from Nina Paley throughout to add a bit of humor. DRM-free eBook versions are available to download from the book's site, or you can buy a paperback edition from Amazon for ten bucks." The book is under the CC BY-NC-SA, and features essays from the likes of Lawrence Lessig and Rick Falkvinge.

Read more of this story at Slashdot.


Posted by Unknown Lamer on January 24, 2012 08:46 PM · permalink

  The Zumba Fitness program fuses Latin rhythms with easy-to-follow moves. The routines feature interval training sessions where fast and slow rhythms and resistance training are combined to tone and sculpt while burning fat. Add some Latin Flavor and international zest to your workout by attending our Zumba class!

Teens & Up

Location: Serra Mesa-Kearny Mesa

Posted by Library (ek_contact@plymouthrocket.com) on January 24, 2012 06:00 PM · permalink

 


node logoHello everyone! This is the 15th post in the node.js modules you should know about article series.

The first post was about dnode - the freestyle rpc library for node, the second was about optimist - the lightweight options parser for node, the third was about lazy - lazy lists for node, the fourth was about request - the swiss army knife of HTTP streaming, the fifth was about hashish - hash combinators library, the sixth was about read - easy reading from stdin, the seventh was about ntwitter - twitter api for node, the eighth was about socket.io that makes websockets and realtime possible in all browsers, the ninth was about redis - the best redis client API library for node, the tenth was on express - an insanely small and fast web framework for node, the eleventh was semver - a node module that takes care of versioning, the twelfth was cradle - a high-level, caching, CouchDB client for node, the thirteenth was jsonstream - streaming JSON parsing library, the fourteenth was about everyauth - a module for authenticating your webapp with facebook, twitter, etc.

Today I'm gonna introduce you to procstreams by Marco Rogers. Procstreams is a little experiment with shell scripting in node. Here is an example:

var $p = require('procstreams');

$p('cat lines.txt').pipe('wc -l')
  .data(function(stdout, stderr) {
      console.log(stdout); // prints number of lines in the file lines.txt
  });

This example executes the shell command cat lines.txt, then pipes the output to wc -l, and then collects the output through a callback that prints the number of lines in lines.txt

Here is another example:

var $p = require('procstreams');

$p('mkdir foo')
  .and('cp file.txt foo/')
  .and('rm file.txt')
    .on('exit', function() {
      console.log('done');
    });

This example executes mkdir foo, and if that succeeds, it executes cp file.txt foo/, and if that succeeds, it executes rm file.txt.

The .and(...) is the same as && in the shell scripting.

Procstreams also support .or(...), which is || in the shell and .then(...), which is ; in the shell.

See procstreams documentation on GitHub for full info on other thingies it supports.

You can install procstreams through npm as always:

npm install procstreams

Procstreams on GitHub: https://github.com/polotek/procstreams.

Sponsor this blog series!

Doing a node.js company and want your ad to appear in the series? The ad will go out to 14,000 rss subscribers, 7,000 email subscribers, and it will get viewed by thousands of my blog visitors! Email me and we'll set it up!

Enjoy!

If you love these articles, subscribe to my blog for more, follow me on Twitter to find about my adventures, and watch me produce code on GitHub!

Posted by Peteris Krumins (peter@catonmat.net) on January 24, 2012 04:21 PM · permalink

  Our knowledgeable volunteers help answer your basic computer and internet questions.

Location: Oak Park

Posted by Library (ek_contact@plymouthrocket.com) on January 24, 2012 02:30 PM · permalink

  The raging controversy over author Salman Rushdie's visit to the Jaipur literary festival and the abrupt cancellation of a video link with the writer at the last minute on Tuesday evening refuses to die down. We reproduce an interview with Rushdie, when he visited India in 2000.

Posted on January 24, 2012 01:39 PM · permalink

  Mohammed Saleem Engineer is the National Secretary of the Jamaat-e-Islami-e-Hind, the hardline Islamic organisation that has its headquarters in New Delhi. The organisation is an offshoot of the Jamaat-e-Islami party whose objective it is to establish an Islamic state in Pakistan that is ruled by the Shariah law.

Posted on January 24, 2012 01:39 PM · permalink

 

We often hear from users that taking care of old tasks can really help to feel better about what's left to do. After cleaning up tasks you added long ago, this week's tip, shared by kateoneill, suggests also looking at cleaning up postponed tasks.

My morning RTM routine involves marking as "complete" any tasks that I did actually complete the day prior, but postponing the rest. This means that some tasks that don't grab my attention can end up deferred for days, weeks, and yes, sometimes even months. But I have two Smart Lists to help me address this:

one called "ORLY?" with
postponed:"> 5" AND priority:1
so that I can see any supposedly high-priority items I've been procrastinating on and either handle immediately or determine true next steps for

and one called "Clutter!" with
postponed:"> [whatever the highest number that yields results is]"
which allows me to go in periodically and clear out ALL old tasks, and then revise the smart list to a smaller number so that it continually tightens my view on my overall tasks.

Thanks for sharing this tip, kateoneill! You're our Tips & Tricks Tuesday winner this week.

Do you have a suggestion for our weekly Tips & Tricks post? Got an interesting set-up or idea? Head over to the Tips & Tricks forum, add a new topic, and let us know how you use Remember The Milk. Each week we'll give away a 1 year Pro account to the user whose idea inspires the Tips & Tricks Tuesday blog post for that week.

Posted by Andrew Conkling on January 24, 2012 12:56 PM · permalink

 

Turns out you can create unique signatures from plant DNA. The idea is to spray this stuff on military components in order to verify authentic items and detect counterfeits, similar to SmartWater. It's a good idea in theory, but my guess is that the security is not going to center around counterfeiting the plant DNA, but rather in subverting the systems that apply, detect, and verify the chemicals.

Posted by schneier on January 24, 2012 12:46 PM · permalink

  I am starting a new blog. The reason is that I want to keep this one more technically oriented while the other will be more focused at business and customers. Its name is Software for business and the idea is to show to the business in less technical details how the modern IT technologies like [...]

Posted by Between engineering and real life on January 24, 2012 08:53 AM · permalink

jwz  
  "iTunes could not connect to this iPhone because an unknown error occurred (0xE8000065). OK."

"Guru Meditation #00000004.0000AAC0", it did not go on to say.

It seems to pop up this dialog every few hours if my phone is in the vicinity of my iMac but not physically docked to it.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 24, 2012 07:38 AM · permalink

  I got a thing in the mail saying that DirecTV was raising my bill again. They went out of their way to tell me that their costs for programming had gone up by 10%, but that they were doing me a big favor by only raising my rates by 4%! How "nice" of them.

I correctly interpreted that as, "It is time for you to reduce your programming package again." So I went through the list of all of the programs (including "suggestions") that my DirecTivo had recorded in the last 5-ish months and generated the list of channels that I actually watch things from. It turns out that the list is:

  • Multiple shows: 3 or 4 local network affiliates, HBO, SHO, FX, BBCA, SYFY, CN;
  • And at just one show each: AMC, TNT, USA, and COM.
    (And for CN, that's literally about 8 hours of programming per year that I watch: Venture Bros. and Robot Chicken.)

In other words, I receive 626 channels, and watch shows from about 14 of them ever.

So here's how evil DirecTV is:

  • The DirecTV web site lets you add programming packages online, but never, ever lets you delete one. If you click the "X" box next to any of them, it just tells you to call the 800 number and waste time in voice jail before talking to a human.

  • The lowest "basic cable"-like package listed on the web site is the "Choice Package" at $60/month. However, they have a smaller/cheaper package than that for $40/month that you can only get by talking to a human and asking. I don't know what it's called. It contains most of what I want but not BBCA, COM or SYFY. (So for now I decided to pay the extra $20 for the convenience of not having to torrent those, but I'm not convinced that was the right call.)

  • If you ever have to replace your receiver or replace your crypto card, they will begin charging you a $6/month "additional receiver" charge for the broken receiver that you just threw away with the card that is no longer active, until you notice and call them and ask them to stop. (Likewise, you can't take care of this from the web site. Adding? Sure. Deleting? Crazy talk.)

  • I want exactly one channel each of SHO and HBO. They'll only sell me the bundle of 16 each. I have a DVR and they play everything multiple times: I only need one, because it's just a feed. But really, that's just the same old game of only selling bundles so that they can pretend to the advertisers that there are people in the world who actually want to watch the 600+ other channels they glom on to the two dozen-ish channels that anyone actually gives a shit about. It's such an ancient, long-standing monopolist evil that it's hardly worth mentioning, but hey, it's still fucking evil. If they let people buy channels a la carte, we'd all be paying $10/month, or they'd have to admit that they actually charge you $60 for Game of Thrones even if you don't watch it.

And this is all for plain old SD. I see they've finally released an HD DirecTivo, made of 3-ish years old tech, but you can't buy it outright: there's some kind of monthly licensing fee in addition to the higher rates for an HD feed, so it looks really, really rapey.

A few months ago I tried the "just torrent everything" approach for a few weeks, just to see if it was yet feasible to use the Internet as my television, and it's not. I tried using Ted for a while, and it... almost worked, but it was still a huge pain in the ass and ended up being an extremely manual process compared to what a DVR does.

Soon.

Soon.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 24, 2012 06:21 AM · permalink

  You have to have used git to really understand this one, but...
[16] git checkout f4a56
Note: checking out 'f4a56'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at f4a560b... Foo
As you may have gathered from this long warning, you most likely don't want to be in a detached head setting, you probably just meant to create a branch or wanted to rollback a commit but typed the wrong thing. Which is why there are lots of pages about what this means and how to get yourself out. My contribution to this literature can be found below the fold.

Posted on January 24, 2012 03:01 AM · permalink

 

Hoe is a rake/rubygems helper for project Rakefiles. It helps you manage and maintain, and release your project and includes a dynamic plug-in system allowing for easy extensibility. Hoe ships with plug-ins for all your usual project tasks including rdoc generation, testing, packaging, and deployment.

See class rdoc for help. Hint: ri Hoe or any of the plugins listed below.

For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf

Changes:

2.13.0 / 2012-01-23

  • 3 minor enhancements:

    • Added :dcov task so you can easily check documentation coverage.
    • Added Rake monkeypatch so that Task#clear will clear comments. (github)
    • Added coverage sorting and added tmp/isolate to rcov flags
  • 2 bug fixes:

    • Quelled 1.9.3 warning. (erikh)
    • rcov plugin should invoke isolate task if isolate plugin is being used.
  • https://github.com/seattlerb/hoe

Posted on January 24, 2012 01:15 AM · permalink

 

I have a Django project called RandoPony that handles event registration for the BC Randonneurs Cycling Club. It's on an annual release cycle; i.e. I spend the few weeks that pass for winter in Vancouver updating the project. That's when I bump it to the latest version of Django, fixing minor bugs, and adding new features that I and other users have come up with during the preceding year. Once I release a new version for the new year, I usually don't have to worry about the code until the next winter. The pony just works, facilitating people doing hundreds of thousands of kilometres of crazy long cycling events, and we like it that way!

My workflow at the beginning of the annual update looks something like:

  • Create a new virtualenv
  • Install the latest version of Django and other project dependencies
  • Read the release notes for the Django releases since the one I was working with last
  • Run the RandoPony test suite to find deprecations and other obvious breakage
  • Start hacking

I recently started working on the 2012 release of RandoPony and was blown away when I ran the test suite because there were over 60 failing tests! It took me way longer than it should have to figure out why things were so massively broken.

The problem was that the test fixtures weren't being installed. They weren't being installed because they are YAML files and I had forgotten to install PyYAML in the virtualenv. What's really annoying is that the fixtures files were being ignored silently.

It turns out that if you specify a YAML fixture for a Django TestCase:

class TestPopulairesListView(django.test.TestCase):
    """Functional tests for populaires-list view.
    """
    fixtures = ['populaires']

without giving the fixture file a .yaml extension, the fixture will be silently ignored if PyYAML isn't installed. Really, Django?!

So, the number 1 thing that I should have done to save myself from this thrash was to explicitly specify the serialization format of my fixtures:

class TestPopulairesListView(django.test.TestCase):
    """Functional tests for populaires-list view.
    """
    fixtures = ['populaires.yaml']

Then the Django test runner would have told me:

Problem installing fixture 'populaires': yaml is not a known
serialization format.

I'll take the hit for ignoring the PEP 20 aphorism "Explicit is better than implicit". But shouldn't Django get docked for "Errors should never pass silently"?

The other thing I should have done was use a pip requirements file for the project.

RandoPony has 2 requirements files now. requirements.txt for the packages required for the production deployment, and requirements-dev.txt for the additional packages, like PyYAML, required for development work. Now I just have to hope that I'm smart enough when I start work on the 2013 release to do:

(randopony)$ pip install -r requirements.txt
(randopony)$ pip install -r requirements-dev.txt

Posted on January 24, 2012 12:14 AM · permalink

rediff.com  
  Sheela Bhatt launches a special series where well-informed Uttar Pradesh residents discuss the psyche of voters, the personalities of its leaders and the socio-cultural lives of the people of the election-bound state.

Posted on January 24, 2012 12:01 AM · permalink

  US-based reader Rangaprabhu Parthasarthy features four key elements that he predicts will help Microsoft emerge as a force to reckon with in 2012 in response to our reader invite.

Posted on January 24, 2012 12:01 AM · permalink

  Centurion Ricky Ponting does not want Australia to "kill too much time" in their pursuit of putting up a huge first-innings total, for taking 20 wickets could be hard work on a benign pitch at the Adelaide Oval.

Posted on January 24, 2012 12:01 AM · permalink

  The Reserve Bank on Tuesday said the government should deregulate diesel prices in order to contain the trade deficit, which is expected to widen to $160 billion during the current fiscal.

Posted on January 24, 2012 12:01 AM · permalink

 

Posted on January 24, 2012 12:01 AM · permalink

jwz  
  DNA Lounge update, wherein we introduce you to Superstar Tagger of the Week, Kyle Andrew Neesan.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 23, 2012 11:27 PM · permalink

  First off, I want to say that me and my fiancee will be attending PyCon US this year! Hooray! Can't wait to see old friends and make new ones. I'll be chairing one of the Panels at the PyWeb Summit on March 8th. We're absolutely delighted to see all the great talks, hang out in the hallway, and just be in the middle of Python for well over a week.

Now on to the extremely unofficial PyCon Early Birds program!

PyCon early registration ends on January 25th. If you register at the early bird rate that gets you the benefit of joining the elite PyCon Early Birds group. Being a member of the PyCon Early Birds gets you all sorts of incredible rewards and benefits.
  • Most importantly, you get some serious bragging rights.
  • A custom ribbon that says 'Early Bird' that you get to attach to your conference badge.
  • A discounted rate from the regular ticket rate as according to the registration page.
  • The confidence of knowing you have a ticket before they sell out.
  • A tasty and rather edible store-bought cookie provided by myself and Audrey Roy.
  • If the PyCon Early Birds program gets enough members, I'm going to challenge PyCon chair Jesse Noller to stump me with Yoga poses! There's no way he'll even consider accepting a challenge like this unless the PyCon Early Birds membership roster is big enough. So join and help me find out if his Bikram will beat my Capoeira!
  • Other incredible things that are in the works!

Of course, PyCon has tons of other reasons to sign up besides the PyCon Early Birds program. Amazing tutorials, talks, and sprints, plus great hallway tracks, a vendor room filled with great schwag, poster sessions, and startup row. Sponsorship levels are unbelievably high, and since the event is non-profit that means the money just goes right back into the community - starting with PyCon itself. This year is going to be AWESOME!!!

So what are you waiting for? Sign up for the Pycon Early Birds before it's too late!

Posted by Daniel Greenfeld on January 23, 2012 10:16 PM · permalink

 

DARPA is funding research into new forms of biometrics that authenticate people as they use their computer: things like keystroke patterns, eye movements, mouse behavior, reading speed, and surfing and e-mail response behavior. The idea -- and I think this is a good one -- is that the computer can continuously authenticate people, and not just authenticate them once when they first start using their computers.

I remember reading a science fiction story about a computer worm that searched for people this way: going from computer to computer, trying to identify a specific individual.

Posted by schneier on January 23, 2012 05:49 PM · permalink

  These #Twitter tips can help make a good social media campaign even better. http://t.co/mfvZqWHH # Looking for a good #iPad #news app? Here are 10 of the best. http://t.co/pbZKNXNP # Have you ever been burned while #buying a #used piece of equipment? http://t.co/YeLwtsdm Here are five things to...

Read the full article on http://chris.pirillo.com/


Posted by Chris Pirillo on January 23, 2012 05:05 PM · permalink

  Published on January 23, 2012 OWN OR WORK FOR A small BUSINESS? A friend has launched BestVendor, to help small businesses decide what software to purchase (and, one day, what everything-else to purchase).

Posted on January 23, 2012 01:49 PM · permalink

  Last year I wrote a blog post called My tips for speaking. In the face of SCALE 10X and other events coming up, this is my refactoring of that talk.

My experience in giving talks? I've been presenting on the job since 1999. I've been presenting at conferences since autumn of 2008. This past year (2011) I gave a lot of talks, helped others with their talks, and did a number of cooperative talks where I shared the stage with another person. I've learned a lot, from my own mistakes and those of others. Since I like to share, here we go.

You aren't Steve Jobs


In terms of presenting, Steve Jobs was no mere mortal. He got away with wearing black in front of a black background. His slides were frequently dark. And he held up tiny objects in front of literally billions of people. He did all of this and got away with it.

You. Won't.

Steve Jobs was billionaire leading a multi-billion dollar company. His presentations were highly choreographed affairs where every detail from lighting to audio to who got to attend was tightly controlled.

For example, Steve could wear black because of amazingly proficient stage lighting techniques. Carefully watch a high definition video of him showing off the latest product while in a black sweater and you'll see that he's literally standing in a column of light. Odds are most conferences don't have spotlights or fancy lighting, and even if they do - the stage crew are not being promised a bonus for doing it right and financial ruin if they fail.

What this means is be very, very careful about using the attributes of Steve's talks for inspiration or arguments on how you are going to do a talk.

What to wear


Bring several presentation shirts to the conference so you can be sure that what you are wearing shows up in front of the background. Be a little classy and wear a polo shirt instead of that t-shirt. If the background is the same as your shirt, go and change. If you don't have a shirt that works, go buy one or wear your jacket.

The reason being is the same as why Newscasters don't wear some colors on video. They don't want to look like floating heads and hands. It happens to them, it happens at technical conferences, and it will happen to you.

Black text on white background


I said it last year and I'll say it again: High contrast slides please. If a designer, manager, friend, or spouse tries to stick colored backgrounds or text into your slides, politely remind them that what shows up nicely on the monitor or laptop will absolutely fail to be appreciated by the attendees of the talk. Social media and IRC will be filled with comments about the unreadable colors of your slides.

Remember, unlike Steve Jobs, you have no control over the AV team or whatever the conference venue provides when it comes to projectors and screens. So play it as safe as possible.

I really prefer the black text on white background. The people in the vision community (arts, theatre, animantion, and eye doctors) all agree with me.

This past year I've had technical people (all with jobs outside the vision community) quote some interesting material about the validity of white text on black background, but I personally find it hard to read those slides if I'm in the back. Also, if the room is brightly lit, the letters are barely visible.

The happiest alternative I've seen was at a Mongo event, and was a certain shade of dark blue with bright yellow letters. However, I think like the black background, it would be suspect in the wrong light.

One last note: Don't use color gradients in your slides. Please.

Cheat at the command line!


I'm giving a talk today at Southern California Linux Exposition 10x called Intro to Python. It's inspired by folks like Raymond Hettinger and David Beazley. And the big thing I'll be doing is avoiding the command-line like the plague.

This is because the command-line is treacherous in front of an audience. Conference networks are notoriously prone to going down at the wrong moment. Same goes for laptops, especially when connecting to projector hardware it's never touched before.

Also, you know what it is like typing with someone looking over your shoulder? Imagine that times hundreds, or thousands when your video is being uploaded so people around the world can view it.

So either use something like PLayer Piano to record a command-line session in a docstring, or do what I do and use slide transitions to mock typing.

Be rested, fed, and sober for your talk.


In 2011 I watched a guy fumble through a talk with beer in hand, a personal hero of mine blearily try to get through his talk after a late night of drinking, and a couple people try to present after all-nighters.

Respect your audience and take care of yourself before the talk. Get some sleep, eat well, and drink moderately. This will really help you get invited to more events.

Practice, practice, practice


In the past I've said I don't practice much. If at all. Ahem...

It has been pointed out to me that I practice. A lot. Maybe not in front of a mirror, but I'm constantly going through my slides and coming up with things to say. I'll go through all my slides one-by-one and mouth what I'll be saying, and work out the timing of things. Which means that while I haven't been projecting my voice, I have been practicing.

In 2011 I did the curious thing of actually trying to practice on a couple presentations. And I have to say that I've seen a huge amount of improvement. I certainly felt more confident and I feel like the talk goes better! For example, A talk I gave at PyCon AU 2011 that had some issues after a lot of practice went smashingly better at DjangoCon 2011.

Push questions and comments to the end


Your talk should have a flow, a pace as it were. And lots of interruptions will cause you to lose your chain of thought, or cause the audience to lose focus. If someone asks a question during your talk, ask them to wait until the end.

If they keep asking questions or giving comments, ask them nicely to talk to you after your presentation. People are decent and will respond nicely to your request.

Sign up for Pycon US!


Early bird registration closes on January 25th. Sign up for it beforehand and you'll have enough money for a really good dinner with drinks. What are you waiting for? Go do it!

Posted on January 23, 2012 11:25 AM · permalink

 

let me tell you a story

a story that never ends ..

let me tell you a story

a story that never began

let me tell you a story

that was there when God found himself

and will still be there when God

forgets who he is

let me tell you a story

a story of love

Posted by shekhar on January 23, 2012 10:25 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 03:49 AM · permalink

  On my way to Red Rock today to do some work, I looked in my wallet to see if I had enough money to afford my hot chocolate (paying for a $3.50 drink with a credit card is a pretty lame move). Here's what I found:

After some sorting, it comes out as follows...

Currency Count Value (nominal) Value (USD)
USD 3 3 3
CAD 7 100 98.55
CZK 2 2100 106.40
GBP 1 10 15.55
EUR 1 20 25.79
INR 1 100 1.99
RUB 9 1570 49.97
Total 24 - 301.25

In other words, out of 24 total pieces of paper valued at over $300, I had three spendable pieces of paper valued at $3. Oh, and a couple of United beverage vouchers which expire in 9 days. I ended up going to the ATM.

Posted on January 23, 2012 02:35 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Posted by Reinout van Rees' weblog on January 23, 2012 01:18 AM · permalink

 

Boston, MA

Posted on January 23, 2012 12:49 AM · permalink

 

Documenting projects is hard, hosting them shouldn't be. Read the Docs was created to make hosting documentation simple. I think that we have solved this problem well, but now we need to start thinking about the larger picture.

Along with hosting, Read the Docs was created with 2 other main goals. One was to encourage people to write documentation, by removing the barrier of entry of hosting. The other was to create a central platform for people to find documentation. Having a shared platform for all documentation allows for innovation at the platform level, allowing work to be done once and benefit everyone. Having run the site for over a year now, I think there is a third thing that we should be striving for. That is to make the quality of documentation better.

I think that we can help a documentation culture flourish within the open source world. Django is a shining example of what a project with great documentation can do, and it has a community that values docs more than the norm. I think we can help spread this culture throughout the Python world, and beyond. This has already started, and I want to think about how something like RTD can help.

What we can do to help

I think that having a guide for writing useful documentation would be a great step towards helping people along the path of documentation enlightenment. Jacob Kaplan-Moss has started down this road with his blog series and Pycon 2011 talk on this subject. I think that we could start by collecting these into a section of the site.

We could build on top of that great start with simple guides for how to get started with Sphinx, best practices for documentation, and providing a general place to learn more about how to write good documentation. Since we host a lot of documentation, we could point to live examples of techniques, and provide helpers for people to enable the techniques.

I have started a reStructedText Philosophy document that is meant to help people understand the ideas behind how reST works, so that it isn't as mystifying. This reST cheatsteet also appears to have similar goals. These are a very basic start, and I think some more along these lines would really help a lot of people get over the barrier to starting and continuing to write good documentation.

I think that we could also help create contributors to projects, if we could find an easy way to provide patches to documentation. If you could go to the project documentation, and fix small typos, or help add a paragraph in the tutorial, it would lower the bar to helping.

However, it isn't a wiki. These changes would be represented to the project author as pull requests in their VCS, and they would still be responsible for tending the garden. This gets rid of the "Just Edit The Wiki" solution of documentation, and also helps new contributors get started in an easier fashion.

The Plone community has built a proof of concept, linking to Github's edit pages for the current document. I think we can integrate this at the platform level, and make it available to everyone.

Want to help?

Read the Docs is open source. You can help by writing docs for the site, writing code for the site, or just writing documentation in general. People can also help just by using the site, and reporting bugs. Telling us how to make the site better helps everyone in the long run. Come join us on Freenode in the #readthedocs channel as well.

Another area that we're hurting is in the design front. We have been adding features over time, and the design of the site is getting a bit strained. Having someone with a good sense of design help re-think and re-architect some of the features and ideas that we've been working on I think would help a lot.

A lot of the RTD contributors will be at Pycon 2012, where we will be having a sprint on the site. If you want to get started contributing, that is a great place to come and get started.

Posted on January 23, 2012 12:38 AM · permalink

rediff.com  
  There's nowhere to hide when you hit the worst shot of a tennis Grand Slam.

Posted on January 23, 2012 12:01 AM · permalink

  The Maharashtra Anti-Terrorism Squad on Monday claimed to have made a major breakthrough in the July 13 triple blasts in Mumbai last year that claimed 27 lives, with the arrest of two of the accused hailing from Bihar.

Posted on January 23, 2012 12:01 AM · permalink

  Riteish Deshmukh and Genelia D'Souza open up about their relationship.

Posted on January 23, 2012 12:01 AM · permalink

  Here's a glimpse of on and off-ramp action at the India Kids Fashion Week held in Mumbai last week!

Posted on January 23, 2012 12:01 AM · permalink

  The RBI-sponsored survey by professional forecasters has revised the growth projection for the current fiscal downward to 7 per cent, which is lower than the central bank's projection of 7.6 per cent.

Posted on January 23, 2012 12:01 AM · permalink

 

MPAA Directly & Publicly Threatens Politicians Who Arent Corrupt Enough To Stay Bought on Techdirt.

Posted by Matt on January 22, 2012 08:43 PM · permalink

  I am announcing the release of Django Better Cache 0.5 today. This release includes a move to sphinx as a documentation tool and a new component, the bettercache.objects module, which provides a lite ORM-like interface for caching data.

Please read the full, but short documentation over at Read The Docs for details on the bettercache {% cache %} tag and the bettercache.objects ORM, and have a much easier time with your caching needs.


Here is just a quick example of the new cache models, from the docs:


class User(CacheModel):
    username = Key()
    email = Field()
    full_name = Field()

user = User(
    username = 'bob',
    email = 'bob@hotmail.com',
    full_name = 'Bob T Fredrick',
)
user.save()

...

user = User.get(username='bob')
user.email == 'bob@hotmail.com'
user.full_name == 'Bob T Fredrick'
 

Posted on January 22, 2012 07:55 PM · permalink

  Music on the Mesa presents folk and Americana trio Trails and Rails, in a concert which is free and open to the entire family.

Location: Serra Mesa-Kearny Mesa

Posted by Library (ek_contact@plymouthrocket.com) on January 22, 2012 07:00 PM · permalink

  It's often convenient to create callable objects that maintain some kind of state. In Python we can do this with objects that implement the __call__ method and store the state as instance attributes. ... [596 words]

Posted on January 22, 2012 03:05 PM · permalink

jwz  
  </a>

Please enjoy jwz mixtape 108.

I've fallen behind, and already have 3+ more mixtapes worth of new-ish videos in the queue after this one!

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 22, 2012 03:24 AM · permalink

 

Thank you, Cyan!

Previously, previously.

Mirrored from jwz.org.

Posted by jwz (jwz@jwz.org) on January 22, 2012 01:01 AM · permalink

rediff.com  
  In a bid to project a non-partisan face, Anna Hazare and his team on Sunday shot off a series of letters to leaders, including Prime Minister Manmohan Singh, Rahul Gandhi and Bharatiya Janata Party President Nitin Gadkari, trying to put them on the mat on the Lokpal issue ahead of Assembly polls in five states.

Posted on January 22, 2012 12:01 AM · permalink

  Clad in a mustard salwaar-kameez and sporting golden bangles, the queen of chat shows Oprah Winfrey was the headline draw at the Jaipur Literature Festival on Sunday.

Posted on January 22, 2012 12:01 AM · permalink

  The Indian cricket team is drawing criticism for what is being described as lack of intensity in training but it found unlikely support in Australian batsman Mike Hussey, who said the visitors are experienced enough to do well without long net sessions.

Posted on January 22, 2012 12:01 AM · permalink

  Kodak has filed for bankruptcy.

Posted on January 22, 2012 12:01 AM · permalink

 
  • While fuss is being made about SOPA, countries like Belgium already forcefully block alleged pirated content thru ISP. http://t.co/pCbaSxdN #
  • What an episode! Sherlock definitely will have much explaining to do when the series comes back! #sherlock #

Posted by Debashish Chakrabarty on January 21, 2012 09:00 PM · permalink

  The friends of the Mission Hills Branch Library will hold a book sale. Come by and stock up on books while supporting your library!

Location: Mission Hills

Posted by Library (ek_contact@plymouthrocket.com) on January 21, 2012 02:30 PM · permalink

  Support your library while shopping for bargain books and movies outside, on the Cass Street Plaza!

Location: Pacific Beach/Taylor

Posted by Library (ek_contact@plymouthrocket.com) on January 21, 2012 02:30 PM · permalink

  Get the Most out of Your Conference-going Experience

Posted on January 21, 2012 06:37 AM · permalink

rediff.com  
  India's wait for a London Olympics berth from the Asian Shooting Championships ended on Saturday with Imran Hassan Khan bagging a quota place in the 50m rifle 3 positions event on the final day in Doha.

Posted on January 21, 2012 12:01 AM · permalink

  Prime Minister Manmohan Singh on Saturday launched a scathing attack on the Parkash Singh Badal-led Shiromoni Akali Dal-Bharatiya Janata Party government in Punjab, saying the state which was once a frontrunner in all spheres had now fallen behind.

Posted on January 21, 2012 12:01 AM · permalink