open life blog

hingo's picture

Slides from Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others at Percona Live

Slides from my Percona Live talk evaluating the new spatial features in MySQL 5.6 and MariaDB 5.5 are now online. This is new material I have never presented before. It is based on work I have done in my job at Nokia HERE.com location services. So even if at this conference it draws less attention than my HA talks, it is actually what I'm most proud of to present.

TL;DR summary is that PostgreSQL has lots of features but MySQL has much better ease of use and performance. (I copy paste this standard sentence into any PostgreSQL vs MySQL evaluation I do :-) The MongoDB info is basically outdated, as the new 2.4 release introduces completely new implementation based on GeoJSON, new indexing, neither of which I tested.

hingo's picture

MySQL Community Awards 2013 - And the winners are...

MySQL Community Awards 2013 were announced earlier today at the MySQL Conference & Expo...

***

It's time again to award persons, applications and companies in the MySQL Community. This is an annual tradition to highlight and give appreciation to some of the things that make MySQL so great.

The first awards were given out in 2005, and since 2010 the winners have been chosen by a community panel of which myself and Shlomi Noach are the co-secretaries. There has been a public nomination period in January and the final voting is done by a panel who are themselves former winners of the award.

The first category is

MySQL Community Awards: Community Contributor of the Year 2013

The first winner is...

Jeremy Cole

hingo's picture

Slides and spreadsheets for my MySQL High Availability tutorial

Good morning Percona Live visitors! Attached to this post you can find a spreadsheet (both LibreOffice or Excel, as you prefer) that you can use towards the end of my tutorial. I've also attached the slides so you can download a copy of them.

hingo's picture

Why I don't care about open core any more

For reasons that I will blog about in a couple of weeks, several people last week asked me what I think about open core. My answer was that nowadays I don't care much about the topic. Long time readers of this blog might be surprised at such an answer, so I thought this was a good time to reflect on why I don't think it is very important anymore, and more importantly to document the empirical evindence that we now have about open core as a business strategy.

hingo's picture

HowTo deploy a sharded MongoDB Cluster with AWS CloudFormation

As I hinted yesterday I've tried to automate the deployment of a sharded MongoDB cluster in Amazon. It's unnecessarily difficult (rumor has it 10gen is doing something about it in the future) but it's doable with appropriate amount of persistence.

hingo's picture

One liner to find a shard in a MongoDB cluster

I occasionally post so called "one liners", shell commands that can be used to filter out some data I need. The main reason I do this is that I can later find this when I try to google for it. This will be my first one liner for MongoDB. Ok, so it is actually 3 related one liners.

If you need to find out if a shard is already part of your MongoDB cluster, try this:


MONGOS="ec2-54-228-106-184.eu-west-1.compute.amazonaws.com"
echo "db.shards.find()" | mongo $MONGOS/config | grep Shard4 | wc -l

The result will be either 1 or 0.

Now, if the shard exists, you might want to know a hostname and port number of one of the members of that replicaset:

hingo's picture

Mapping preferential voting into approval voting, take two

Yesterday I described my first ideas at mapping the preferential voting method used in Liquid Feedback, to an approval voting method as supported by Helios Voting.

After writing it I had a Heureka moment and went back to check some details on how Liquid Feedback, and in particular the Schulze method actually works. It turns out it is not necessary at all to keep a record of the +N ... 0 ... -N scores given to each vote, this is merely an implementation approach used in Liquid Feedback. The only thing that is really needed is just the pairwise comparisons of all alternatives. This is stored in Liquid Feedback in the battle table. In fact, that is precisely what Solon delivers back to Liquid Feedback as results of the voting.

hingo's picture

Reverse Engineering Helios Voting Server and encoding preferential voting as approval voting

It's been a while since I last did any hacking on Solon Voting. Solon is my project to implement secure e-voting for delegated democracy platforms. You can read previous blogs here.

When I started Solon, I was first focused on just tweaking Liquid Feedback in order to enable use of cryptographically secure e-voting algorithms. I wasn't aware that an open source implementation of a homomorphic e-voting algorithm actually exists. But then a couple of people introduced me to Helios Voting. This has been great news. What remains now is basically to glue together Helios with the already existing Solon-LiquidFeedback combination, and we will have a first ever cryptographically secure voting solution for delegated democracy. Of course, this is a very rough prototype, but it will properly encrypt the votes and will produce verifiably correct results.

Last week I had some vacation, so I finally had time to play with Helios a bit more. The results of this week's hacking are now committed on Github.

Syndicate content