Feb 212014

Rails Girls LogoA bit more of a year ago, I got to know about RailsGirls initiative, I joined one of their workshops and had a great time. So I joined other of their initiatives, like meeting on Sundays in a more informal way to have a coffee while talk about coding, and of course Rails Girls Summer of Code!!, where with my pair @juliaguar, we contributed to Diaspora free social network.

After one year of profiting of all the good work done by RailsGirls, I had the feeling to give back something, so once I knew the Hackday was coming up and also knowing that @phansch was taking part as a coach, made me take the decision to sign as a coach for beginners.

Honestly I must say I had no clue how to do it, nor did I have much time to think about it. Saturday morning arrived, I had a cold, I was tired and thought OMG! how am I going to be able to explain anything. Anyway, the fact was that I was going to the Hackday and let’s see.

After a first “hello” , a coffee (10 a.m. is a good moment to have a coffee on a Saturday), and realizing that I knew some people,  we did a round to introduce ourselves, our name, experience, expectations about the workshop. This time there were around 5 complete beginners and the rest were study groups that work on a week basis and the Hackday is a good excuse to impulse a bit more the project.

Hackday whiteboardSuddenly I forgot about the cold, the fatigue, it was fun being there! So three of us wanted to coach the beginners which was really cool, after setting up rails, discussion a bit how to proceed, where to start from, what was the background of everybody.

We started and decided to have the RailsGirls tutorial as a guide, but we would not use so much the gems, but explain how things worked from scratch, so that Rails “magic” could be better understood. We used the white board to explain the main MVC principles, then went into see how  routing works, how models, controllers, views look like.

We stopped for lunch, everybody brought something and then we shared it :-), and after lunch, for an  hour or so, we had lightning talks, and yes I also gave one, “Free/Libre software and Open Source, because social responsability matters”

After the talks, back to coding!!
At Rails Grils Hackday
So yes, that was how we spent the day, it was a really nice experience, that I would like to repeat :-)






Jan 312014

transmediale09With the title of  “The revolution is over. Welcome to the afterglow.”  Transmediale opened its doors last Wednesday 29 January until 2 February 2014.

Transmediale 2014

proposes the post-digital moment of ‘afterglow’ as a diagnosis of the current status of the digital hovering between ‘trash and treasure’. afterglow conjures up the ambivalent state of digital culture, where what seems to remain from the digital revolution is a paradoxical nostalgia for the futuristic high-tech it once promised us but that is now crumbling in our hands. The challenge that this moment poses is how to use that state of post-digital culture between trash and treasure as a still not overdetermined space from which to invent new speculative thought and practice. Are there means of renewal in the excess, overflow and waste products of the digital afterglow?

Transmediale is a meeting point between art and technology, artists and hackers, a space to open a reflection of what is the impact of technology, how is it evolving and to think about the meaning of a post-digital area.

This year I went to the opening mainly because a friend from the #hackership had taken part of the 48h hackathon Art Hack Day Berlin, I was curious to see the out put of this hackathon that involved not only software hacking but also art.

The number of people in the Opening was quite amazing, and there must have been a high expectation on the Art Hack Day exhibition because this is how it looked, there was quite a queue before being able to come in.


Some samples of the output that came from the hackathon are the following, I took randomly pictures of things, not necessarily the more interesting ones, I just wanted to get an idea of different things, and the amount of people just allowed sometimes to take pictures.

Mining the arbitrary

This was called “Mining the arbitrary”, it presents and analyzes a sample of substances found in Berlin, as an example of the production of waste of  information and materials.


I liked this one very much, called “Honeypot”, and the description says: “In computing a honeypot is used by security researchers to attract attacks in the wild. It is deliberately left insecure. We like to think of our personal electronic devices as secure. But recent revelations have shown, that they might be just as open as a honeypot. All your devices are belong to whom?


This is called Circe’s New Equipment , the description says: Assemblage of paraphernalia. Presented as if it is an altar, although not to worship, but to contemplate the wreckage – the sacrificial destruction of utility, the drives , forms and structures , the exuberance and vertigo that embrace both the human and non-human  orders.

But while thinking  about post-digital era, and while being in an event that proposes reflection on ‘trash and treasure’, do the conditions of the workers in the Transmediale belong to the trash more then to the treasure?

In the hall there were several workers holding a banner that says “Wie ist die Korrelation zwischen dem transmediale Festival und prekärer Arbeit?”( What is the correlation between transmediale Festival and precarious work?)


Well, yes for sure, once again lots of things to think about, while walking under a dark and frozen night.



Jan 302014

travisci-300x225By now we know that testing is important or more than that, vital!! so our apps will always have tests. If you have your code on Github the there is the possibility of using  Travis CI as a Continuous Integration Service that is free for Open Source projects. So every time you do a commit, your tests will be run by Travis and you’ll be notified by mail if they pass or not.

Travis CI documentation is great, everything explained but sometimes when you have a simple project, you just don’t want to go through all the documentation, figure out how it all works, etc you expect to be able to copy&paste a simple configuration file and done.

So, I’ll share the files for a simple case like the webcalendar. Where for testing I’m using rspec, the test DB is sqlite and since the app is deployed in heroku my production DB is postgresql. The configuration files needed are config/database.yml and .travis.yml

The database.yml file looks like

sqlite: &sqlite
adapter: sqlite3
database: db/<%= Rails.env %>.sqlite3

postgresql: &postgresql
adapter: postgresql
username: postgres
database: webcalendar_<%= Rails.env %>
min_messages: ERROR

defaults: &defaults
pool: 16
timeout: 5000
host: localhost
<<: *<%= p ENV['DB'] || “sqlite” %>

<<: *defaults

<<: *defaults

<<: *defaults

Don’t worry about seeing here the user and password of the postgreql DB, they work on Travis but are not the ones used in Heroku :-P

The .travis.yml file on your root directory that looks like


– DB=sqlite
– DB=postgresql

– psql -c ‘create database webcalendar_test;’ -U postgres

– RAILS_ENV=test bundle exec rake –trace db:migrate spec

Using this configuration files is working for me, so I help is of some help to some else and does not have to spend a couple of hours trying to figure out how to make travis-ci work on your github account :-)



 Posted by at 12:45 pm
Jan 232014

http://cargocollective.com/markwangillustration/concepts-sketchesThe year ended after having a great time at the #hackership, Batch-0 officially ended there but for the learners it had not been enough time, and we wanted to continue meeting and learning together, so we launched the proposal of continuing in an unofficial second part of #hackership. Hackership organizers agreed that it would be nice and support us, so we found a new space in K9, and there is where we are now meeting, following the same methodology learned during the Hackership, stand-up rounds, presentations, etc.

So now, let’s see at what point am I. After reading the Dive into HMTL5 guide and implementing some part of the things learned into my webcalendar pet-project. One of the things that interest me more, in general, is semantics, so I’m very happy to see that HTML5 is including semantic markup that can also be extended with the use of microdata.

After changing HTML to HTML5 the main part of the events index page, now looks like this

<%= render “shared/top_menu” %>
<%= yield %>
<%= render “shared/footer” %>

These are the basic things:

header represents a group of introductory or navigational aids
section is an element represents a generic document or application section
nav represents a section with navigation links
footer represents a footer for its nearest ancestor sectioning content

I wanted to extend the semantics with microdata, in the same partial _event.html.erb, we have the following

<td itemprop="name" itemscope itemtype="http://schema.org/Place"><%= event.location.name %></td>

<td itemprop="name" itemscope itemtype="http://data-vocabulary.org/Organization" ><%= event.organizer.name %></td>

itemprop refers to the element property (quite obvious, right?) , in the first case is the name of the location and in the second case is the name of the organization.

itemscope, since microdata is about extending semantics you always need to declare the vocabulary that you are usingis and the scope of the properties. You do this by adding the itemtype and itemscope attributes on the outermost element that contains the other elements that contain the actual data. In our case we are using the vocabulary that is defined in http://data-vocabulary.org/Organization.

Is not a too sophisticated use of HMTL5 but its a start :-), things that would be nice to implement is the usage of datepicker and to take the webcalendar offline, this will be pending things for the near future, hopefully.

I was going to write something about the experience of learning how javascript, jquery and ajax interact with Rails, but I’ll leave for the next post, now I feel like going back to code.



Jan 142014

Over Christmas I wanted to do many things, that could be summarized in learning everything about Ruby&Rails, Javascript, JQuery, CSS3, HTML5. But of course, you go back home and find out that is much better to just meet with friends, talk about life, spend time “doing nothing”. So I didn’t learn everything about everything but I did learn a lot about HTML5, and not only learn but actually implemented it in the webcalendar app that I’m developing, I would say even more, really loving the idea of how HTML5 brings more semantics to the web.

Guide to HTML5Several months ago (many) a friend recommended me a guide, which I started looking but did not manage to find the time to actually read it carefully ,the guide is “Dive into HTML5“, and I must say that is one of the best guides I ever read. Normally I get bored with guides and begin skipping things or jumping from one place to the other, but this time I really enjoyed reading it carefully, page by page.

It gives a really good overview, deep enough to understand and implement things, and lightly written to actually catch your attention, so I highly recommend reading it.

Of course, procrastination is part of the reading, so in the way I found other resources that had to do with HTML5 that I find interesting.

The HTML5 reset style sheet, the HTML5 outliner which helps you to see the structure of your HMTL5 document. Mozilla Foundation has a good documentation site for developers.

If you are semantic fan, as I am, making the UI semantic is really interesting, and there is this semantic UI , which helps to give semantics to the front-end, and of course there is a gem to use semantic UI in rails, the semantic-ui-sass gem. Also you can find a podcast in The changelog about Semantic UI with Jack Lukic.

Another of the amazing things, refered to semantics is that HTML5 gives you the possibility of extending semantics through microdata, and there is already a microdata vocabulary initiative for defining the most common things, data-vocabulary.org, and you can follow schema.org blog for the latests news.

So if you feel that you want to play with HTML5 you can use Initializr which is a templates generator to help you getting started with a new project based on HTML5.