The Pew Research Center reports that social media has become a feature of political and civic engagement for many in the U.S.
“Some 60% of American adults use either social networking sites like Facebook or Twitter and a new survey by the Pew Research Center’s Internet & American Life Project finds that 66% of those social media users—or 39% of all American adults—have done at least one of eight civic or political activities with social media.”
Wellesley computer science professor Panagiotis Metaxas has a short article in Science, Social Media and the Elections, on how social media can be abused in elections. An example he cites is the suspicious one-day spike of 110,000 Twitter followers received by a US presidential candidate recently and the subsequent analysis that showed showed that most of the followers were unlikely to be real people.
IEEE Spectrum has an interview with Professor Metaxas in which he discusses the issues surrounding social media and elections and mentions his recent paper, How (Not) To Predict Elections, that concludes that predicting election outcomes using the published research methods on Twitter data are not better than chance.
A novel use of social media to predict elections was show by FiveOneNine Games, who crunched the data from use of their election-themed Facebook game Campaign Story to predict that President Barack Obama the winner.
The Google-supported Planet Wars Google AI Challenge had over 4000 entries that used AI and game theory to compete against one another. C at the R-Chart blog analyzed the programming languages used by the contestants with some interesting results.
The usual suspects were the most popular languages used: Java, C++, Python, C# and PHP. The winner, Hungarian Gábor Melis, was just one of 33 contestants who used Lisp. Even less common were entries in C, but the 18 “C hippies” did remarkably well.
Paul Graham has stated that Java was designed for “average” programmers while other languages (like Lisp) are for good programmers. The fact that the winner of the competition wrote in Lisp seems to support this assertion. Or should we see Mr. Melis as an anomaly who happened to use Lisp for this task?
The New York times has a short article, The 8-Year-Old Programmer, on Kodu, a programming environment intended to help young children learn to write programs.
“Kodu, built by a team at Microsoft’s main campus outside Seattle, is a programming environment that runs on an Xbox 360, using the game console’s controller rather than a keyboard. Instead of typing if/then statements in a syntax that must be memorized — as adult programmers do — the student uses the Xbox controller to pop up menus that contain options from which to choose. Kodu itself resembles a video game, with a point-and-click interface instead of the thousand-lines-of-text coding tools used by grown-ups.”
Kodu is an rule-based, event-driven language with a simple context free grammar that lets you write rules like “see apple red, move toward quickly”.
Kudu takes it’s place in a long history of programming languages developed to teach programming to children, starting with Logo in the late 1960s. None of these have ever truly caught on, although Logo was taught in many elementary schools in the 1980s. As a computer scientist, I believe that being able to write simple programs for one’s own use will eventually be a skill that all educated people will have, just as being able to basic numerical computations and write effective text are today.
Amazingly, they were able to install the game on a Sequoia AVC Edge touch-screen DRE (direct-recording electronic) voting machine without breaking the original tamper-evident seals.
Here’s how they describe what they did on Haldeman’s web site:
“What is the Sequoia AVC Edge?
It’s a touch-screen DRE (direct-recording electronic) voting machine. Like all DREs, it stores votes in a computer memory. In 2008, the AVC Edge was used in 161 jurisdictions with almost 9 million registered voters, including large parts of Louisiana, Missouri, Nevada, and Virginia, according to Verified Voting.
What’s inside the AVC Edge?
It has a 486 SLE processor and 32 MB of RAM—similar specs to a 20-year-old PC. The election software is stored on an internal CompactFlash memory card. Modifying it is as simple as removing the card and inserting it into a PC.
Wouldn’t seals expose any tampering?
We received the machine with the original tamper-evident seals intact. The software can be replaced without breaking any of these seals, simply by removing screws and opening the case.
How did you reprogram the machine?
The original election software used the psOS+ embedded operating system. We reformatted the memory card to boot DOS instead. (Update: Yes, it can also run Linux.) Challenges included remembering how to write a config.sys file and getting software to run without logical block addressing or a math coprocessor. The entire process took three afternoons.”
“In conclusion, we feel our work represents the future of DREs. Now that we know how bad their security is, thousands of DREs will be decommissioned and sold by states over the next several years. Filling our landfills with these machines would be a terrible waste. Fortunately, they can be recycled as arcade machines, providing countless hours of amusement in the basements of the nations’ nerds.”
Using a combination of mathematical tricks, good programming and 35 CPU-years on Google’s servers, a group of researchers have proved that every position of Rubik’s Cube can be solved in 20 moves or less. The group consists of Kent State mathematician Morley Davidson, Google engineer John Dethridge, math teacher Herbert Kociemba, and programmer Tomas Rokicki.
This is an amazing result and a testament to more than 30 years of work on the problem. The Cube was invented in 1974 and almost immediately the subject for programs to solve it. In 1981, Morwen Thistlethwaite proved that any configuration could be solved in no more than 52 moves. Periodically, tighter upper bounds for the maximum solution length were found. This result ends the quest — there are some configurations (about 300M) that require 20 moves to solve and there are none that require more than 20 moves.
In their own words, here’s how the group solved all 43,252,003,274,489,856,000 Cube positions:
We partitioned the positions into 2,217,093,120 sets of 19,508,428,800 positions each.
We reduced the count of sets we needed to solve to 55,882,296 using symmetry and set covering.
We did not find optimal solutions to each position, but instead only solutions of length 20 or less.
We wrote a program that solved a single set in about 20 seconds.
We used about 35 CPU years to find solutions to all of the positions in each of the 55,882,296 sets.
This reminds me of the first program I wrote for my own enjoyment, which used brute force to find all solutions to Piet Hein’s Soma Cube. In 1969 I had a summer job as the night operator for an IBM 360 and I would turn off the clock to run my program so that the management wouldn’t know how much computer time I was consuming.
See this BBC story more more information on this amazing result.
April 21st, 2009, by Tim Finin, posted in Games, UMBC
The 4th annual UMBC Digital Entertainment Conference will be held 10-6 Saturday, April 25, 2009 in Lecture hall 2. This event is organized by the UMBC Game Developers Club and is free and open to the public. This year’s conference will feature speakers from local studios who will talk about programming, game design and art in game development, including:
At 5pm local time on Friday, January 30, each site will be told the parameters of the game they all must produce. Participants pitch ideas, form teams, and get to work producing the best game they can in 48 hours. The UMBC site will have a good mix of computers and development platforms including Windows (XP), Mac (Leopard), XBox 360 (with Creators Club), PlayStation 3 (running Linux) with a diverse software environment that inlcludes Visual Studio, Maya, XNA Game Studio, NVIDIA PhysX and Adobe Creative Suite. For more information see the UMBC Global Game Jam page.
The Global Game Jam participants do not have to be UMBC students, and the Jam is open to participants of all levels of skill and experience. There is no registration fee for the Baltimore Jam site at UMBC, but space is limited so advance registration is required.
This event is sponsored by the UMBC Games, Animation and Interactive Media program, an innovative academic program with tracks available for students pursuing a degree in computer science or a degree in visual arts.
December 10th, 2008, by Tim Finin, posted in Games, UMBC
Registration is now open for the Global Game Jam at UMBC, January 30-February 1, 2009! The Global Game Jam is a game development contest sponsored by the International Game Developers Association and held simultaneously in 41 sites across the globe. At 5PM local time, each site will be told the parameters of the game they all must produce. Participants pitch ideas, form teams, and get to work producing the best game they can in 48 hours. The Global Game Jam participants do not have to be UMBC students, and the Jam is open to participants of all levels of skill and experience. More information is available on the UMBC GAIM blog.
Meier is a very influential figure in the game industry and helped to establish the popular simulation game genre through his games like Pirates, Railroad Tycoon and Civilization. He is currently Director of Creative Development for Firaxis Games and has been inducted into the Computer Museum of America Hall of Fame and the Academy of Interactive Arts and Sciences Hall of Fame for lifetime achievement in computer gaming. Here’s the title and abstract for his talk.
Game Programming: Oh say, can you C?
Sid Meier and members of the Firaxis development team
Programming a computer game: There are three types of programming in games: (1) game play on one end, (2) engine on the other, and (3) the layer in between that allows the two others to communicate. Each type of programming is different from the others. Programmers are drawn to one or another type of programming because of its power or beauty. Sid has developed a flexible style of programming that allows him to make instantaneous changes at the game play level. An engine programmer needs a bit more conformity to step in where someone else left off. The programmers in the middle have fun because they can make the other two “worlds” talk to each other. Sid and other speakers will discuss the different types of programming and how they “play nice” together.
If you plan to attend, email firstname.lastname@example.org for further announcements and updates.
I’ve attended talks at the Engineering Society building, which is on Mt. Vernon Place in Baltimore, which should be easy to get to on the MTA bus that stops at UMBC. It’s a grand old building that was fun to be in.
July 24th, 2008, by Tim Finin, posted in Games, UMBC
Today’s Baltimore Sun has a story, Gamer making a career of it, on two UMBC undergraduate students who have their own game development company. Computer Science major Paul Oliver and Mechanical Engineering major Arthur Gould head Legendary Studios LLC as a “game and Simulation development company” that is part of the UMBC Idea Lab and housed in UMBC’s technology center.
Joe Hall forwarded an interesting news item to Dave Farber’s IP mailing list on a new Second Life security vulnerability, Exploiting QuickTime flaws in ‘Second Life’. The exploit allows an object with a multimedia link to inject malicious code into the victim.
“Researchers Charlie Miller of Independent Security Evaluators, and Dino Dai Zovi, turned their attention to Second Life during a Saturday morning presentation at ShmooCon, an East Coast computer hacking conference. The researchers didn’t exploit a flaw within Linden Labs’ Second Life, but within QuickTime. They showed how an attacker could make money stealing from innocent Second Life victims.” (link)
Their SmooCon talk was titled “Virtual Worlds – Real Exploits” and had the abstract
“Virtual worlds serve as a new way to deliver exploits to the masses. Besides traditional attacks, they also allow attackers to control the “avatars” of players, including being able to steal the player’s virtual money and possessions. When there is a link between the virtual money and real money, this can be an easy way for an attacker to profit. This talk will address these issues and illustrate the technical details of a Second Life exploit.” (link)
“For their demonstration, they created “the most evil pink box you will ever see.” They could have linked their malicious code to attributes of an avatar’s hair, clothes, or anything else. They also could have buried the pink box underground or otherwise hidden it, but both researchers admitted they weren’t very good players within Second Life. … In the demo, the researchers were able to show that their avatar became infected when it came too near the pink box. The code they used raided the avatar’s Linden dollars and emptied the bank account.” (link)
Since Linden dollars have a known exchange rate with more traditional currencies, and may even be stronger that the US dollar these days, Second Lifers will have to be careful.