About Me

Technologies

Some of the things I like/don't like to work with:

  • My passion right now, and the area where I believe I can deliver the most value, is in improving performance and scalability of API services, such as backends for mobile applications, JSON APIs, etc. Ideally, those that are written in Ruby on Rails, but I'm fairly agnostic to platform on this. I've always loved working on performance, so if your service is having issues due to high load, or you are expecting a large traffic increase, I would love to help!
  • I'm currently looking to learn and expand on my very small experience with Elixir, Clojure and Machine Learning.
  • My favorite languages, by far, are Ruby and JavaScript. JS is one of the big reasons I focused in making HTML5 games a few years ago. I know the major JS frameworks well and am very skilled in creating fancy front-ends in the browser, with very maintainable and scalable backends.
  • Ruby on Rails is hands-down the best server-side Web Application Framework I've found so far. I've had plenty of experience with it, and I'd love to work on more RoR projects.
  • I'm a big fan of AJAX and single-page-applications, including the more "advanced stuff", like Comet, long-polling, WebSockets, cross-domain requests, Web Workers, localStorage, webcam, etc.
  • I'm very experienced with both jQuery and Prototype JS libraries, including jQuery UI and many other "plugins".
  • Also on the web frontend side, I'm very skilled with CSS. Complex positioning, liquid layouts, the new fancy things in CSS3, etc (all evidenced by my almost image-less homepage). I really like SASS/SCSS, and Compass, all my current projects use them.
  • I love ASP.Net and the .Net framework. I know all the ins and outs of it, how to do things, how it works, and where to hack when it doesn't.
    I have a lot of experience with it, and after Ruby on Rails, it's my second preferred development environment.
    I'm equally fluent in C# and VB.
  • I have very advanced knowledge of ASP.Net WebForms. ViewState, ControlState, Custom Controls, Caching, ASHX Handlers, etc.
  • I have experience with the ASP.Net MVC framework, and I'd like to participare in more projects that use it.
  • I have a lot of experience with PHP, although I'd rather avoid it if possible.

I'm experienced in:

Besides the languages and environments mentioned above, I have considerable experience with:

  • Performance: I have a deep understanding of performance at the database level, network level, application and web layers. I also have considerable experience with stress / load testing methodology and tools, and profiling both CPU and Memory usage.
  • Web Security: Deep knowledge of SQL Injection, Cross Site Scripting, Cross Site Request Forgery, Input Tampering, and methods to secure the code against these. Good understanding of cryptography techniques and how to apply it to secure user information in the database and in transit.
  • Money management sites: I've created 2 escrow sites, and 4 sites whose main function was being an intermediary between two parties in a transaction, managing other people's money. I have a solid accounting background, and extensive experience in the database design and the code functionality to make robust, auditable systems. The code I've written in the last 2 years only has managed money movements for over $100 million USD.
  • Payment Processors: I'm a PayPal Certified Developer, having integrated dozens of websites with both PayPal Standard and Direct Payments, plus their recurring billing and automated mass payments APIs. I've also integrated, in different sites, a large number of other payment processors, both the "regular gateway" type, and the "redirect to us and we'll send back something weird" type.
  • Memcached and Redis: I have experience with memcached and Redis, having used both heavily. For Redis in particular, I'm very proficient in making the best use of each of its data structures as they fit each problem.
  • ERPs and ERP-like systems: I worked for many years in a reseller of one of the largest ERPs worldwide (MAPICS XA / Infor XA). This gave me a deep understanding as to how ERPs are structured, and how to properly design gigantic databases, to make systems flexible, configurable, and resilient.
  • Experience with music industry standards: DDEX Asset Description and Reporting.
  • A lot of archaeological stuff no one cares about anymore: Tons of experience with VB5, VB6, ASP Classic, RPG/400, CL/400 and others.