Pablo's blog

A bit of this, a bit of that and a lot about computers

Curriculum vitae

Curriculum for J. Pablo Fernández in a nicely formatted PDF.

I have more than 10 years of professional experience programming and I’ve been coding since I was 7 years old, creating and contributing to various open source projects. I’ve given conferences and wrote articles on magazines about programming languages, libraries, frameworks, etc. I love coding and building products.

Experience

Simplificator Software Developer 2010-03 → Present

  • Developed complex application for data acquisition for environment metrics in Rails 3.
  • Merged several Rails web applications into a single parametrizable one. Currently serving tutor24.ch, homeservice24.ch, etc.
  • Started maintaining, improving and documenting the SimpleBillboard paying system (Rails 2.3).
  • Migrated Berufsbildner’s internal tool from Rails 1.2 to Rails 2.3 and started maintaining it.
  • Developed part of the subscription system for the next version of Evita.ch.
  • Tracked and fixed many nasty memory leaks for http://compass.prohelvetia.ch, a project I never worked on before.
  • Hackdays: Rails app to organize fussball matches, contributions to the Clojure app Clojars.
  • Internal tech talk: Why I love Smalltalk and Lisp

Google Software Engineer in Test 2007-05 → 2010-01

  • Developed end-to-end, load, failure, latency tests for  Gmail’s Priority Inbox and some internal applications.
  • Found and predicted a bug to be dangerous. It later stopped the development of 53 projects.
  • Increased the realism of a set of tests unveiling at least 3 potentially destructive bugs in internal CRM.
  • Developed a JavaScript mock of the Gmail server to speed up and stabilize UI tests.
  • Created web application to keep track of quality metrics of other products in Django with MySQL.
  • Tech talks: “Python testing tools”, “Coding in Erlang”, “Introduction to Testing”, “Esperanto”.

Reliable Services S.R.L. Software Developer 2005-08 → 2007-04

  • Developed Asterisk module to manage users and tasks. Working without a flaw since day 1 thanks to proper testing.
  • Developed gateway between an custom XML protocol and Asterisk’s Manager Interface.
  • Added real-time support for agents in Asterisk (5143).
  • Maintained around 10 complex Asterisk deployments with more than 300 phone terminals, including network design, installation, backup, remote troubleshooting, testing (using SIPp), etc.

Freelancing Software Developer 2005-02 → 2005-08

  • Developed various small web applications from design to deployment for various clients including: URL shorteners, quote managers, scripts, etc.
  • Sustainability/viability study of free instant messaging solutions.

IfPeople Software Developer 2004-09 → 2005-01

  • Design, set up and deployment of various Plone web sites, one with more than 40 editors requiring custom products.
  • Developed Plone products for:
  • Displaying documents stored in other locations (like a symlink)
  • Speeding up the addition of keywords to documents.
  • Embedding external web sites in a Plone web site.
  • Handling quotes including a portlet for displaying.

Andi GmbH Software Developer 2003-03 → 2003-11

Developed of a video editor for set top box using C++, Qt, KDE, transcode, mplayer and Xine.

Freelancing Software Developer 2002-03 → 2003-03

Developed web sites for a painter, a marble shop and party organizer. The first one still running today only with some additions.

TecSis Intern Software Developer & Sysadmin 1999-06 → 2002-03

  • Deployed various Linux and OpenBSD servers.
  • Developed GUI file usage monitoring application, called KSamStat, for Samba to be able to replace a Novell Netware server.
  • Developed a web app to administrate a physical library of CD-ROMs, magazines, books  and other educational material.

ITPA S.A. Intern Software Developer & Sysadmin 1998-03 → 1999-06

  • Installed a Linux firewall using ipchains.
  • Developed web administration tool for it in C using CGI in Apache (yes, a web app in C, crazy days!).

Other projects

My GitHub page: http://github.com/pupeno

  • Keep on Posting: checks your blog or twitter feeds and let’s you know when your not posting as often as before.
  • DNSk9: constantly checks your DNS configuration and informs you by email when something breaks.
  • image_button_to: Gem that adds image_button_to and to_function to Rails. Now a patch for Rails 3 (also by me).
  • rails_openid: a Gem to help authenticate OpenID users in Rails.
  • ubiquitous_user: a Gem to generate users on the fly in a Rails project without requiring log in.
  • Sano: health tracker developed over a weekend as an experiment on productivity in Ruby on Rails.
  • Is it Science Fiction?: web site to vote and comment on whether movies or books are science fiction. First in C# re-written in Rails.
  • Hear a Blog: project developed in a team of two in C# and ASP.NET MVC.
  • Dice: dice simulator for Android developed in my free time leading a team of two, developed in Java of course.
  • Fanterlastic Four: Example of how to use Serlvers to write some extremely basic IP servers.
  • Serlvers: Erlang module to write IP (TCP/IP) servers.
  • SCons Erlang: Extension for SCons to be able to build Erlang projects.
  • File Activity Viewer: Monitors files and shows the new lines almost real-time (visual tail -f).
  • Score Reading Trainer: Improve reading speed of musical scores, written several times it C++, C# and Java.
  • KTTSD: A DCOP plug in based Text To Speech service.

Publications

  • “Programming in Python part 1” and “… part 2”, Linux Journal, issue 158 and 159, June and July 2007.
  • “An XML Approach to Templating with PHPTAL”, and “… continuation” php|architect, volume IV, issue 3 and 4 on 2005.
  • “KIO: Input and Output with KDE”, Mundo Linux, issue 71, October 2004.
  • “DCOP: Interprocess Communication”, Mundo Linux, issue 70, September 2004.

Conferences

  • “Programming Languages and what they can teach us”, 2006-11-11, CaFeLUG’s CaFeConf 2006.
  • “Lisp, a different Language”, 2005-11-20, 5º Jornadas Regionales de Software Libre.
  • “Lisp, a different Language”, 2005-10-13, CaFeLUG’s CaFeConf 2005.
  • “Multi-platform toolkits for graphical interfaces”, 2005-06-06, Usuaria’s Second National Congress of Free Software.
  • “Architecture of KDE, building an integrated desktop”, 2004-07-15, II Linux Gathering of Litoral, Entre Rios National University.
  • “Programming Qt/KDE, the 1, 2, 3 of GUI programming”, 2004-07-15, II Linux Gathering of Litoral, Entre Rios National University.
  • “Develop faster using KDevelop”, 2004-05-28, Usuaria’s First National Congress of Free Software.
  • “KDE”, 2004-05-22, CaFeLUG’s First Demo Day.
  • “Rapid Application Development with Qt/KDE and KDevelop”, 2004-03-20, CaFeLUG’s Charla Técnica Trimestral.

Buzzwords

  • Programming concepts: Functional, object oriented, multiple dispatch, testing, meta-programming.
  • Programming Languages: Ruby, Python, C, C++, Java, JavaScript, Lisp, Objective-C, Erlang, Haskell, Smalltalk, C#, Clojure.
  • Libraries and frameworks: Qt, KDE, Gtk+, Gnome, Cairo, libFFI, PyGtk, Twisted, GNUstep, Django, Rails, Android.
  • XML: DTDs, XHTML with CSS, DOM, DocBook, TAL.
  • Databases: SQL, MySQL, SQLite, PostgreSQL, OpenLDAP.
  • Operating systems: Linux (Debian, (K)Ubuntu, Gentoo), OpenBSD, FreeBSD, Mac OS X.
  • Version control: Git, Mercurial, Darcs, Subversion, Perforce, CVS.

Education

  • 1982 → end-of-time Self-learning of computer science by books, papers, magazines, videos, etc.
  • 2004 → 2007 Attended some university courses as a visitor.
  • 1996 → 2001 Electronics & Electromechanics, Technology Institute Philips Argentina.

Languages

Spanish: Native; English: Read, written and conversational; Esperanto: Basic.

Some other achievements

Won mathematics olympics, which gave me a scholarship. Got a first degree Taekwon-do black belt.

Follow

Get every new post delivered to your Inbox.

Join 329 other followers