Your first production-ready Jenkins

You heard about Jenkins and you want to try it. Good news: it’s so simple to do it in a production environment. So, skip trying it at your localhost and then installing it again in your production environment. The steps are these:

1. Get a production server. We use to get it at gandi.net. To build Android apps you’ll need 2GB of memory. About the number of cores: it will work with only one core, but if you can afford a machine with more cores, gradle will use them. Fewlaps’ Jenkins has two cores and it performs great.

2. Install Java 8. You can also use Java 7 but… well. At some time, someone, will write a lambda, and you will need to update to Java 8 :·)

su root
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer
java -version
exit

3. Install Jenkinshttps://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins

4. http://yourserver:8080 it works! (note that it’s not too fast starting the daemon)

5. Install git, mercurial… All the things that Jenkins will need to pull your projects from your repos. You know:

apt-get install git
apt-get install mercurial

… and so on

 

Important: before creating any Job, check your security configuration. Create an user for you, another one for every colleague, and grant them the needed permissions. Also check that “anonymous” doesn’t have any permission, and that the “users can register to the environment” box is not checked.

There’s an issue builiding Android things, related to the AAPT. Fix it with this solution: http://stackoverflow.com/questions/22701405/aapt-ioexception-error-2-no-such-file-or-directory-why-cant-i-build-my-grad

Xerrada sobre testing, CI i CD a Android

Bones!

Aquest dimecres 17 de febrer he fet una xerrada introductòria de testing, CI i CD sobre Android als Betabeers. Ha estat al Mobile World Centre, al C/ Fontanella 2 de Barcelona. És a dir: a la cosa aquella de Telefònica al costat de Plaça Catalunya.

 

Vet aquí el video de la xerrada:

El briefing era aquest:
Hola! Soy Roc Boronat, desarrollador Android en Fewlaps. Hace un año y medio creía que testing y CI eran cosas de pijos, así que este último año he escuchado mucho para aprender por qué los grandes lo promueven. En esta charla compartiré mi experiencia sobre testing en Android, TDD, y CI, aplicado a varios proyectos reales. Y todo, desde el punto de vista del que no se lo creía demasiado.

Espero que us sembli interessant! I per suposat, qualsevol feedback és benvingut!

La comunitat Flone

Bones!

Entre ahir i avui, el meu Flone ha fet avenços genials.

Ahir, vaig quedar amb en Natxo, un entusiasta dels drones i del Flone en concret, que em va ajudar a entendre com funcionava la part elèctrica del Flone, i a soldar la PDB als quatre ESC.

Avui, he conegut en persona a en Víctor, un noi que em va contactar a través d’Instagram, a arrel de que va veure el vídeo de la talladora làser fent tres Flones. Ell ha fet el seu amb la seva impressora 3D! UAU!

La part trista és que tinc el Flone casi casi però no, i en Víctor, tres quarts del mateix. A mi em falla un ESC (o un motor…) i a ell, sembla que la placa.

I direu… i a mi què m’expliques? Doncs t’explico que d’aquest post en pots treure la configuració de la placa MultiWii preparada per a que el Flone funcioni via Bluetooth! Per alguna raó, la placa del Víctor no enviava ni rebia dades via Bluetooth, i al flashejar la placa amb la meva versió sí que ho feia… de manera que hem decidit que el millor seria compartir la meva configuració amb l’univers.

Així que aquí ho teniu! MultiWii 2.3 adaptat al Flone per a connectar via Bluetooth

Live Coding

Bones!

Després d’unes vacances genials, he tornat a la càrrega fent algunes cosetes al QuitNow!, que teniem acumulades. I per primera vegada he fet un live coding. Si ets desenvolupador i no n’has fet mai cap, atreveix-te! És la versió Badoo i Tinder dels desenvolupadors. I a més a més, tampoc quedes amb ningú. És clavat!

No, en sèrio: es tracta d’un lloc on ensenyar com desenvolupes quelcom en temps real. Apareix el teu pantallot, la teva careta, i un xat. I apa! Jo em pensava que no li interessaria a ningú, però mira. 10 ànimes han arribat a estar alhora mirant com teclejava amb cert sentit… que boig que s’està tornant tot.

Bé, un link al meu perfil, a veure si m’hi enganxeu!

https://www.livecoding.tv/rocboronat/

 

Live Coding official logo

El Flone ja té forma!

El 24 de febrer vaig començar un nou projectet Android, on l’objectiu no era fer la típica app. Es tractava de fer volar un tros de fusta, una placa arduino, quatre motors, uns quants xips anomenats ESC i un bon munt de cables i cola blanca. I… ho he aconseguit!

El projecte no ha fet més que començar, però ja ha complert el primer milestone: aconseguir fer volar qualsevol drone controlat per una placa arduino i el software MultiWii, un dels més comuns en el món dels drones.

I per no variar, us deixo un parell de links:

And one more thing… he començat a construïr el meu propi Flone! Estic super emocionat. Sabies què per a tallar fusta, tan sols cal que enviis un .PDF vectorial? Són simples vectors! Ai, el món del hardware, com m’està agradant… bé! Vet aquí un video de la meravella:

Talks about Android you must see

Developing for Performance by Colt McAnlis
In this Youtube playlist, McAnlis introduces some key points to undersand how Android renders the View layer and what we can do to ease its work and improve our app performance
https://www.youtube.com/watch?v=HXQhu6qfTVU&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE

Android App Anatomy by Erik Burke (2013)
Eric Burke advises on creating mobile applications for Android: the lifecycle of an app, loaders, fragments, Otto, DI, and others.
http://www.infoq.com/presentations/Android-App

 Please! Note me if some link is broken! :·) And also if you find useful videos. Thanks-a-lot!