Ryan Minihan 541-***-**** *********@*****.***
Experience
REMOTE
September 2013 – June 2016: Software Developer for Revcaster / Rainmaker
Worked in PHP / JavaScript writing ‘web scrapers’ in support of the hospitality industry. This involved reverse engineering hotel booking websites in order to simulate a human using a web browser to lookup price and availability data for various properties. Application ran on Amazon Web Services utilizing SQS and EC2 systems. Code involved heavy use of JSON, Reids, Regular Expressions, and HTML / CSS parsing. Numerous external services, such as anonymous proxies and currency converters were regularly interfaced with from the code. Work involved heavy usage of numerous web browsers and tools like FireBug. All remote team coordinated via GitHub, Email, Skype, and Slack.
REMOTE
December 2011 – September 2013: Owner at Rogue Computers
Founded and operated a computer consulting business in Southern Oregon. Projects have included a Ruby on Rails app from the ground up for a client that needed to share scientific data files. This app was delivered via Linode virtual machine to the client with full source code and detailed documentation on setup and deployment of the app. This was a small Rails project written to support remote data storage and acquisition for Treestar’s FlowJo application. FJData allows users to upload individual FCS files or zip / tar.gz / bzip archives of FCS files, extracts and types the contents, and generates a FlowJo specific xml workspace file with uri references to the FCS data. Built on Rails 3.1 and Bootstrap. Unusually, there is no database backend on this project.
Another client needed a web based sales quote system, this was also written and deployed on Rails. Have provided contract Rails programming services remotely to two additional clients. Worked on a 5 person remote team implementing new features into an internal Rails project. This Web App is used for scheduling pet vaccination clinics, employee schedules, Vet followup, customer service, ...etc. We were working with Rails 3.1, CoffeScript, JQuery UI, PostgreSQL, and HandlebarsJS. We had daily
‘stand up’ meetings and a biweekly Sprint planning meeting. Also running a small webhosting operation for clients based on Linode virtual machines running Linux. One project involved writing a Ruby program to search Craigslist for specific keywords and to produce a nicely formatted html page of the results.
April 2007 December 2011: Systems Administrator for Tree Star INC
Repaired, maintained, and improved network services for a software development company. Worked in a mixed environment of Windows, Linux, and Macintosh servers with primarily Macintosh and Windows clients. Implemented subversion version control system with openssh authentication. Repaired and expanded email services on Mac OSX server with Postfix, Amavisd, Spam Assassin, ClamAV, and Cyrus imap server. Maintained and expanded Asterisk based VOIP system for internal and external voice communications. Implemented new router and forwarding rules for increased remote capabilities for developers. Maintained and expanded web based sitelicensing system. Added additional hardware / software for load balancing and system redundancy. Ported C++ software engine from windows to linux to enable mixed java /c++ app to run on linux. Wrote a Ruby and Activerecord based program to monitor custom licensing system. Wrote a Ruby based build system that builds java installers and c++ code for 3 platforms. Wrote numerous Ruby utilities to fix corrupt data files, manage web and phone logs, and to organize internal documentation efforts. Wrote a WxRuby based GUI app that allowed customers to fix data from a nonconformant cytometer and make it compliant
with the FCS data type standard. Maintained an ObjectiveC based tool that creates hardware licenses on usb thumb drives. Hunted and fixed bugs in ObjectiveC, PHP, Ruby, Perl, Python, C++, and Java. Made massive improvements to SQL queries that were critical to company operations. Implemented Mysql replication to increase reliability of core business functions. Setup autoprovisioning for new VOIP phones on the Astersisk phone system. Setup network based boot for linux and mac clients. Implemented Vmware workstation / fusion on all developer and QA workstations to improve
bug hunting and testing. Modified Python code for custom Trac modules.
REMOTE
2006-2007: Software Developer for Taldia INC
Developed podcasting software for multiple newspapers in Ruby and Ruby on Rails. Wrote template based podcasting system in Ruby. Wrote Ruby code to grab mp3 files from numerous sources, normalize volume levels, mix in advertisements and weather reports and present as properly formatted podcasts to iTunes and various other aggregators. Wrote a Ruby API to communicate with a Java based web service that provides context based audio advertisements.
2002 - 2005: Software Developer for Imaging Locators INC
Designed "Underground Surveyor Apparatus". This project involved embedded software development in linux as well as 3d software development in windows. Developed a deployable stripped down Linux that could run with the embedded app on a 256 meg flash card. Worked with hardware vendor to develop code that locked the application to specific versions of the single board computer.
Was also responsible for systems administration and network design. Implemented remote office capabilities via Linksys VPN routers. This involved connecting two offices, one in Oregon, the other in Nevada. Designed and implemented multistage email system that included spam filtering and virus protection. Wrote a WxRuby and Google Chart based GUI app that allowed for graphing of datasets from the Underground Surveyor Apparatus. Developed a PocketPC version of the graphing software.
Education
19941995: Northwest Nazarene University
Earned 21 credits towards a B.S. In Computer Science
Skills
Languages:
C, C++, ObjectiveC, Ruby, Ruby on Rails, Rake, Rspec, CoffeeScript, Perl, Php, C#, Bash, Java, Python, Javascript.
Security:
OpenSSL, Secure Shell, Kerberos, IPtraf, Wireshark, Cross Site Scripting, IPtunnel, VPN, PGP, GPG.
Operating Systems:
Linux (Nearly all of them), Mac OSX server and client, Windows (3.1 - 10), BeOS, OS/2, Solaris, Android, IOS.
Source Control:
Subversion, CVS, RCS, Git / Github. Both locally and on servers.
Bug Tracking:
Fogbugz, Assembla, Bugzilla, Trac, Jira, Various Wikis.
Databases:
MySQL, Redis, SQLite, Postgres, FoxPro, FileMaker, MSAccess, ODBC.
Development Tools:
Eclipse, Xcode, Visual Studio, CodeBlocks, Anjuta, MonoDevelop, NetBeans, Make, Rake, MSBUILD, Ant, Swig, GDB, Autoconf, Configure.
Virtualization:
Xen, KVM, VirtualBox, VirtualPC, Vmware (ESXI, Workstation, Fusion)
Web:
Apache, Mongrel, LightHTTP, IIS, Phusion Passenger, Mod_Perl, Mod_Ruby, Tomcat.
Unix Services:
LDAP, Kereros, Bind, TinyDNS, DNSCache, Qmail, Postfix, Cyrus, Courier, OpenSSH, PXEBoot, Asterisk, NFS, SMB, Cron.
Web Tools:
HTML5, CSS3, JavaScript, Ajax, XML, Firebug, RSS, JQuery.
Embedded:
Technologic Systems Embedded X86 and Arm single board computers. Verifone Omni 590, PocketPC, Sharp Zaurus, Android, IOS.