Scroll To View More
Dario Bertini

Dario Bertini

London, United Kingdom
Member since August 18, 2014
As a back-end developer, Dario takes pride in writing maintainable, succinct code, and he cares about automating things (CI and deployment). He's a huge fan of functional programming; he has coded in Haskell, Clojure, and other languages. He values FP because of how it helps to reason about code and write correct programs.
Dario is now available for hire
Portfolio
  • SecretEscapes
    Python, Java
  • L2inc
    Python, SqlAlchemy, AWS Elastic Beanstalk, AWS RDS, AWS Redshift, Flask, Celery
  • NCCGroup
    Python, .NET, Burp Proxy
Experience
  • Linux, 10 years
  • Python, 6 years
  • Functional Programming, 4 years
  • Haskell, 1 year
  • Clojure, 1 year
London, United Kingdom
Availability
Part-time
Preferred Environment
Nixos Linux, Atom, Emacs, Mercurial, Git
The most amazing...
...thing I've coded might be a regular expression matcher and generator for strings matching with the automata.
Employment
  • Software Developer
    2016 - PRESENT
    SecretEscapes
    • Created a tool to automatically compare competitors' prices.
    • Integrated the main app with a Salesforce back-end.
    • Set up deployment of some colleagues' internal applications.
    • Investigated app-runner inefficiencies, to shave several seconds off it.
    • Prototyped a Purescript front-end.
    Technologies: Python, Java
  • Back-end Developer
    2015 - 2015
    L2inc
    • Migrated scrapers and code for data gathering to new systems, taking care of schema changes, new code, and dependencies.
    • Wrote an internal automated reporting system that would present historical data in multiple formats.
    • Handled AWS deployment, submitted upstream patches for the libraries in use, and reported vulnerabilities to vendors.
    Technologies: Python, SqlAlchemy, AWS Elastic Beanstalk, AWS RDS, AWS Redshift, Flask, Celery
  • Security Consultant
    2014 - 2015
    NCCGroup
    • Created a tool to scan a POSIX file system and aggregate data for post-exploitation.
    • Created a conversion tool to recover source files from OracleForms XML.
    • Created a parser for firewall rule files.
    • Performed security assessments for both UK and multinational companies.
    • Completed the internal training and curated/improved technical topics covered on the internal wiki.
    Technologies: Python, .NET, Burp Proxy
  • Software Developer/DevOps
    2014 - 2014
    Audiencerate
    • Managed the provisioning of the system.
    • Wrote integration/acceptance tests.
    • Rewrote a 15kLOC legacy Java application in 300 lines of Clojure.
    • Deployed a Riemann instance and front-end for monitoring.
    • Created Python and Haskell scripts to maintain the system and exchange the data among the legacy deployment/separate systems.
    Technologies: Clojure, Python, Ansible, Selenium
Experience
  • Pew (Development)
    https://github.com/berdario/pew

    A rewrite of virtualenvwrapper in pure Python. What I'm fond of is also the fact that I've been able to reuse the test suite from the original project.

  • Managemytime (Development)
    https://github.com/berdario/managemytime

    A demo project, showcasing a typesafe REST API in Haskell. (And some JavaScript+HTML as UI/front-end)

  • Mutagen Python3 Porting (Development)
    https://github.com/berdario/mutagen

    My porting to Python3 of this library that deals with audio file metadata. I've made mistakes while porting, but it was satisfying to see the test cases pass on both Python versions.

  • Strings -n Implemented in 3 Lines of Python (Other amazing things)
    https://gist.github.com/berdario/114b2daf9b43fe924676

    Not enough young developers are aware of mmap and end up re-implementing (poorly and less efficiently) incremental file reading when it's not really needed.

  • fulltextindex.hs (Other amazing things)
    https://gist.github.com/berdario/6b89008b0b668df91270

    A simple text index/full text search in Haskell. A simple, but non-trivial example of the power of higher order functions.

  • RegEx Unfolder (Development)
    https://github.com/berdario/regexp-unfolder

    This is a small Clojure project (just 100 lines), leveraging instaparse and Clojure core.logic. It defines a relationship between a RegEx FSM and the matching strings, letting you enumerate the strings that can match certain RegEx.

  • To Python 3 and Back Again: Is It Worth the Switch? (Publication)
    Since its debut in 2008, Python 3 has come a long way. Gone are the days when it lacked support for almost all useful libraries and tools. Python 3 offers many improvements and amazing new features that make writing robust code in Python easier than ever. In this article, Toptal engineer Dario Bertini discusses some of the improvements and features that Python 3 has to offer, and explains whether switching to Python 3 is a smart choice right now.
Skills
  • Languages
    Python, Elm, Clojure, PureScript, Haskell, Scala, Jython, JRuby, Java, Ruby, JavaScript, F#, C#, C
  • Paradigms
    Functional Programming, MapReduce, Test-driven Development (TDD)
  • Platforms
    Linux
  • Storage
    Redis, PostgreSQL, MongoDB, Sphinx Search Engine, SQLite
  • Frameworks
    Django, JNI
  • Libraries/APIs
    Compojure
  • Tools
    Ansible, bzr, Mercurial, Git, Jenkins, Travis CI, Maven, LaTeX
  • Other
    NixOS, i18n
Education
  • B.S. degree in Computer Engineering
    2006 - 2010
    Università degli studi di Bergamo - Bergamo, Italy
I really like this profile
Share it with others