Dave Aronson

Dave Aronson

Fairfax, VA, United States
Hire Dave
Scroll To View More
Dave Aronson

Dave Aronson

Fairfax, VA, United States
Member since February 25, 2014
Dave is a software developer with decades of experience in a wide variety of languages, systems, techniques, and domains. He mostly does the back-ends of Ruby on Rails web apps these days, but is also skilled in Python, C, and much more, and can mentor your developers and advise on development processes and tools. He is also a skilled speaker, having created and delivered presentations from five-minute briefings to week-long technical courses.
Dave is now available for hire
Portfolio
  • Codosaurus, LLC
    Ruby, Ruby on Rails, JavaScript, Python, JSON, AJAX, C, RSpec, HTML5, CSS...
  • Miscellaneous
    Ruby, Ruby on Rails, Python, JavaScript, C, HTML, CSS, Google Sites
  • Rosetta Stone
    ActionScript, JavaScript, Ruby on Rails, OS X, Linux, Trac, Jazz, Flash...
Experience
  • C, 20 years
  • Ruby, 7 years
  • SQL, 20 years
  • JavaScript, 20 years
  • Ruby on Rails, 6 years
  • Unix, 20 years
  • Linux, 18 years
  • Python, 2 years
Fairfax, VA, United States
Availability
Part-time
Preferred Environment
Mac, Vim, Git, latest Rails and Ruby
The most amazing...
...thing to me is... I get paid for doing this! --Steve Martin
Employment
  • T. Rex (President)
    Codosaurus, LLC
    1990 - PRESENT
    • Ran all aspects of the company, doing the client work, marketing, bookkeeping, IT support--everything! This was full time from 1990 to 1992, part time (evenings, weekends, and between "permanent" positions) until 2011, and full time again since then.
    • Implemented features, mentored junior developers, and improved code quality on a high-assurance guard for the US Federal Government, in Ruby and C. This is not using Rails, but some parts are in Sinatra.
    • Added features and fixed bugs in a Ruby on Rails API-based query-answerer, including helping define new version of custom query language, converting the answerer from a microservice to an engine, and packaging it as a gem, for RBM Technologies (via Toptal).
    • Added features and fixed bugs in a Ruby on Rails retail sales floor planning system for RBM Technologies (via Toptal).
    • Added features and fixed bugs in the coaching section of a Ruby on Rails wellness portal for Onlife Health (via RaveTec).
    • Designed a RESTful API and implemented it in Ruby on Rails, updated Cucumber/RSpec tests and Python/Java bulk upload tools, and investigated migrating from MySQL to Riak or NuoDB, for Verisign (via Celerity IT).
    • Enhanced and repaired Ruby on Rails database table administration web-apps for retrieval systems.
    • Added email contact retrieval to a newsletter subscription manager in Ruby on Rails for HomeActions.
    • Adapted desktop Ruby on Rails views to mobile for Barclaycard (via Object Systems Group, as a temporary employee of theirs).
    • Helped improve an event networking and session scheduling site in Ruby on Rails for Halfaker and Associates (as a temporary employee).
    • Created a financial portfolio rebalancer in Ruby on Rails for a private individual client.
    • Created a device-track GIS plotter demo in HTML5 and JavaScript for Department 13.
    • Created a Tweet retriever in Ruby on Rails for Atomic Broadcast.
    • Enhanced a Python group email/SMS system for Anteon (via Liqwid Networks).
    • Created a fax board initialization and diagnostic program in C for Send2Fax.
    Technologies: Ruby, Ruby on Rails, JavaScript, Python, JSON, AJAX, C, RSpec, HTML5, CSS, Jasmine, Cucumber, JIRA, Skype, MySQL, PostgreSQL, Riak, NuoDB, OS X, Linux, MS-DOS, OS/2, Windows, Git, GitHub
  • Volunteer
    Miscellaneous
    1963 - PRESENT
    • Released a number of open source projects, such as EOTS (Email of the Species) and hook_lying_syncer gems, Pull Request Roulette and The Decider Ruby on Rails apps, a goal tracker and success predictor, an address list center finder, DARTS Toastmasters meeting role tracker, a physics units-and-measurements system to guard against unit mismatches, CUT lightweight unit-testing harness om C, KDL Ruby module to parse and print Kakuro puzzles, utilities in C and Pascal for dial-up BBSes and dealing with text data files, MS-DOS screensavers in C, and more. Most of them, and most of my contributions to other open-source projects, are on GitHub, at https://github.com/davearonson/.
    • Contributed to the development of other open source projects such as ripple_searchable, pg_search, and omnicontacts Ruby gems, exercism.io and its API (both in Ruby with Sinatra), and busybox (in C).
    • Founded, and still run, the LinkedIn “Plain Old C Programming” group; manage LinkedIn “Rubyists” and “Ruby on Rails” groups.
    • Spoke occasionally at assorted technical meetups and conferences.
    • Served as Organizer (President) of the DC Computer Consultants Meetup (remnants of ICCA of Greater Washington).
    • Created and organized Ruby DAY Camp 2013 (an overflow event for Ruby DCamp).
    • Served as an electronic participant for IETF (Internet Engineering Task Force); credited for input in RFC 3458.
    • Founded MARS (Mid-Atlantic Ruby Society).
    • Served as webmaster for Metropolitan Washington Mensa and Fairfax Toastmasters. Served as webmaster of District 29 Toastmasters and Mount Holyoke Club of Philadelphia.
    • Contributed to “C Secure Coding Standards” book and website for CMU SEI CERT.
    Technologies: Ruby, Ruby on Rails, Python, JavaScript, C, HTML, CSS, Google Sites
  • Developer IV
    Rosetta Stone
    2010 - 2011
    • Created and enhanced games and related tools such as content-set editors.
    • Added those games and tools to Ruby on Rails pages, passing data via JavaScript.
    • Added new pages to a Ruby on Rails site engine, modifying the controller and views.
    • Mentored junior staff by reviewing code and conducting software engineering training.
    • Proposed ideas for new games.
    • Integrated with components from other teams or third parties (such as web analytics).
    Technologies: ActionScript, JavaScript, Ruby on Rails, OS X, Linux, Trac, Jazz, Flash, SubVersion
  • Senior Software Engineer
    Comcast Cable
    2009 - 2010
    • Wrote Ruby, Python, and Perl programs to record device performance data.
    • Created a Ruby on Rails web application to record and estimate the risks of projects by aspect.
    • Created a data file clearinghouse to streamline the data-file transfer agreement process in Bash script.
    • Assisted in the security design and implementation for a single-sign-on effort.
    • Elicited requirements from other teams to determine needs for performance recorders.
    Technologies: Ruby, Python, Perl, shell scripting, OS X, Linux, Kerberos, JIRA, Subversion
  • Senior Lead Software Engineer
    BAE Systems
    2004 - 2009
    • Created multiple frameworks for rapid development of near-real-time data guards (traffic scrubbers) since our extant frameworks were too slow. Used those frameworks to create data guards for demos and for clients, including NRL (Naval Research Laboratory), NATO C3A (North Atlantic Treaty Organization's Command, Control, and Communications Agency), NTT Data, and other parts of BAE Systems.
    • Developed a week-long training class on information security principles; how to install, use, program for, and administer STOP OS; how to use my main framework, and our main older one; and other BAE Systems products. Taught this class to NATO C3A (in The Hague), NTT Data (in Tokyo), Lockheed-Martin (in Ft. Worth, Texas), and assorted BAE Systems personnel (both the American company BAE Systems Inc., and its British parent BAE Systems plc).
    • Architected the next generation of the DSG data guard system, and wrote its internal message transport system. Helped analyze security flaws in the previous generation.
    • Modified the STOP 6 OS networking stack to let it read and write raw Ethernet packets.
    • Helped adapt Samba for use as an MLS (Multi-Level Secure) file server for use on F-35 JSF (Joint Strike Fighter) mission plans. Traveled to Ft. Worth to install STOP and our Samba at the Lockheed-Martin plant producing F-35s.
    • Co-developed weekly CISSP (Certified Information Systems Security Professional) certification exam preparation classes for colleagues, and co-taught it for full run of twelve weeks.
    • Taught seminars on modern software engineering techniques such as pair-programming and TDD (Test-Driven Development).
    • Enhanced and maintained the STOP 7 operating system installer and a package installer/upgrader.
    • Tested the functionality of most of our compatibility-patched versions of BusyBox and other open-source utilities, under STOP 6 and 7, and submitted the patches upstream.
    • Founded a Toastmasters club (first new club in District that year) and served as President and Webmaster.
    • Won the Chairman’s Award for Innovation (for “helping F-35 get off the ground”); was nominated many other times for the Chairman’s Award for Innovation or for Transferring Best Practices.
    • Won a Certificate of Achievement for Outstanding Service and Performance.
    • Won a spot award for rescuing the company's reputation with a disgruntled client, which resulted in at least one man-year of additional business. Traveled to Charleston, SC to pair-TDD with their team lead many times.
    Technologies: XTS/STOP (secure OS), C, Java, shell scripting, Linux, Windows, CVS, Subversion
  • Senior Software Engineer
    Secure Software
    2003 - 2004
    • Fixed and enhanced a static analyzer that inspected many different languages.
    • Fixed and enhanced a static analyzer that inspected binaries, not human-readable source code.
    • Wrote Python static analysis plugins to find usage of mobile code or files in Java, and usage of the Windows registry in C or C++.
    • Made memory leak hunting easier by enhancing the memory allocation library.
    • Helped plan test procedures as part of a code quality initiative.
    Technologies: Python, C, C++, Java, OSX, FreeBSD, Linux, Windows, Subversion, i386 Assembler, security
  • Senior Software Engineer
    Cryptek Secure Communications
    2001 - 2001
    • Wrote a monitoring program in C++ for Windows to detect frozen VPN devices (external versions of our network cards), save sniffer logs, and either power-cycle the frozen device or failover to backup device.
    • Wrote requirements, use cases, and visual prototypes for a new management console for an IPsec (Internet Protocol Security)-based VPN (Virtual Private Network) using our network cards.
    • Researched management GUIs of top ten IPsec-based VPNs, and presented a competitive analysis to my supervisor and colleagues.
    • Improved throughput by writing a utility to set the Ethernet MTU (Maximum Transmission Unit) on any version of Windows.
    • Wrote a manual test plan for the current VPN management GUI.
    Technologies: C++, Windows, Linux, SourceSafe
  • Senior Software Engineer
    3Com
    1999 - 2001
    • Added VPIM (Voice Profile for Internet Mail) 3 to a Unified Messaging platform. Discussions in IETF Working Group creating the standard led to credit in RFC 3458.
    • Enhanced and maintained a system for mobile non-SMS notification of office voicemail, using the normal mobile-account message-waiting indicator instead.
    • Co-wrote a multi-process multi-threaded tool simulating 1400 users per PC.
    • Invented a way to change sound file speed, preserving quality better than simple interpolation while retaining greater speed than Fast Fourier Transforms; partially prepared the patent application, including a library containing the function.
    • Added a Zmodem file transfer protocol to a telnet/dialup VT100 emulator.
    • Added more languages to a text-to-speech server.
    • Created SCE (Service Creation Environment) scripts to allow the UM platform to act as a client for an advertising server to support free cell phone service.
    Technologies: C, C++, Unix (many varieties), Unified Messaging, Telephony, Lotus Notes
  • Software Engineer
    Template Software
    1997 - 1999
    • Created an ORM (Object-Relational Mapper) for an EAI (Enterprise Application Integration) subsystem.
    • Helped design a new GIS (Geographic Information System) data format.
    • Updated GIS format-translation and filtering functions and utilities to use the new format.
    Technologies: C, SNAP (proprietary language, libraries, and development environment), Linux, AIX, RCS
  • Software Engineer
    Telemet America
    1995 - 1996
    • Added new data items to be transmitted.
    • Added new calculations to the display.
    • Created a new sales contact tracking system.
    • Ported data from the old sales contact system to my new one.
    Technologies: C, C++, Windows, OS/2, Visual Basic, MS SQL Server, SourceSafe
  • Branch Chief of Systems Engineering
    R&K Engineering
    1992 - 1995
    • Wrote and ran periodic and ad-hoc SQL queries on an Army real-property Oracle database, including figuring out how to extract the desired combinations of data.
    • Developed a flexible SQL query constructor and result display, as part of a facility planning, tracking, and analysis system for the IRS (Internal Revenue Service).
    • Documented and enhanced BRAC (Base Realignment And Closure) calculations in a COBRA (Cost Of Base Realignment Actions) program for the DoD (Department of Defense).
    • Enhanced other real-property database management programs.
    • Investigated potential new technology, fixed technical problems, provided general IT support, etc.
    • Supervised and coached a programmer/technical support person.
    Technologies: SQL, C, Pro*C (C with embedded SQL), Unix, Oracle, Object Pascal, FORTRAN, REXX, MS-DOS batch script, Windows, CMS
  • Consultant
    COMTEK Services
    1989 - 1990
    • Created the user interface for MCI’s phone network monitoring and configuration system.
    • Tested an alarm propagation subsystem for the network element configuration system.
    Technologies: C, VAX/VMS, VOS (Stratus OS)
  • Assistant Programmer and Analyst
    BDM (Braddock, Dunn, & McDonald), now part of Northrop-Grumman
    1985 - 1987
    • Wrote a system health monitor for the company VAX center.
    • Wrote an idle process killer for the company VAX center.
    • Researched same-user same-account inter-project security and accounting for the company VAX center.
    • Wrote parts of a war game system for Air Force University.
    • Wrote a weapons accuracy plotter for the JTSC (Joint Test Support Center).
    • Wrote a generic-printer histogram plotter for the JTSC.
    • Wrote a troop unit strength calculator and comparator for the CIA (Central Intelligence Agency).
    • Enhanced a program to analyze or design (derive behavior from measurements, or vice-versa) various types of physical shock isolators for the United States Air Force.
    • Co-wrote multi-process multi-threaded communications software to handle transactions sent over an X.25-like proprietary protocol for LexisNexis (who then hired me).
    Technologies: C, dBase, Clipper, Pascal, MS-DOS batch scripts, FORTRAN, MS-DOS, VAX/VMS, VOS (Stratus OS), CDC CYBER, HP PCL (Printer Control Language), GRiD-OS
Experience
  • Hook Lying Syncer (Development)
    https://rubygems.org/gems/hook_lying_syncer

    A Ruby gem to keep method_missing and respond_to_missing? in sync to make metaprogramming easier and more reliable.

  • The Jobsmith (Development)
    http://www.thejobsmith.com/

    The beginning of a job board I've been working on, on and off. Currently broken due to neglect; one of these years I'll get back to it....

  • Pull Request Roulette (Development)
    http://www.pullrequestroulette.com/

    A site to match up open source projects on Github, having pull requests that need to be reviewed, with people willing to do such review. Not all that much there now, but please see the README and the Issues at the Github repo (https://github.com/davearonson/pull-request-roulette/) for what I have in mind for the long term.

  • The Decider (Development)
    http://thedecider.herokuapp.com/

    My first (visible) Rails app, done mainly just to show prospective clients that yes, I can do Rails, even though I didn't yet have anything public to showcase.

  • Assorted Open Source (Development)
    http://github.com/davearonson

    Assorted things I've released as Open Source; some are already included in this list individually.

  • Ruby Gotchas (Other amazing things)
    http://bit.ly/RubyGotchas

    Slides from my Ruby Gotchas presentation.

  • University Coursework in Applied Math (Other amazing things)

    Studied at Carnegie-Mellon University in the early 1980's.

  • Ruby on Rails Best Practices and Tips by Toptal Developers (Publication)
    This resource contains a collection of Ruby on Rails best practices and Ruby on Rails tips provided by our Toptal network members.
Skills
  • Languages
    Ruby, C, HTML, SQL, JavaScript, Python, HTML5, Elixir, Java
  • Frameworks
    Ruby on Rails, Jasmine, Sinatra, WebApp, minitest
  • Libraries/APIs
    REST API, jQuery, GitHub API, SQLite
  • Tools
    RSpec, Vim, Cucumber, Emacs, Rake, Google Hangouts
  • Paradigms
    Object-oriented Programming (OOP), Plain Old Ruby Object (PORO), Agile Software Development, Test-driven Development (TDD), Imperative programming, Class-based OOP, Behavior-driven Development (BDD), Unit Testing, Object-oriented Design (OOD), Web App Development, Functional programming
  • Platforms
    BSD, Mac OS, VOS, Linux, Mac OS X, Unix, Heroku
  • Storage
    FlatFile, PostgreSQL, MySQL, NoSQL, NuoDB, Oracle, Riak, Oracle SQL
  • Misc
    Public Speaking, CLI, RESTful, SaaS, JSON, Security, Application security, HTTP
Education
  • none degree in Assorted short courses, lectures, etc. on many development-related topics, like languages, paradigms, etc.
    various - various
    1985 - 2099
  • Bachelor's degree in Computer Science
    Arcadia University - Pennsylvania
    1984 - 1985
Hire the top 3% of freelance developers
I really like this profile
Share it with others