inaka

Latest blog entries

/
The Art of Writing a Blogpost

The Art of Writing a Blogpost

Mar 09 2017 : Matias Vera

/
SpellingCI: No more spelling mistakes in your markdown flies!

Feb 14 2017 : Felipe Ripoll

/
Fast reverse geocoding with offline-geocoder

Do you need a blazing fast reverse geocoder? Enter offline-geocoder!

Jan 18 2017 : Roberto Romero

/
Using Jayme to connect to the new MongooseIM REST services

MongooseIM has RESTful services!! Here I show how you can use them in an iOS application.

Dec 13 2016 : Sergio Abraham

/
20 Questions, or Maybe a Few More

20 Questions, or Maybe a Few More

Nov 16 2016 : Stephanie Goldner

/
The Power of Meeting People

Because conferences and meetups are not just about the technical stuff.

Nov 01 2016 : Pablo Villar

/
Finding the right partner for your app build

Sharing some light on how it is to partner with us.

Oct 27 2016 : Inaka

/
Just Play my Sound

How to easily play a sound in Android

Oct 25 2016 : Giaquinta Emiliano

/
Opening our Guidelines to the World

We're publishing our work guidelines for the world to see.

Oct 13 2016 : Brujo Benavides

/
Using NIFs: the easy way

Using niffy to simplify working with NIFs on Erlang

Oct 05 2016 : Hernan Rivas Acosta

/
Function Naming In Swift 3

How to write clear function signatures, yet expressive, while following Swift 3 API design guidelines.

Sep 16 2016 : Pablo Villar

/
Jenkins automated tests for Rails

How to automatically trigger rails tests with a Jenkins job

Sep 14 2016 : Demian Sciessere

/
Erlang REST Server Stack

A description of our usual stack for building REST servers in Erlang

Sep 06 2016 : Brujo Benavides

/
Replacing JSON when talking to Erlang

Using Erlang's External Term Format

Aug 17 2016 : Hernan Rivas Acosta

/
Gadget + Lewis = Android Lint CI

Integrating our Android linter with Github's pull requests

Aug 04 2016 : Fernando Ramirez and Euen Lopez

/
Passwordless login with phoenix

Introducing how to implement passwordless login with phoenix framework

Jul 27 2016 : Thiago Borges

/
Beam Olympics

Our newest game to test your Beam Skills

Jul 14 2016 : Brujo Benavides

/
Otec

Three Open Source Projects, one App

Jun 28 2016 : Andrés Gerace

/
CredoCI

Running credo checks for elixir code on your github pull requests

Jun 16 2016 : Alejandro Mataloni

/
Thoughts on rebar3

Thoughts on rebar3

Jun 08 2016 : Hernán Rivas Acosta

/
See all Inaka's blog posts >>

/
Beautiful Code

A photo of Brujo Benavides wrote this on April 20, 2015 under dev, erlang, poetry .

A while ago, we needed a flyer for a talk at the ECI. And we came up with the idea of writing beautiful code, something that we are proud to do on a daily basis. To represent that, we borrowed the lyrics of one of the most beautiful songs in history and we rewrote them in Erlang. I won't tell you what song we've chosen. You'll need to figure that out on your own…

-author(john).
-author(paul).
-author(george).
-author(ringo).

my_life(NewPlaces) ->
  Places = db:get_all(places),
  UpdatedPlaces =
    [  NewPlace
    || NewPlace <- NewPlaces
     , member(NewPlace, Places)
    ],
  lists:foreach(
    fun(Place) ->
      db:insert(places, Place)
    end, UpdatedPlaces),
  DeletedPlaces =
    [  Place
    || Place <- Places
     , not member(Place, NewPlaces)
    ],
  Moments =
    [  Moment
    || Place <- Places
     , Moment <- Places#place.moments
    ],
  People =
    [  Person
    || Moment <- Moments
     , Person <- Moment#moment.lovers ++
                  Moment#moment.friends
    ],
  {Dead, Living} =
    lists:partition(
      fun person:is_dead/1, People),
  lists:foreach(
    fun person:love/1, Dead ++ Living),
  [You | _Rest] =
    lists:keysort(#person.love_level, People),
  UpdatedMemories =
    [  Moment#moment{meaning = null}
    || Moment <- Moments
    ],
  lists:foreach(
    fun(Person) ->
      timer:sleep(random:uniform(100) + 100),
      case Person of
        You -> person:love(You);
        Other -> person:think_about(Other)
      end
    end, People).