Hello! We had a lot of fun at our thirtieth edition of Vienna.rb. Quite a milestone! As commemoration, our lovely meetup-ers were treated to delicious cupcakes and banana bread.
If you missed out on the deliciousness, fret not! Here’s the brain food:
Tawan — Domain Specific Languages — What are they good for, and how does Ruby help
Tawan was very kind to introduce us to the world of Domain Specific Languages, or DSLs, for short. He started by drawing up the distinction between technologies that fall within the definition of a DSL, and which don’t:
Not a DSL
When trying to categorize these, it’s important to think about what you want to achieve against how you want to achieve.
The fun image of an onion chopper was brought up: It’s easy to use, it’s safe, easy to explain and to learn. This is what we want to achieve when designing a DSL! Thank you Tawan!
Emi — Super fast image resizing with ruby
Emi gave us some insight into what goes on during work!
On this fateful day, Emi introduced us to
libvips. On the surface, its advantages include:
- Being quicker than
- Using less memory than the above
- Being open source
We have a nice ruby wrapper, too! It’s called
Other nice things include calling up header data without reloading pixels, shrinking an image upon loading, specifying target resolutions quickly, and more!
Of course, there are downsides:
- It’s not as simple or as high level as
- It has the occasional memory leak
- The contribution is not so active
Thanks for the talk, Emi!
Max — Mongo on demand — NoSQL in PostgreSQL
In Max’s talk, we dive into the world of NoSQL, which is a term for databases that don’t use tables.
NoSQL databases have their uses in the world of data storage. For example, Trello cards have several parts into them that don’t fit a specific data type.
Max showed us how to use a Mongo-like data storage in postgres. This is done using JSON. Postgres offers either JSON or JSONB, the latter of which is a decomposed binary format, but allows indexing, which means faster queries.
After showing us a demo, Max made it apparent that using JSONB is much faster, and using the
store_accessor declaration in
rails lets us declare fields that will be accessed often.
One thing that needs to be noted, though, is that the JSONB type is available starting with postgres 9.4. Thanks for sharing, Max!
After our talks
Brave volunteers came up and gave us some tips and insights into their work. Below is a list of these (should be most, if not all):
- Where2Help: “Organizational app for NGOs and Volunteers”
- Pickaxe book
- Biertaucher Podcast
- Rails Doctrine
- Vienna.html — Static website meetup
- Static times
We wrap up with some friendly chit chat.
Wanna stay in touch? Follow us @viennarb.
‘Til next time!