NoSQL meeting report

So I went to a NoSQLSummer meeting yesterday night. Upon entering the deathly empty MINC complex, I thought “startups never sleep?”, but I found most of Neo’s staff in a cosy war-room called “Innovation Lab”. No coffee, but soda bottles. Copies of the paper were spread around the large table.

We met. We hung out. And, walked through the *Dynamo paper*, which was released in 2007, and is quite self-contained. That makes it “a NoSQL classic”. Good paper with which to open a reading circle. Now we have some pre-understanding for upcoming papers.

Photo by kalavinka

Other content

Neo4J’s Peter Neubauer, riffed on on Google’s data hugeness, which led us further afield: Google / Big Data; Crowdsourcing — WordNet; Concept: Discard 99% of the data, using the top 1%.

Thoughts on format

We’re currently toying with new/different perspectives/formats:

  • “Developer Perspective”
  • “Infrastructure/Scaling Perspective”
  • “Arch. Perspective”
  • “Apps/Ops Perspective”

Polyglot cases: How do you work with several multi-database setups?

Event bus usage: Some people use NoSQL stuff for the event buses. What are pros and cons here?

Do you need anything else there? I really enjoy this peek behind the scenes, implementation problems, etc. It is not something I can bring directly to my workplace and use, but I like the challenge of understanding large concepts together. The current format suits me well.a

Some hints and tips I picked up:

Google’s research end-of-level boss Peter Norvig’s talk at Berkeley (YouTube you-feel-lucky) — summarizing all the fields of research. (His official title is Director of Search Quality.)

A question: Is Stepanov’s Elements of Programming any good? Is it for me? (C++, math, beautiful type-setting.)

Next paper?

Google’s Bigtable? Cassandra? I cheated, and begun reading the Cassandra one. Let’s see how that goes.

Free RFID workshop with Forskningsavdelningen

Forskningsavdelningen decided to have a RFID workshop on Thursday (today 27 August 2009), so please come today and bring your rfid tags and readers.

RFID tags come in all shapes and sizes

RFID tags come in all shapes and sizes

As you may know, RFID is a technology used in transportation cards sucha as the new Skånetrafiken “Jojo”, Stockholm Länstrafik’s “Access”, and the London Underground “Oystercard”, as well as Öresundsbron bridge “BroBizz”, and multiple other places. These cards operate without any internal battery/power source but are powered from the radio signals sent to it from the “reader”.

Wikipedia on RFID

Please come from 18:30 to 22:00. This event is all free. Holler to me if you need instructions on getting there.

reboot: Aftermath

Update: Rebike. I was in on building it.

Had a long walk over the harbor area of Malmö, explaining it to Tilmann.

We saw:

  • Mai tai, of which we know nothing. A ship bar/restaurant.
  • a skatepark, with a rock band (5 guitars, 1 bass, 1 drummer), and a set of Rock Band players, and two sets of Super Street Fighter (on XBox 360)
  • boulder problems being worked on by rock climbers. “Problems” is what they call it. Each with a level of difficulty. Made me think of Jan Kogut, Polish rock-climber-hacker-wild-man

Also, lots of buildings.

Til’s car had a soundsystem which put them all – yeah all – to shame. Then he took off, heading south. Happy trails, T.

Hackmeetup notes: Bubble Bobble theme song on my Arduino piezo

Hackmeetup last night was a new attendance record.

It also featured Mark saying “I’m finished with this project!”, again. A Bluetooth scanner project, which was using Rhino to wrap Java APIs, again.

There were some new faces, and lots of electronics know-how in the house. I learnt a ton from Micke, who show-cased his company’s home automation product: a dimmer for your lights. And also an RFID reader which was autonomous; it had its own network cable and all. It’s out was sending xPL messages to the network, like “if you, the automated lamp, is off, turn on, if not, do nothing”. (Cave: My loose interpretation of this might be off.)

I continued my investigations into the Arduino kit I bought at Reboot. The thermistor and the photoresistor got some exercise, and the piezo was used to play sounds, and soon after that we found a piece of software that Clay Shirky had been in on making, which allowed us to write sheet music notes with a duration. Thus armed, we set out on a chase after the Mario tune. I wanted the sounds when we enters the caves, but David found the better song: the Bubble Bobble theme. Looking at sheet music, coding notes, took a while. But it played. I have a rotten video about it here.

Morgan took pictures with a real camera, and I guess he’ll link to them sometime.

PS: I was in a co-worker’s dream last night “You were talking in Italian with a Spaniard.” The dream had vampires in it, too.

Hackmeetup on Javascript mini-report: RFID on Rhino

This past Tuesday, we ran another Hackmeetup. Same great location, same great time.

Mark ran a talk about Typography on the Web for an audience of three.

For the hardware experimentation session, Carl had left, so it was Mark, me, and David, and we all worked on the same project. Mark had brought a USB-connected RFID reader of the Phidgets brand, and the idea: Use Rhino to wrap the Phidgets Java API to the RFID reader in a JavaScript, so we could… script the thing.

Update: Physical.js is the software we wrote, now published under MIT license.

We printed out the Javadocs for the API, and began laughing at some of the names: getLEDOn(), getAntennaOn(). Then we whiteboard-sessioned up some simpler, JS-idiomatic names, and had our wishlist. Almost cheating: Rhino has __defineGetter__ and __defineSetter__. Then we scrambled to find out how Rhino’s Java-adapting mechanism really worked. Great fun! Mark was the only one with the Phidgets hardware and software platform installed, so he was typing what me and David sent to him.

Prototyping with Rhino is quick. Soon, we were able to read the RFID card that Mark brought, and also a keychain fob I had with me. When we had 30 minutes until the trains went, Mark said: Let’s also hook it up to chat Jabber! He installed an OpenFire XMPP server on his machine, created a “rfid” account, and had it send a message onTagEnter and onTagLeave (enter/leave sounds better than gain/loss: we’re web developers…). Then he took an extra step and made chat commands to enable/disable the LED and antenna.

We cheered. We’d done it all.

Conclusion: Working on the same project is very productive. This was the first time we had a theme, two speakers, a dropped talk, and gotten stuff Done and Ready and the end of the night. Also: snacks. Healthier snacks are better, so next time, let’s up the ante.

Hackmeetup, on Javascript, July 22

Hi friends,

This coming Tuesday night, July 22 we’ll deal with Javascript. It’s thus a theme. And, no less than two people asked to make presentations:

Morgan Roderick (from Gazebo) explains Event Delegates

Mark Wubben (sIFR lead developer) will do a short version of “Bringing Typography to the Web with sIFR 3

Location: Västergatan 23, Malmö, that is Hypergene’s offices (ring its door-bell). From 19.00 onwards.

EuroPython 2008: My little log

This is an undetailed log of goings-on and other inspiration at EuroPython 2008, which took place in Vilnius, Lithuania (the southernmost of the Baltic countries).

Arriving in Vilnius, which has an airport the size of a thimble, we started into the city in a cab. Cab driver tried to upsell some prostitutes. We were more interested in his anecdotal mini-review of cities:

Moscow, very dark city, very bad people. Here? No problems. Nice little village. … My children can play in streets here.

We get to the small hotel Apia, in the old town. The desk clerk girl gives us a room key, and we climb the stairs, and find that the folks in the room have yet to check out. We are “early”. So, we stashed our bags in a small compartment behind the desk clerk desk (which incidentally only had room for a small bed), and walked the 10 minutes to the conference hotel.

The old town reminds me of a worn-down Visby. Local posters for events range from to Euro-regular to super-cool. A music event poster had remixed a medieval painting of three riders, adding a disco ball to one horse, a cauldron of mushrooms to its rider. One of the horsemen carried a boombox and a gold chain. Very classy execution.

The conference space at hotel Reval: pro. Everything was geared up, rooms were plentiful. The service was immaculate. When I needed to print a PDF document from my USB keyring, it was done for me faster than I could’ve done it myself.

The EuroPython time-slotting of talks: Merciless, in a good way. No speaker is allotted more time than planned. This bit one speaker: Mike P, who presented the interesting SnapLogic framework.

There is a BarCamp/Open Space track, which meant I got to sit in a “JavaScript for Pythonistas” session, talking about JavaScript. That had the upside of one Swedish guy asking the question: “Will you release that?” about some code Isak described. “We hope to do so” was the diplomatic answer. That session was started by Mr Jonathan Fine, who did a smart roundup of who was in the room, what they were interested in, and how we could partition the group smartly, so as to have good subgroups.

By coincidence, merely, we met people we’d met before, Maciej (aka “Fijal”), Jan K, and Grono-Krzysztof. Good clean networking fun. When I say “we”, I mean me and Isak, my colleague.

xFrac (name comes from: xUnit, and “frac” meaning “fraction” — something smaller than a unit) was a testing idea, introduced by Mr Jonathan Fine. It included the JSON subset XSON (which went something like):

['a',{b:'c'}, 'd'] -> <a b="c"><d/></a>

A way of expressing (X)HTML using a tighter format.

Tuesday: Psyco guy: “I just want to go back to PyPy.” He’s maintaining this pre-PyPy optimized C code that has to take care of all corner-cases of Python. (Easier than doing the same for Ruby, but that’s not saying much.) Lightning talks.

Hans Rosling (Trendalyzer, Gapminder Foundation) is a very good speaker: active, and explains things clearly. Not afraid of having opinions, either. He mentioned the SDMX data/metadata format, which seems like a super-complex notation.

Wednesday, final day of EuroPython. I got drafted to “time a speaker”, making sure no schedule over-runs got in the way of the schedule. My speakers were simple to time: tight talks, short questions period.

Thursday, sprint day 1. Me and Isak and Michael Moutakis (Swedish guy, answering the boring question What-do-you-do with “I’m a bureaucrat”.) set out making something “a terrain map of source code”. Terrain map, meaning that “a place should stay in roughly the same place on the map over time”. We wanted to build it using SVN metadata. One of the Launchpad men pointed me to the bzr-svn plugin to Bazaar 1.5. (I tried installing it, but foundered on the plugin.) Thanks!

Me and Isak would parse the SVN metadata, and Michael would use the PIL (Python image library) to create a bitmap image to visualize the data. A single empty line somewhere thwarted us.

Friday, sprint day 2. We continued our battle with the empty line, and grew more and more confused about the dump format. Isak nailed the empty line problem as we were landing in Copenhagen, later that night.

Got home. Beat. Great conference.