Saturday, March 30, 2013

Easter weekend reading

There is some sort of magic substance in chocolate-covered marshmallow bunnies, that's all I know...

Fuelled by the yummies, here's a few things I'm reading

  • Bravo to Meagan Marie for speaking out: What Would You Do if You Weren't Afraid?
    The treatment and representation of women in gaming has come to a head this past year, and I know some of you are tired of hearing about it. I’m tired of living it. I want to feel safe and valued as a member of this industry, whether I’m conducting an interview, talking to fans on a convention floor, or cosplaying. And I have a right to that. I’m not afraid anymore.
    Carol Pinchefsky also has good coverage in Forbes: Really? IGDA Party At GDC Brings On The Female Dancers
    The Game Developer Conference is full of fun, with hands-on demonstrations of unreleased games, talks from the developers, and day-long workshops designed to cram as much information into our game-soaked brains as possible. But not every event is as enjoyable as the others
  • Next week is the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI ’13). The program is here, and it looks superb. I'm looking forward to studying all of this work in detail, such as the FAWN team's work on optimistic cuckoo hashing and the Eiger project on causally-consistent replication.
  • The battle over global-scale cloud platforms is intense, with the news that EBay/PayPal are abandoning VMWare for OpenStack and Netflix announcing a contest for improving cloud computing. Meanwhile, Joe Masters Emison wonders whether the industry is standardizing and consolidating too soon: How Netflix Is Ruining Cloud Computing
    Locking yourself down to AWS today, for greenfield cloud architectures, would be the equivalent of deciding to develop an iPhone-only application when you know you'll have to support iPads, Android and others in the future
  • The best description of the SpamHaus/CyberBunker incident appears to be from CloudFlare: The DDoS That Almost Broke the Internet
    Then the attackers changed their tactics. Rather than attacking our customers directly, they started going after the network providers CloudFlare uses for bandwidth. More on that in a second, first a bit about how the Internet works.
    Professor Ed Felten of Princeton offers some additional observations here: Security Lessons from the Big DDoS Attacks
    Attackers will strike where the defenses are weakest, and defenses are often weakest where the incentive to defend is lacking.
  • We happened to drive across the Benicia bridge a few weeks ago, and I noticed that there's barely a dozen hulks left of the once-immense "Mothball Fleet". If you have no idea what I'm talking about, start here: Inside the Ghost Ships of the Mothball Fleet
    On subsequent trips, we spent the entire weekend aboard the ships, each time on a different row. Because they are tethered closely together in rows, we had many ships to explore—enough to keep us occupied for a week or more if the excursions were not so draining and we did not have jobs pulling us back. But the main reason we stayed all weekend is simply because it was such a challenge to get out there.
  • Great article from the MemSQL blog: Common Pitfalls in Writing Lock-Free Algorithms
    How to write a correct lock-free stack

    Most of the above problems have many different solutions. Here I’ll describe the approaches I use at work for our lock-free stack.

  • Distributed systems take debugging to a whole new level. Pindi Albert takes us through a great example: Debugging a race condition with client-side load balancing, and I love the description of the Ah-HAH moment:
    While doing some routine development one day, I accidently reproduced the issue on my local machine. This was a significant breakthough; until now the issue had only surfaced on production machines where many variables complicate debugging.
  • It is sadly true that most government regulations are actually written by members of the industry being regulated; this article in Washington Monthly digs into a recent example: He Who Makes The Rules
    But the executives stood their ground. Their lawyer quietly referred Chilton to the end of the sentence in question: as appropriate. Those two little words, the lawyer said, clearly modify the verb “shall.” Therefore, the statute can be interpreted as saying that the commission shall—but only if appropriate—establish position limits, he explained.
  • Professor Michael Mitzenmacher explains why the Weev verdict is problematic: Update: Andrew Auernheimer Watch. As Justin Peters notes in Slate:
    While the specifics of the charges in each case differ, all three illustrate the unfortunate plasticity of the CFAA, and how it can be shaped and contorted to cover almost any computing-related actions.
  • Fred Wilson of Union Square Ventures describes the way that most startups end: When Things Don't Work Out
    In this scenario, the company runs out of cash and there is no more coming from the investors. The company cannot sustain itself and one of two things happens. There is a fire sale or an acqui-hire, or there is a shut down. The fire sale is the preferred outcome and VCs and entrepreneurs have gotten pretty good at finding homes for the teams in recent years. There is such a vacuum of talent out there that a fire sale can often be arranged just for the talent that a company has assembled. But often the fire sale cannot be arranged and the company has to be shut down.
    What Wilson doesn't really discuss is the sad fact that, in most of these cases, the investors and executives do just fine, but that "talent" that the company has "assembled" finds that they've given years of their lives to an effort that returned the favor by telling them how lucky they are just to have jobs. Oh Bryan, don't dwell on those lessons; let's just go back to celebrity star-gazing and glorifying the lucky few.
Hey, it's a nice weekend, and my grand-daughter says it's time to walk the dog. So get off that computer, Bryan, and get outdoors!

Wednesday, March 27, 2013

BioShock Infinite: a very short GUEST review

From an official family playtester, after a whopping 24 hours of time with BioShock Infinite, comes this:

It's not an "open world" like Skyrim still takes the cake in that regard.

But the detail is incredible!! I character is strolling down the city, there are kids running around chasing confetti, playing with each other, balloons are making shadows...that are realistic....and then I walk around a corner and a trolly car pulls up, with a quartet a capella group, singing a song....not just a short bit, but a full song...and the automated 'drone' other citizens (NPCs) start walking up to the trolly and dancing, listening to the music. and the singers, they're moving! they're dancing and giving it soul! So i waited until their song was finished and kept walking on by.

I played for maybe 2 hours...and moved 5 minutes toward a mission.

There are people interacting with me in ways that have never been done before (except in Skyrim).

You know where a NPC talks at you, but doesn't engage you in a if you stop and listen, you'll get a tip or quest...yeah

It's a deeply layered game, and I already love it.

Gotta hurry up and finish me that Kingdoms of Amalur, don't I ?!

Age, by Bryan

In my teens and twenties, I was never tired. I went for days on end with barely 4 or 5 hours of sleep, reading everything I could find, studying everything around me, talking endlessly with all the other people I met.

In my thirties and forties, I was sometimes tired, but I still motored on. As long as I remembered to watch what I ate and drank, I still had lots of energy, which was good, because as kids came along there was so much more to do.

In my fifties, I find that I am often tired, and simply willing myself to go at the same pace doesn't seem to work anymore. Luckily, though, I am still quite healthy, and I'm able to do things efficiently. I've learned to get my work done very effectively, leaving a fair amount of time for the other things in my life, but I still end each week with a longer to-do list than I started with. I can't play soccer three times a week like I used to, nor do I seem to bounce up and down the stairs like I did, but those are only minor disappointments.

I know that this progression will continue. The important thing is to continue to learn to get the mandatory things done as quickly and effectively as possible, to leave as much time as I can for the things that matter (like losing to my granddaughter in Finca, Acquire, or SmallWorlds).

Our 95-year-old neighbor doesn't remember our names anymore, but she still has a beautiful smile and a kind word. We don't get to control everything in our lives, but I'm surely grateful for all the blessings I've received.

Tuesday, March 26, 2013

Some versioning theory

As the old saying goes:

In theory, theory and practice should be the same. In practice, however ...

As is no surprise, when I get interested in something, I like to understand both the theory and the practice. By temperament, as it turns out, I'm much more of an engineer than a theoretician, so it typically turns out that I spend much more of my time understanding the practice than the theory, but I do make my efforts to comprehend the theory behind what I'm doing, whether that be concurrent programming, database storage systems, compilers, networking protocols, distributed object systems, etc. (those being some of my major interests over three decades of computing).

Anyway, my current interests are in the area of version management, so I find myself once again looking for information on both the practice and the theory of versioning.

So I've been spending a lot of time recently catching up with a fascinating project being conducted by Microsoft Research: Concurrent Revisions.

The Revisions project introduces a novel programming model for concurrent, parallel, and distributed applications.

At first, it might not be obvious why this is relevant to version management software, but the research team explain:

To simplify this problem, we introduce a novel programming construct called “revisions”, which is inspired by revision control systems commonly used by development teams. Revisions are forked and joined much like asynchronous tasks. However, rather than accessing global shared data directly (and thereby risking data races or atomicity violations), all revisions execute on a (conceptual) copy of the shared state, a "global mutable snapshot" so to speak. Any changes performed in a revision apply to that snapshot only, until the revision is joined at which the changes become globally effective.

This is, actually, a fairly radical idea, as they explain in their foundational 2010 paper presented at the OOPSLA conference: Concurrent Programming with Revisions and Isolation Types

Note that our use of revision diagrams to reason about program executions is a marked departure from traditional concurrency models such as sequentially consistent memory or serializable transactions, which reason about concurrent executions by considering a set of corresponding totally ordered sequential histories. These traditional models make the fundamental assumption that programmers must think sequentially, and that all concurrency must thus be ‘linearized’ by some arbitration mechanism. However, such arbitration invariably introduces nondeterminism, which may easily present a much larger problem for programmers than direct reasoning about concurrent executions.

I love looking at the revision diagrams in their paper, unsurprisingly, I guess, since I think that tools like the Perforce Revision Graph Tool are extremely powerful ways to comprehend complex information in a visual form.

And since I, myself, have found that my career has moved from starting with a deep fascination with and understanding of sequentially consistent memory models and serializable transaction models, on to my current fascination with version management, asynchronous replication, and conflict resolution, it is probably no surprise that I find the Microsoft Revisions project so worthwhile.

However, since the project was started, the team have gone on to flesh out their ideas in considerable detail, and have explored the use of the techniques in other problem domains beyond the original game-programming arena.

For example, last summer they presented work at ECOOP: Cloud Types for Eventual Consistency.

Our system uses revision diagrams to guarantee eventual consistency, as proposed in [ S. Burckhardt, M. Fahndrich, D. Leijen, and M. Sagiv. Eventually Consistent Transactions.]. Conceptually, the cloud stores the main revision, while devices maintain local revisions that are periodically synchronized. Revision diagrams are reminiscent of source control systems and provide an excellent intuition for reasoning about multiple versions and eventual consistency.

Providing adequate programming models for eventually-consistent storage systems is a very important topic nowadays, and the Microsoft Revisions team is doing some fascinating research. Their most recent work in this area is brand new this week: Understanding Eventual Consistency

At the moment there is a lot of confusion about the semantics of eventual consistency, as different systems implement it with different sets of features and in subtly different forms, stated either informally or using disparate and low-level formalisms.

Thank you Microsoft, for sponsoring this research, and for enabling the team to freely share their work with the world. It is much appreciated by people like me!

I'm looking forward to digging through their results in detail, and to continuing to follow their research as it progresses.

Sunday, March 24, 2013

Go Magnus go!

We're halfway through the 2013 Candidates Tournament, and it is going very well, I think. The games have been fascinating and very hard fought.

As Dylan McLain noted in the New York Times: Change in Title Format Forces Switch in Strategies

The Candidates Tournament to select a challenger to face Viswanathan Anand for the world chess championship began on March 15 in London, and it has proved one thing: A single event beats the elimination matches that have most often been used since 1965.

Vinay Bhat sums up the first half of the tournament: Thoughts After One Trip Through the Lineup

At the halfway point, Carlsen and Aronian are ahead of the pack on +3 (5/7). Nobody else even has a plus score, while the elder statesmen among the group (Ivanchuk and Gelfand) are on -2 (2.5/7).

As for me, I'm sticking with my predictions: Kramnik is going to make a run, but he can't close the gap. Aronian will stay close, but ... let me say it again:

Magnus is coming!

Or, as The Week In Chess noted in their summary of round 7

Magnus Carlsen wound up the tension against Teimour Rajdabov creating a very sharp position where he was eventually going to allow a strong kingside attack. Things went wrong for him but probably not quite to the extent that the computers said. Carlsen was well prepared to sacrifice the exchange as he did and he did get more than enough compensation. Carlsen thought he ought to be much worse but only by slow play with something like 25...Be7. Rajdabov's 25...f2 looked like the winning idea but Carlsen found a lot of counterplay. A fascinating yet flawed game that shows just how confident Carlsen is in his own abilities and perhaps provides a better insight into the way Carlsen tries to drag his opponent into trouble than games where this works out.


OK, now, tell me (and be honest):

Do you know anybody, who knows anybody, who knows anybody, who picked Florida Gulf Coast University to make the Sweet Sixteen in their bracket?

I've never been to Fort Myers, and may never go there.

But everyone in America is an Eagles fan this weekend!

Saturday, March 23, 2013

A Glorious Defeat: a very short review

Somewhat unexpectedly, Timothy Henderson's A Glorious Defeat: Mexico and Its War with the United States found its way to my nightstand.

Henderson's book is history, but with a different technique, as Henderson isn't interested in the usual approach to a history book about a great war:

even though the book ostensibly is about "war," it spends relatively little time detailing military maneuvering, focusing instead on political and diplomatic maneuvering. This is not to suggest that the mechanics of warfare were irrelevant; it is, rather, to suggest that an examination of how and why Mexico and the United States went to war sheds light on the conflict's real significance.

The other aspect of Henderson's approach is to try to look as deeply into Mexico's side of the conflict as the United States's side. As my mother used to remind me, "it takes two to fight," and one of the fascinating questions is why this war occurred, when there were so many ways that the conflict could have been resolved otherwise.

As Henderson explains, Mexico's behavior can be understood both culturally and politically, once you reflect on the dynamics of the United States at the time (expansionism and a looming conflict over slavery), and once you spend more time understanding the internal complexities of Mexican society in the years leading up to the war:

the rational strategy was unacceptable for two reasons: it would have been tantamount to recognizing the right of the United States to expand its boundaries almost at will, imposing its racist vision everywhere; and it would have necessitated compromise with political opponents. Given those realities, the desperate glory of death on the battlefield seemed preferable to the ignominy of compromise and surrender.
Thus does Henderson term the result a "Glorious Defeat."

One of my favorite parts of the book was the color Henderson brings to the story. Both sides were full of larger-than-life characters, and the stories of the U.S. principals have become legend: Sam Houston, Stephen F. Austin, Andrew Jackson, Ulysses Grant, Zachary Taylor, etc.

But the characters on the Mexican side were just as fascinating, or even more so, and Henderson does a wonderful job of bringing them to life.

One of the most significant, of course, was Antonio Lopez de Santa Anna, who played many roles in Mexican society of the time: military leader, politician, banker, rebel. Santa Anna, at various times, found himself on almost every side of every issue; amazingly, he was President of Mexico eleven separate times. Henderson fills his book with the rich tales of Santa Anna's escapades; it's fun just to look at the index entries for Santa Anna at the end of the book:

Santa Anna, Antonio Lopez de
  • amputated leg of
  • in battles
  • character of
  • in exile or retirement
  • heroic status of
  • Jackson's meeting with
  • as Mexican president
  • in political rebellions
  • Trist's bribery of
  • wealth and estates of

Just reading through that list should give you a great idea of how this book flows, and how compelling a story-teller Henderson is.

If you're a history buff (or even if you're not), and you're interested in one of the most important stories in the modern history of North America, you should pick up this book. I think you'll enjoy it, and you'll come away enlightened and more knowledgeable, which is just what a history book should achieve.

Same Trailer Different Park: a very short review

On impulse, after reading a number of glowing reviews, I bought Kacey Musgraves's new album: Same Trailer, Different Park.

Country music isn't normally my thing, but I haven't been disappointed at all: this is a wonderful album, ferocious and tender at the same time.

I'm looking forward to more from her, but for the time being this album is on repeat in the player.

Friday, March 22, 2013

Stuff I'm reading on a Friday afternoon

It's a beautiful spring Friday and my thoughts have drifted to the weekend.

I'm feeling a bit guilty because I was very busy at work this week and didn't spend much time watching Doug Schmidt's POSA videos on Coursera.

But I am feeling proud of myself for picking both La Salle and Ole Miss in my NCAA bracket (though I foolishly picked New Mexico to go all the way to the title game!).

Anyway, on to more important topics:

  • Your hard drive will self-destruct at 2pm: Inside the South Korean cyberattack
    Zheng added that this attack is a "deviation from the current trend" in advanced persistent threat (APT) attacks, which tend to be focused on information stealing rather than destruction. "To be honest, it's been quite a while since we've observed a disruptive malware like this," he said.
  • The title may be silly but the topic is important: Donglegate Controversy Yields Only One Winner: GitHub
    Yes, he could have shared the document on, say, Google Docs and invited others to edit it there. But that’s not quite the same. From where Noller is sitting, Docs isn’t as well suited to collaboration. What’s more, he says, GitHub is specifically designed to rapidly disseminate material across a broad community. It is set up a lot like a social network.
  • We had just moved from Boston to San Francisco when the theft occurred, and now there's big news: FBI says it has identified the thieves in Gardner Museum heist; paintings’ location still unknown
    Law enforcement officials have been puzzled for years by the heist. The robbers entered the museum and tied up two night watchmen in the early morning hours of March 18, 1990. After years of investigative dead ends, DesLauriers said, the probe “accelerated” in 2010 and “crucial pieces of evidence” were developed identifying the robbers and their associates.
    Or just read ChartGirl's marvelous infographic!

  • Diving Deep into Danger
    Today it is an economic and even geopolitical necessity for oil companies, in order to maintain pipelines and offshore rigs, to send divers routinely to depths of a thousand feet, and keep them at that level of compression for as long as a month at a time.
  • MongoDB: Replication Lag and the Facts of Life
    This unsettling situation has the hallmarks of an insidious foe in realm of high-availability data stewardship: unchecked replication lag.
  • Lock-Free Algorithms For Ultimate Performance
    A thread running on core 1 wants to update variable X while a thread on core 2 wants to update variable Y. Unfortunately these two hot variables reside in the same cache line. Each thread will race for ownership of the cache line so they can update it.
  • The Obfuscation of Culture
    Most communities protect their culture through some form of obfuscation: hiding the meaning of their communication by making it hard to interpret.
  • Versioning - an Underrated Discipline
    from the programmer’s point of view it is always useful to know what changes have been made between two versions to easily find out what version introduced a bug or made a given functionality available.
  • When TED Lost Control of Its Crowd
    By August the uproar had gone mainstream, as other questionable TEDx content was uncovered. The New Republic wrote, “TED is no longer a responsible curator of ideas ‘worth spreading.’ Instead it has become something ludicrous.” As others piled on, TED staffers called Powell and asked him to send the research backing up his claims. He never did.
  • NoDB: Efficient Query Execution on Raw Data Files
    There are fundamental processes in modern database architec- tures that represent a major bottleneck for data-to-query time. The NoDB philosophy changes the way a user interacts with a database system by eliminating one of the most important bottlenecks, i.e., data loading. We advocate in situ querying as the principal way to manage data in a database and propose extending traditional query processing architectures to work in situ.
We've passed the vernal equinox, no? So it's officially springtime now. Time to tear my nose away from this computer and get outside in the sunshine!

Tuesday, March 19, 2013

Thought for the day

This is the sort of thing that I really ought to post on Twitter. If I even knew how to send a tweet.

How can the Post Office be having to shut down service at the same time that Netflix just announced that they've now delivered four billion DVDs?

Monday, March 18, 2013

Crypto-Turing in 2012

Last week, the ACM announced the winners of the 2012 Turing award: Goldwasser, Micali Receive ACM Turing Award for Advances in Cryptography.

Goldwasser and Micali produced one of the most influential papers in computer science, “Probabilistic Encryption,” as graduate students in 1983, by introducing the question “What is a secret?” Their standards were very high: an adversary (third party) should not be able to gain any partial information about a secret. Their definition of the security of encryption as a “game” involving adversaries has become a trademark of modern cryptography. Their approach, known as the simulation paradigm, bypassed the traditional enumeration of desired properties that marked the definition of security, and led to the construction of a secure encryption scheme.

Probabilistic Encryption is still, 30 years later, a landmark paper. Here's how they describe "Semantic Security":

Informally, a system is semantically secure if whatever an eavesdropper can compute about the cleartext given the cyphertext, he can also compute without the cyphertext.
You can find Probabilistic Encryption, as well as Professor Goldwasser's other articles, on her MIT home page; Professor Micali's works are available from his home page as well.

When I was taking Dan Boneh's online Cryptography class last spring, I was fascinated by the "adversary game" approach as a foundational proof technique. Looking for written materials to reinforce Professor Boneh's superb lectures, I found that Goldwasser's Lecture Notes on Cryptography was the one essential text I needed. There are some very good works on Cryptography nowadays, but if you can successfully finish Boneh's class, and feel comfortable with the material in Goldwasser and Bellare's Lecture Notes, you can consider yourself quite well-grounded in modern cryptography.

Omer Reingold wrote a very nice short survey of the work of Goldwasser and Micali, describing why it is, truly, deserving of the Turing Award: 2012 Turing to Goldwasser and Micali.

Friday, March 15, 2013

Friday afternoon reading

Our Japanese Maple has burst into new growth, indicating that it's truly springtime now.

  • Brian Krebs reports on getting SWATted: The World Has No Room For Cowards
    I have seen many young hackers discussing SWATing attacks as equivalent to calling in a bomb threat to get out of taking exams in high school or college. Unfortunately, calling in a bomb threat is nowhere near as dangerous as sending a SWAT team or some equivalent force to raid someone’s residence. This type of individual prank puts peoples’ lives at risk, wastes huge amounts of taxpayer dollars, and draws otherwise scarce resources away from real emergencies. What’s more, there are a lot of folks who will confront armed force with armed force, all with the intention of self-defense.
  • Eric Rice posted a nice summary of Lawrence Lessig's lecture at Harvard Law School: A summary of Lawrence Lessig’s Chair Lecture at Harvard Law School. A transcript of the lecture is also available here. Since we're on the subject, if you're continuing to try to understand the Aaron Swartz affair, you'll want to read Larissa Macfarquhar's article in the New Yorker: Requiem for a Dream
    He became absorbed by the process of change. How should you word a petition or design a Web site or dramatize an outrage so as to entice the most people to become involved or donate money? How does Congress work? How do you get a bill passed? (He spent some time interning in the office of Representative Alan Grayson, of Florida, because his friend Matt Stoller worked there.) How did Robert Moses acquire so much power from a position that officially had almost no power at all? He came to believe that the influence of money in American politics was so enormous a problem that possibly little else could be solved until that was.
    And you'll want to read Quinn Norton's article in The Atlantic: Life Inside the Aaron Swartz Investigation
    To be a felon in this country is to be a pariah, to be unlistened to. Aaron wanted more than anything to speak to power, to make reforms in the very system that was attacking him now. In most states a felon can't even vote. The thought of him not voting was unfathomable.
  • Here's a fascinating story: The Professor, the Bikini Model and the Suitcase Full of Trouble
    According to Rusty Payne, a spokesman for the U.S. Drug Enforcement Administration, if Frampton and Armstrong were unaware of their involvement, they would be the exception. He had never heard of a case in which a virtual “honey trap” had been used to dupe someone into being an unwitting drug mule. “When it comes to drug trafficking, we rarely see someone duped or used as part of a ruse,” he said. “It is very typical for those arrested to claim no knowledge or involvement.”
  • The story of Roberto Clemente and the bat he used when he got his 3,000th hit: 3000 hits. Three bats. One enduring mystery.
    But it turns out my dad didn't know the whole story behind that Clemente bat in my old bedroom. Turns out Tony Bartirome didn't know it, either. It's a story about memory. It's a story about chance. It's a story about stories. It's a story about the very nature of sports and memorabilia.
  • Another fascinating sporting story, with wonderful pictures to accompany it: The Sky Is Burning: Caught in the Pagami Creek Fire
    It was a world of black and orange. The islands in the lake were on fire. The entire shoreline was on fire. The air was thick with ash, soot, and glowing embers being blown across the lake at 50 miles an hour; they couldn’t look west. Soot got in their eyes, coated their hair, their noses, and their throats. They had a fleece jacket, which they soaked in water to breath through, but it didn’t stop the headaches, the sense of being smothered, of drowning in air. Everything was burning and there was no place to go. They could duck their heads underwater for a few seconds to escape it all, but they couldn’t keep doing that forever. They both were almost certain they were going to die, but after a brief talk, they agreed not to give up. They had daughters who needed them.
Happy Ides of March or St. Patrick's Day or whatever suits your fancy; hope you find something good to read, wherever you are this weekend!

Wednesday, March 13, 2013

Google Reader RIP

This news totally took me by surprise: Powering Down Google Reader

We have just announced on the Official Google Blog that we will soon retire Google Reader (the actual date is July 1, 2013). We know Reader has a devoted following who will be very sad to see it go. We’re sad too.

What's doubly surprising is that they aren't replacing Google Reader with something better; they're simply shutting it down.

What was nice for me about Google Reader was its cloud-based behavior: I could use it from my home computer, and from my work computer, and didn't have to worry about synchronizing my usage between the two.

Any suggestions for a replacement?

Meanwhile, I worry: first PicasaWeb, now Google Reader. Will this blog (also hosted by Google) be the next thing they shut down?

Tuesday, March 12, 2013

PS3 Network Diagnosis

When my Playstation 3 fails to connect to the Internet via my home network, as it periodically does, the only thing that it tells me is in a small dialog box on the screen that says

Unable to connect to the Playstation Network.

Check your network settings by going to Settings -> Network

But I don't believe the problem is with my PS3 network settings, nor with my home network settings (access point configuration, router parameters, etc.). If I change no settings at all, but simply wait, after a few minutes/hours/days the PS3 is able to connect again, and all is well.

Now, I know that, under the covers, the PS3 is a sophisticated multiprocessing multiuser operating system, with a complete TCP/IP network stack, and so I'm sure that there are detailed error messages with full explanations of the problem logged somewhere.

But I have no idea how to get past the infuriatingly non-informative "can't connect" error, and find out what the true problem is.

Where do I find, on the Internet, the document entitled:

Getting started with learning to open the hood and look inside your Playstation 3 in order to troubleshoot and diagnose common operational problems.

Or does such a thing not exist because Sony feel that it would be giving away too many trade secrets?

Spot the Bryan

Wow! It's almost as though they made a movie about me: Computer Chess: A new movie by Andrew Bujalski

Set over the course of a weekend tournament for chess software programmers thirty-some years ago, COMPUTER CHESS transports viewers to a nostalgic moment when the contest between technology and the human spirit seemed a little more up for grabs. We get to know the eccentric geniuses possessed of the vision to teach a metal box to defeat man, literally, at his own game, laying the groundwork for artificial intelligence as we know it and will come to know it in the future.

Monday, March 11, 2013

Tick ... tick ... tick ... Magnus is coming!

The countdown is upon us, with less than 72 hours until the 2013 Candidates Tournament begins.

The London Candidates will be the strongest tournament of its kind in history. The Prize Fund to be shared by the players totals €510,000. The winner of the Candidates will become the Challenger to Viswanathan Anand

The Guardian does a great job of setting the stage, and explaining why everyone is so excited: Chess prodigy Magnus Carlsen enters endgame for world title

Carlsen is an unusual player. He plays a wide range of openings and shows less interest in theory and preparation than many grandmasters, preferring to take games down unconventional avenues and think through problems over the board. He also dislikes draws, opting to fight to the bitter end. Being young and in excellent physical shape gives him an advantage over his older rivals in draining games that can last up to seven hours.

When the weakest player in the tournament is Boris Gelfand, the player who challenged Anand for the World Championship last year, you know you've got a great field.

Although all eyes will be on Magnus, naturally, he is by no means a shoo-in. Vinay Bhat reflects on several of the other fantastic players who will be vying for the prize: The Upcoming Candidates Tournament

I was quite surprised about Svidler’s relatively good scores against almost the entire field. Some of that is probably because he hasn’t played as much recently with Aronian and Carlsen, but it’s still an achievement. I remember first reading about him after he beat Kasparov in their first two head-to-head encounters I think (Tilburg and some other tournament) in the mid-1990s – by most accounts, he certainly had the class, if not always the drive and work ethic, to hang with the guys at the very top.

Since you can't boast about your picks if you don't make them, here are mine:

  • Carlsen will, indeed, win the tournament, but it will be very close.
  • Aronian and Kramnik will be barely a game back
  • Grischuk will also play well, but will finish 4th, 2.5 games back

There, those are my picks. What are yours?

Sunday, March 10, 2013

Tears of the Jaguar: a very short review

Not so long ago, I found myself reading and enjoying A.J. Hartley's re-imagining of Macbeth, so I thought I'd give another of his books a try: Tears of the Jaguar.

Tears of the Jaguar is sort of a riff on the Indiana Jones story, with our hero, archaeologist Deborah Miller, following the story from the Mayan ruins of the Yucatan to the moors of northern England, and back. The Indiana Jones references are fast and furious; Miller even returns to 55th & Ellis on Chicago's South Side at a crucial point in the story.

As he did with Macbeth, Hartley's technique is to take stories rooted in fact, such as the great palaces and temples of the Maya, or the witchcraft hysteria of 17th century England, and weave into them his own characters, stories, and images.

Hartley is a talented writer and his approach works well. Tears of the Jaguar is a fun story: if you like your murder mysteries with a bit of historical fact and a bit of exotic location thrown in; and you don't mind, or even enjoy, when an author describes a ruby as "the color of blood diluted with tears"; if you turn the pages of a thriller to escape into a wild story, no matter how improbable, because you're enjoying the ride; then you'll enjoy this book.

It helps that Hartley clearly finds these locations and their stories fascinating himself, so that when a character says

All he wanted now was to stay in this wonderful place and relish what he'd originally hoped archeology would offer: a glimpse of the ancient and the exotic, something he would look back on all his life.
we know that Hartley is actually speaking about himself, as well as about anyone who visits such a place and contemplates its meaning.
[He] suddenly saw in his mind the Mayan city of Palenque as he had seen it as a boy visiting with his parents. He must have been no more than eight. He had not thought of that moment for years and had never thought of it as important, but he remembered now standing at the foot of the Temple of the Inscriptions, gazing up the monumental staircase to where his mother, wearing a blousy white shirt, was gazing out, eyes shaded with one hand. He saw his little boy's hands as they thumbed the film advance on his tiny Kodak Instamatic, and he remembered the awe and the sudden, surprising thought that people made a living by exploring such places.

Hartley has written several other books, and I might try reading them. I hope he continues to write, and continues to develop his style and technique, because he is a promising writer.

Sunday Morning Legos

Here's how Sunday Morning Legos works:

  1. You take your boxes of Legos, and spill them out on the floor.
  2. You sort and arrange your Legos:
    1. Figurines go in one pile
    2. Boats, planes, cars, bicycles go in another pile
    3. Everything else will be used to build houses and other buildings
  3. Build! (Humming a little song as you go.)

It's good if somebody else is in the room with you, perhaps reading the Sunday newspaper, or reading their book, or just sitting and watching you.

Friday, March 8, 2013

Some interesting SSD tidbits

Now that SSDs are poised to completely replace spinning rust, I've been trying to learn more about them. As always, I'm behind the curve, and rushing to catch up.

A few fun pointers I happened upon recently:

  • Understanding the Robustness of SSDs under Power Fault
    Applying our testing framework, we test fifteen commodity SSDs from five different vendors using more than three thousand fault injection cycles in total. Our experimental results reveal that thirteen out of the fifteen tested SSD devices exhibit surprising failure behaviors under power faults, including bit corruption, shorn writes, unserializable writes, metadata corruption, and total device failure.
  • Redis with an SSD swap -- not what you want (see the original article at Redis with an SSD swap -- not what you want)
    I already guessed that the SSD swap setup would perform in a bad way, but I was not expecting it was *so bad*.

    The point is simply to show how SSDs can't be considered, currently, as a bit slower version of memory. Their performance characteristics are a lot more about, simply, "faster disks".

    Now those new disks are fast enough that if you design a database specifically to use SSDs, you can get interesting performances, compared to old disks. However the idea to use the disk as something you can use to allocate memory will not work well, and complex data structures requiring many random access writes, will not work either.

  • The Full Intel SSD 525 Review: 30GB, 60GB, 120GB, 180GB & 240GB Tested
    This is really a big problem with SandForce drives if you're going to store lots of incompressible data (such as MP3s, H.264 videos and other highly compressed formats) because sequential speeds may suffer even more in the long run. As an OS drive the SSD 525 will do just fine since it won't be full of incompressible data, but I would recommend buying something non-SandForce if the main use will be storage of incompressible data.

Wednesday, March 6, 2013

A couple of interesting papers

In between compiles, I've been spending some time with:

  • Nobody ever got fired for buying a cluster:
    We claim that a single "scale-up" server can process each of these jobs and do as well or better than a cluster in terms of performance, cost, power, and server density. Is it time to consider the "common case" for "big data" analytics to be the single-server rather than the cluster case? If so, this has implications for data center hardware as well as software architectures.
  • Optimizing Google’s Warehouse Scale Computers: The NUMA Experience
    It is overwhelmingly challenging to diagnose and attribute this performance swing to individual microarchitectural factors. Effects such as the contention for cache/bandwidth with various corunning applications on a server, non-uniform memory accesses (NUMA), and I/O interference among other factors all carry implications on the effectiveness of the policies used for cluster-level scheduling, machine-level resource management, and the execution configurations of the Gmail servers.
  • Themis: An I/O-Efficient MapReduce
    Given that many MapReduce jobs are I/O-bound, an efficient MapReduce system must aim to minimize the number of I/O operations it performs. Fundamentally, every MapReduce system must perform at least two I/O operations per record when the amount of data exceeds the amount of memory in the cluster. We refer to a system that meets this lower-bound as having the “2-IO” property. Any data processing system that does not have this property is doing more I/O than it needs to. Existing MapReduce systems incur additional I/O operations in exchange for simpler and more fine-grained fault tolerance.

    In this paper, we present Themis, an implementation of MapReduce designed to have the 2-IO property.

  • MinuteSort with Flat Datacenter Storage
    The sorts were accomplished using a heterogeneous cluster consisting of 256 computers and 1,033 disks, divided broadly into two classes: storage nodes and compute nodes. Notably, no compute node in our system uses local storage for data; we believe FDS is the first system with competitive sort performance that uses remote storage. Because files are all remote, our 1,470 GB runs actually transmitted 4.4 TB over the network in under a minute.

It's probably much better with a pitcher of margaritas...

I had no idea there was a world championship of puns: O. Henry Pun-Off.

You can watch the video of the championship round!

Video here

Tuesday, March 5, 2013

Important it ain't

Somehow along the way I signed up for "Breaking News Alerts" from the New York Times on my smartphone.

For the first year or so, it actually seemed to be valid; the alerts were quite rare, and were things like

  • Major Earthquake in Pacific, Tsunami Warning Issued

Somewhere along the line, however, the New York Times decided, I guess, that they weren't sending out enough alerts, and recently they appear to have lowered their standards significantly, so that now my Breaking News Alerts tend to be things like:

  • Senator Kerry Confirmed as Secretary of State
OK, that's important news, but really doesn't seem worthy of interrupting me.

And, then, today:

  • Dow Jones Average Opens Above All-Time High


The New York Times is a bit too infatuated with their own self-importance. Stop annoying me with your breathless urgency, or I'm uninstalling you. And I Mean It, Stanley!

Saturday, March 2, 2013

The Witness

Oh, my, this looks like exactly my kind of game: The Witness: An exploration-puzzle game on an uninhabited island.

They've released a trailer, more of a tease really.

Only on PS4, eh?

Well, time to start saving my pennies...

Coursera quick hit

In between marathon sessions of Kingdoms of Amalur: Reckoning, I managed to spend some time in February working on several classes at Coursera:

  • Professor Don Johnson's Fundamentals of Electrical Engineering is just superb. I came to computer science from pure mathematics, and never studied electrical engineering. Although I've done just fine without the hardware background, I've always been interested in learning more about the fundamentals of computer hardware, and Professor Johnson's class is just the ticket. His lectures are clear, enjoyable, and well-paced. However, the material in the video lectures is too hard to grasp from the videos alone; you really need to spend some serious time reading the textbook material. Happily, Professor Johnson has arranged to place his entire textbook online as well: Fundamentals of Electrical Engineering I. The only thing missing here is time, something I can never find enough of.
  • Professor Robert Sedgewick's Analytic Combinatorics, Part I is exactly as described in the syllabus. Sedgewick's precise and sophisticated approach to analyzing algorithm complexity is unique; he developed it over the years with his colleague Phillipe Flajolet. Working together, they managed to develop a complete technique shortly before Flajolet's death at the relatively young age of 62. The presentation of Analytic Combinatorics that Professor Sedgewick provides is well-described and complete, and I'm happy to have had the chance to watch his lectures. However, I must warn you in advance that this course is dry, dry, dry. If I wasn't extremely motivated by the relevance of Flajolet & Sedgewick's techniques to my professional career, I doubt I'd spend much time with these videos. There is nothing to complain about here, it's just not one of those course you'll take for the fun of it.

There's no rest for the weary, fortunately, as Professor Doug Schmidt's Pattern-Oriented Software Architectures for Concurrent and Networked Software class begins on Monday, and Professor Dan Boneh's Cryptography II course is looming just a month away.

Oh, and today is my daughter's 32nd birthday, and the dog needs a walk, and I'm going to the Cal basketball game this afternoon, and my son will be over for the birthday dinner tonight, and there's more Kingdoms of Amalur to play, and we just started receiving season 2 of Game of Thrones from Netflix even though we haven't finished House of Cards yet and I just got two new Kindle books.

Oh, fickle time, how you tease me!