Deep code search

the morning paper

Deep code search Gu et al., ICSE’18

The problem with searching for code is that the query, e.g. “read an object from xml,” doesn’t look very much like the source code snippets that are the intended results, e.g.:

*

That’s why we have Stack Overflow! Stack Overflow can help with ‘how to’ style queries, but it can’t help with searches inside codebases you care about. For example, “where in this codebase are events queued on a thread?”

…an effective code search engine should be able to understand the semantic meanings of natural language queries and source code in order to improve the accuracy of code search.

DeepCS is just such a search engine for code, based on the CODEnn (Code-Description Embedding Neural Network) network model. During training, it takes code snippets (methods) and corresponding natural language descriptions (from the method comments) and learns a joint-embedding. I.e., it learns embeddings…

View original post 1,016 more words

Interactivity – The Core of Video Game Aesthetics

Theory of Objective Video Game Aesthetics

If an artist wants tell a story, why would he do so through a video game? Paintings are more immediate. Books are better at providing details and allowing the reader to fill in the blanks with his own imagination. Movies give the creator more control over presentation. Television is better equipped to tackle sprawling or episodic stories.

But only video games are interactive. Video games are the only artistic medium designed to give the consumer control over content. This connection can exist in seemingly endless forms from controlling individuals within a linear narrative to steering civilizations throughout history.  Understanding how video game developers can create, manage, and even limit interactivity, is the key to the success of video games as an artistic medium.

I don’t have a complete understanding of all the ways in which interactivity can be used. For one thing, I am not personally a developer, but more…

View original post 1,913 more words

The Transistor, Part 3: Endless Reinvention

Creatures of Thought

For over a hundred years the analog dog wagged the digital tail. The effort to extend the reach of our senses – sight, hearing, even (after a manner of speaking) touch, drove engineers and scientists to search for better components for telegraph, telephone, radio and radar equipment. It was a happy accident that this also opened the door to new kinds of digital machines.1 I set out to tell the story of this repeated exaptation, whereby telecommunications engineers supplied the raw materials of the first digital computers, and sometimes even designed and built such computers themselves.

By the 1960s, however, this fruitful relationship came to a close, and so too does my story. The makers of digital equipment no longer had any need to look outward to the world of the telegraph, telephone, and radio for new and improved switches, because the transistor itself provided a seemingly inexhaustible vein of…

View original post 3,759 more words

Leaf-Node weakness in Bitcoin Merkle Tree Design

Bitslog

This document describes a weakness in Bitcoin Design that reduces the security of SPV proofs and therefore SPV Wallets.  The weakness was discovered by me on August 2017, but during the responsable disclosure process I learnt it was previously known by some prominent members of the Bitcoin Core team. Using this weakness an attacker can create a valid SPV proof for a fake payment to a victim that is using a SPV wallet, the payment amount being an arbitrary number of bitcoins, and trick the victim into accepting this payment as valid.  Happily, exploiting this bug requires brute-forcing between 69 and 73 bits (depending on initial investment), each operation being a double SHA2, and there are very simple probabilistic protections that SPV wallets can implement easily. For example, an attack can be carried on with an investment of 3M USD (*). It is assumed that most SPV wallets will be…

View original post 2,295 more words

Organicity in abstract strategy games

Nick Bentley Games

Note: This post wasn’t written by me (Nick Bentley), but rather by one of my game design mentors, Christian Freeling:

freeling-1 …who is probably insane

Christian is an éminence grise in the world of combinatorial games and I wouldn’t be the designer I am without him. He’s designed some of the best games in the world, imo, but deep combinatorial games are rarely published, so his accomplishments aren’t widely known. This situation is, if not tragic, at least deeply silly.

In any case, it’s an honor to present the essay below. It’s about a quality Christian prizes in games (as do I), which he calls organicity. It’s a quality he speaks of often, but it’s not an easy concept to understand and discussions of the subject can spiral into confusion. This essay can be seen as an attempt to remedy that. 

You can read more by Christian at his website, Mindsports

View original post 6,223 more words

All watched over by machines – a review of Yasha Levine’s “Surveillance Valley”

LibrarianShipwreck

There is something rather precious about Google employees, and Internet users, who earnestly believe the “don’t be evil” line. Though those three words have often been taken to represent a sort of ethos, their primary function is as a steam vent – providing a useful way to allow building pressure to escape before it can become explosive. While “don’t be evil” is associated with Google, most of the giants of Silicon Valley have their own variations of this comforting ideological façade: Apple’s “think different,” Facebook’s talk of “connecting the world,” the smiles on the side of Amazon boxes. And when a revelation troubles this carefully constructed exterior – when it turns out Google is involved in building military drones, when it turns out that Amazon is making facial recognition software for the police – people react in shock and outrage. How could this company do this?!?

What these revelations challenge…

View original post 3,544 more words

After a long road, I’ve finally launched my first game!

Kneeling Bean Studio

Currently, I am a 40 year old husband, father of 4.5 gremlins, and full-time software developer.

I started working on this project ~2.5 years ago at the beginning of 2016. I had been a software developer for about 13 years prior to deciding to start working on this game. I had also done countless hobby game projects on the side for years so I wasn’t a total n00b at getting a game project off the ground.

In the time since I started on this game, a lot has happened in life. Our 4th child was born a few months into the project. I changed jobs a while after that. My father died from cancer last June, which was absolutely devastating. And we are expecting gremlin #5 this August. With all that going on, sometimes weeks would pass where I wasn’t able to touch the game. But that’s okay, because this…

View original post 263 more words