University of Virginia, School of Engineering and Applied Science, Charlottesville, VA Degree: B.S. Computer Engineering, Class of 2008
Thesis: Designing and Building an Energy Responsible Data Center
Certifications: UNIX Essentials Featuring the Solaris 10 Operating System (SA-100-S10)
Tools and Applications: Eclipse, FPGA Advantage, Mathcad, MATLAB, PSpice, Visual Studio
Development Methodologies: Agile, Scrum, Test Driven Development, Behavior Driven Development
Consulted with Madison County Director of Information Technology on moving to a virtualized server environment to reduce server footprint and costs.
Wrote a technology road map for the County advising specific steps on how to go about the transition to a “greener” data center using virtualization technologies and “in the cloud” solutions for critical services such as email and document collaboration.
Feedback from the client: “We're kicking some serious butt with VM now - got VSphere running, shut down exchange and went to Google Apps for Education, and turned off a total of like 10 servers. I think we're down to 4 from 15 as of 18 months ago. I'm VERY happy. Getting LEAN!”
Revamped, as part of 6 person team, a 10 year old platform for science oriented press release management firm to manage handle increasing site traffic and publish to new Web 2.0 style media outlets.
Developed a web based version of the Virginia Commonwealth University WorkWorld desktop application using Ruby on Rails. Implemented an easy and flexible admin interface that allows the VCU team to create and manage questions and question groups to be displayed to users according to specific display rules. Developed a workflow engine similar to a state machine for questions and their groups with a behavior dependent on the user's input and previously saved answers. Over 200 RSpec and Cucumber tests verify the workflow engine.
Administrators can embed Ruby code while creating questions in order to setup context specific display rules that rely on users' answers, as well as provide numerical results after completion of the workflow.
WorkWorld was an Agile project using Scrum for scope management and leveraging Test Driven Development to ensure code quality.
Maybe not! But working for clients, the recurring theme is 'CMS'. As a Ruby guy, I wanted to find something to replace Drupal, Wordpress and Joomla in the Ruby sphere. So I documented what I did on this Jeckyll blog:
ZeepIt is a Rails 2.3.x plugin that leverages the zeep-messaging gem to create the models, controllers, and views required to get your app ready to use the Zeep Mobile SMS service.
Repository link: https://github.com/ychaker/zeep_it
Useful 3.x apps that include the following an Accounts app that works as an oauth provider. Allows other applications to connect using Oauth and retrieve user information through the API and a Consumer App that interfaces with the account app.
Repository link: https://github.com/ychaker/sample_apps
A Rails 3.x plugin (soon to be gem) that provides basic private messaging functionality between the users of a site, with multi recipient capabilities.
Repository link: https://github.com/ychaker/multi_recipient_threaded_messages
Solr is an open-source search server based on the Lucene Java search library. It is a very powerful tool but that has a steep learning curve and requires configuration in XML files.
Solr link: http://lucene.apache.org/solr
In the Ruby world, a couple of plugins/gems exist to help ease the pain. One of them is acts_as_solr.
Repository link: https://github.com/mattmatt/acts_as_solr
But the Ruby CMS world had not made use of that so I created a Radiant CMS extension based on acts_as_solr
Repository link: https://github.com/ychaker/radiant-acts_as_solr-extension
acts_as_solr was basically abandoned when another leader was introduced, which is the sunspot gem along with sunspot-rails.
Repository link: https://github.com/sunspot/sunspot
Yet again, using sunspot only gave developers a DSL and an interface to Solr but they still had to understand the underlying system to get it to work. Knowing the pain of it and how most basic application need a simpler plug and play solution, I created Sunspot Admin which makes managing Solr Search using the Sunspot gem easier. The purpose of this plugin is to provide an admin interface for non-technical people and allow for: Selecting which application models/attributes to index through a simple interface, manual reindexing, and starting the Solr server through the web admin.
Repository link: https://github.com/ychaker/sunspot_admin
What I had done in Sunspot Admin was then extracted out and cleaned up into a better Rails plugin (the aim was then to make this a Radiant extension as well), called Sunspotify. It also gave default behavior for the search page with the ability to customize the views.
Repository link: https://github.com/ychaker/sunspotify
Sunspotify came with a cool admin interface
Was implemented where more than 80% of it was pure HTML5 and CSS3, without any images.
As a sample, what's on the left is done purely with HTML5 and CSS3.
Isn't that cool? :)
I've setup a semi-functional demo for you to play around with (semi-functional because it uses a web service called Web Solr, that limits some functionality).
Demo link: http://sunspotify-demo.heroku.com/
Watch my Arabnet 2012 pitch here
Use a spacebar or arrow keys to navigate