SR RUBY ON RAILS DEVELOPER

Who am I, or more importantly, who am I as is relevant to you.  I'm a dog with a bone when it comes to problem solving.  My drive for problem solving is fierce and I thoroughly enjoy it.  My ability to express ideas in such a way that helps the listener understand new concepts is well honed.  I'm cordial in my communication and very much enjoy communicating with people.  But more importantly I'm a good listener with keen perception toward intent on what's being said.  I'm well practiced in writing, documenting, and providing educational material.  And I have a keen focus on producing quality code by following what's idiomatic for each particular language, best practices in design patterns, thorough testing by both unit and integration tests. and a love for writing performant code verified with benchmarks.  I'm a polyglot always learning new languages and technologies and am quick on the uptake.

My background; I was first introduced to programming as a child by my father.  I later started programming in 2001 as a hobby of passion.  In 2008 I delved into some remote freelance work and that went well.  Then as of 2014 I transitioned to developing software full time and writing articles on personal development, teaching programming, website development, and operating system management and troubleshooting.

If I could have my dream team environment it would be one that is friendly, open, collaborative, peace-driven, and trusting as a community of highly motivated software development peers.  With opportunities to mentor as equals and bond as those who share in a common goal.  With a focus on quality rather than quantity for code practices to produce superior systems that can stand the test of time.  Where good practices such as Red, Green, Refactor are the expected discipline to follow and peer review is handled with grace and timeliness.  Where all individuals are treated with respect and the language we speak is carefully crafted to be politely diplomatic even when ideas or code is to be challenged.  Where to be winsome is valued preeminently above any dismissiveness of ideas, code, or values.  Where people come before code.

Highlighted Skill Experience

Authored FasterPath

  • With this projects firsts release I made my Rails site pages load more than 30% faster. I discovered which methods took up the majority of the time for a Rails web page to load and rewrote one specific method to accomplish this.  Since then my project has 15 such methods rewritten from Ruby into Rust that all now run faster.  This project is what I'm most known for.

Ruby — since 2012

  • I am an expert in Ruby from design patterns, best practices, to the underlying behavior.  I've also gained much experience in implementing Rust code to interface directly with Ruby's C code.  I've worked with many APIs and created abstraction layers to simplify their use.

Rails

  • I've been deeply involved in Rails work as the sole full-stack developer of a start up company for over 2 years.  This isn't my exclusive experience with rails.  From this I have gained expertise in many areas from which I've written many blog posts teaching front end techniques & technologies such as UJS, AJAX, WebSockets, and ActionCable, to backend best practices.
  • I'm well experienced with CSS, SASS, CoffeeScript, JavaScript, asset management, and templating systems.
  • I've built and deployed containerized websites with Docker and Heroku with various customizations.

Rust — since 2015

  • I've over 2 years experience in Rust with a focus on writing performant and idiomatic code.  This includes the project FasterPath with plenty of benchmarking and tracking data.
  • I've good experience with multi-threading in Rust with my project Abrute which utilizes all CPU cores to test file encryption security via the brute force method.  From a ground up character sequencer which implements many algorithms, to the frontend client experience featuring several command line statistical report systems, to a backend JSON endpoint for cluster data aggregation.  Abrute is built with clustering in mind allowing splitting work loads across any number of systems.
  • Foreign function interfacing; with my experience with FasterPath I've become somewhat accustomed to reading C source code to write Rust wrappers around and allow Rust and C to call each others code.

JavaScript

I have adequate experience with the following JavaScript technologies:

  • Vanilla JavaScript (standard JavaScript, not the Vanilla JS library)
  • CoffeeScript
  • VueJS
  • UnderscoreJS
  • jQuery
  • AJAX
  • Turbolinks

Docker

  • I have experience designing and  building many docker containers with three focuses:
  • (1) Build Staging — compilation and code execution of many programming languages each in their own Docker container as a stage execution test suite.
  • (2) Web Deployment — custom Docker containers designed to work the same both on Heroku and the local system.
  • (3) Development Environment — with ruby-pair I've built my ideal pair-programming environment which allows remote pairing and development with several programming languages.

Linux

  • Around 20 years experience working with Linux.  Written many blogs on Linux system applications, building, configuration, management, and backup.  Very capable in shell scripting & system administration.

APIs

  • I've written an API client library for Travis CI called Trav3
  • I've written an application which utilized the Twilio API
  • I've written an application which utilized the Evernote API and specifically its OCR feature to gather data from images.  I've also written a blog on how one may integrate their Rails app with it titled: Working with the Evernote API in Rails
  • I've written application integration for Google Contacts
  • Implemented OmniAuth with Evernote, Twitter, LinkedIn, Google, Facebook, Yahoo, and Meetup.com

Technical Skills

  • Proficient in: Rust (Since Oct 2015), Ruby (Since early 2012), Ruby on Rails, TDD, Capybara, Docker, REST, APIs (Github, Travis CI, Twitter, Evernote, Twilio, etc.), Git, Crystal, JavaScript, jQuery, CoffeeScript, CSS, Gem Authoring, HTML5, JSON, Linux SysAdmin, Windows SysAdmin, Unix Shell Scripting, Computer Technician, VIM
  • Web Automation with: Continuous Integration, Mechanize, Nokogiri, Selenium, and Watir
  • Moderate experience in: ActionCable, Agile, AJAX, Assembly, Bash, Batch, CGI, CMS, Django, Encryption, FFI, FishShell, Metaprogramming, OpenSSL, PostgreSQL, Python (Since 2001), RSS, Satchmo, SEO, SOLID, XML, Security Practices, VueJS, Ruby C API
  • Studying: Algorithms, CoffeeScript, Rust, Design Patterns, Ruby C API, VueJS, Haskell, FP

Additional Experience Highlights

Professional Ruby & Rails Blogger

  • I’ve been writing educational blogs for many years at 6ftdan.com .  One of the companies I freelance for is Codeship.com .  I write about many technologies, programming languages, and personal development topics.

Ruby for Good

  • 2016: Charity Rails development for Virginia Working Landscapes [link].  I joined a team of developers in providing free software development for helping catalog living things in nature.  This information can then be used to help determine issues and be of help to protect any living species that may be endangered.
  • 2017: Charity Rails development for Loudoun Codes [link].  I joined a team of about 10 developers in building a Rails project for high school programming competitions.  The system is responsible for running students code submission, grading the results with time and penalty rankings, as well as an official scoreboard system.  My primary role in this project involved implementing Docker client runner implementations for various programming languages includes Ruby, Python, C++, Rust, and Crystal.  This was refactored into the primary implementation work done by Chris Hoffman.

An Undisclosed Start-up

  • Full stack Rails developer and CTO.  Rails, Ruby, AJAX, JavaScript, jQuery, APIs, OAuth, OmniAuth, Devise, ActiveAdmin, Heroku, and much more.

The Minitest CookbookTechnical Proof Reader

RailsRumble

  • 2014: I joined this project with a team assembled of 3 strangers from Twitter.  As part of a code competition I built an interface for scraping YouTube videos and wrote some helper methods to take advantage of creating embedded website videos.  Also one of the core developers for Rails in the project.
  • 2015: I started this project with, again, a team of strangers on assembled via Twitter.  In 48 hours we built TrenderCast which is a podcast subscription and trends system.  This product was my vision and I was the primary Rails developer on this project.
  • 2016: This year I focussed on working solo and experimenting with new Rails technology ofWebSockets/ActionCable.  The project was to build a game server for poker games.  With the 48 hours I made it as far as implementing a chat room, game tables, seat assignment, and card dealing.

NetVersa ~ 2012

  • Designed full website automation for popular sites using Watir and Watir-webdriver in the Ruby language.

Scholar Square - 2008

  • Designed a script to pay all site members who’ve authored content; all appropriate fees for students memberships, and subscriptions, via the PayPal API using Python.

eyePhoneRevival

  • This was a profitable self made startup for refurbishing and selling iPhone and surplus part sales.  I designed and deployed a full eCommerce website built on top of the Satchmo/Django framework using Python.

HSPN

  • Designed a basketball tournament ranking application which ranked teams on many different criteria.  Designed my own flat file database system to keep records in CSV.  This was used to rank a multi-day interstate basketball tournament.

Open Source Contributions

  • Charity Rails development in Ruby for Good for Virginia Working Landscapes [link] and Loudoun Codes [link].
  • Minor contributions to several major Open Source projects including Ruby, Rails, Crystal, RubyGems, RVM, Bundler, and OmniContacts
  • Authored PolyBelongsTo – An advanced Rails – ActiveRecord relationship library.
  • Authored DynaSpan – A Rails Ajax helper gem for creating dynamically modifiable text on web pages.
  • Authored and contributed to around 80 other Open Source libraries available on Github.
  • Open Source game released in 2002 called Py Connect Four written in Python using the PyGame SDL library

Technical Blog Post Headlines

Spoken Languages

  • US English (Native)
  • Spanish (studying)
  • Japanese (studying)

Education

  • Clark Christian High School 2003

Contact

  • 6ftdan (at) gmail (dot) com