rmed

blog

Fun with exact matching in Zoe

2016-03-24 19:44 +0100

I'm currently working on something related to Zoe that has some complex/dangerous operations. Given that it is an agent, I would like to communicate with it using Telegram or Jabber. Using natural language commands results in a comfortable communication for regular users. However, this has some drawbacks when dealing with sensitive stuff.

The server is full!

2016-01-06 21:47 +0100

Ok, even I have to admit this is getting a bit out of hand. You see, some weeks ago I started subtly influencing my brother so that he would start playing the MMO Guild Wars 2 with me, given that it recently became free-to-play.

He finally agreed to do it (yay!), if I came up with a name for his character. I asked a friend for help and we came up with a list of names, including some hilarious ones that my brother discarded right away. Anyway, before he could create his character, he had to choose a server to play in and I told him which was the only Spanish server, but it was full. Huh, weird. We tried again the next days with no luck, so I thought of something (you must surely know what is coming).

fumi 0.3.0 released

2015-09-22 06:47 +0200

About time! New version of fumi. Things that changed:

  • Cleaner output (I hope!)
  • Real-time output for remote commands
  • Added password authentication (use-password and password fields in the deployment file)
  • Minor fixes and enhancements

As always, you can install it with:

$ pip install fumi

And I'd recommend that you read the documentation for a quickstart and more details: https://fumi.readthedocs.org

Source available at: https://github.com/rmed/fumi

Flask-WaffleConf

2015-08-19 09:55 +0200

Flask-WaffleConf is a Flask extension that allows you to store configuration variables in the database, read them on startup and update them on runtime. It's kind of an experiment in order to try making a Flask extension from scratch and add the functionality to the website in a modular way. If you are wondering about the reason behind the name, go ask @adolphenom @captainepoch.

The way it works is pretty simple:

  • You define a database model that will act as configuration store
  • Instantiate the WaffleConf object with the application
  • Register the view with any Blueprint

For the time being (you know... alpha state), I've just added a peewee configuration store, but creating stores for other databases should not be too complicated: simply subclass the WaffleStore class and you are ready to go. However, I would recommend checking the documentation first, just in case :)

Released under GPLv2+ license.

Comments, issues and pull requests are more than welcome!