Weston Ganger BCIS
Web/App Software Engineer. Owner and Developer of Solid Foundation Web Development
I started my career as a simple website designer but quickly moved into Software Engineeering and Application Development mainly for the Web platform. I work with the stakeholders in all stages of the development lifecycle.
I have spent the last 5 years developing Ruby-on-Rails applications for usage internally within BC Hydro. During this time, I have created many new applications and maintain legacy applications. These applications manage various business processes and workflows within the organization.
I am 27 and have had a Bachelor of Computer Information Systems (BCIS) from University of the Fraser Valley since 2014.
I am a Christian believer and declare that Jesus Christ is God and king. Ask me why.
When I am not coding, I enjoy Automobile building and driving, Outdoors, Extreme Sports, & Family Time.
In an effort to optimize the use of my time and energy, I will no longer be maintaining the boatloads of public and professional profiles that everyone says you should keep up on. Listed here are the only public profiles I support.
My Blogs / Articles
I try to document anything notable that I do or come across on my journeys. Here you will find a list of topics that I sometimes post on.
My Open Source Work
Here is a list of open source coding libraries that I have created and maintain. These libraries aid in some part of the software development process. These are all publicly available for use within any software development project.
|form_builder.cr||FormBuilder is a library for dead simple HTML form builder for Crystal with built-in support for many popular UI libraries such as Bootstrap. I created this to address a need in the Crystal community for an HTML form builder. This appears to be the only shard dedicated solely to form building for the Crystal language so far.||Creator & Maintainer|
|axlsx_styler||Build clean and maintainable styles for your axlsx spreadsheets. Build your spreadsheeet with data and then apply styles later. I utilize this gem within my other software, Spreadsheet Architect. I needed to ensure the projects future so I now handle all maintenance of this library.||Project Maintainer since 2018|
|minitest_change_assertions||Provides assertions for your Minitest suite to determine if an object has been changed||Creator & Maintainer|
|paper_trail-association_tracking||Plugin for the PaperTrail gem to track and reify associations. I spearheaded the extraction of the code for association tracking and restoration of PaperTrail versions. This enables to developers to contribute to the association related code much more easily.||Project Maintainer since 2018|
|paperclip_utils||A collection of processors and helper methods for easier dynamic processors and styles on your Paperclip uploads||Creator & Maintainer|
|prawn-rails||Prawn Handler for Rails. I utilize this gem within my other software. I wanted to ensure the projects future so I now handle all maintenance of this library.||Project Maintainer since 2017|
|protected_attributes_continued||Protected Attributes for Rails 5. I created this plugin to address a need in upgrading legacy Ruby-on-Rails applications.||Creator & Maintainer|
|rails_nested_layouts||Dead simple nested layouts for Rails||Creator & Maintainer|
|rearmed-rb||Rearmed-RB helpful methods and monkey patches for Objects, Strings, Enumerables, Arrays, Hash, Dates, & Rails||Creator & Maintainer|
|rearmed_rails||A collection of helpful methods and monkey patches for Rails||Creator & Maintainer|
|RODF||RODF is a library for writing to ODF output from Ruby. It mainly focuses creating ODS spreadsheets. I utilize this gem within my other software, Spreadsheet Architect. I needed to ensure the projects future so I now handle all maintenance of this library.||Project Maintainer since 2016|
|sexy_form.rb||SexyForm is a library for dead simple HTML form builder for Ruby with built-in support for many popular UI libraries such as Bootstrap. This libraries code was originally written for FormBuilder.cr. I decided to port the code over to Ruby because the FormBuilder.cr design pattern turned out so awesome. I believe I have added another great form builder option to the Ruby language.||Creator & Maintainer|
|spreadsheet_architect||Spreadsheet Architect is a library that allows you to create XLSX, ODS, or CSV spreadsheets super easily from ActiveRecord relations, plain Ruby objects, or tabular data. I created this to address a need in the Ruby community to create spreadsheets easily. I think I have succeeded in creating the most easily usable plugin for spreadsheet creation in Ruby.||Creator & Maintainer|
|chosen-readonly||Chosen Readonly is a plugin that extends Chosen Selects to add support for the readonly attribute||Creator & Maintainer|
|cordova-plugin-apprate||A plugin to provide rate this app functionality into your cordova application. I wanted to ensure the projects future so I now handle all maintenance of this library.||Project Maintainer since 2016|
|cordova-plugin-camera-preview||Cordova plugin that allows camera interaction from HTML code. I wanted to ensure the projects future so I now handle all maintenance of this library.||Project Maintainer since 2016|
|input-autogrow||Input Autogrow is a jQuery autogrow plugin for inputs||Creator & Maintainer|
|input-case-enforcer||Input Case Enforcer is a jQuery plugin to enforce uppercase, lowercase, or capitalized inputs & textareas||Creator & Maintainer|
|select-sync||Select Sync is a jQuery plugin to synchronize selects by selected or disabled options easily||Creator & Maintainer|
|bootstrap-directional-buttons||Directional / Arrow buttons for Bootstrap||Creator & Maintainer|
|chosen-bootstrap-theme||Bootstrap theme for Chosen Select that actually looks like Bootstrap||Creator & Maintainer|
|chosen-material-theme||Material theme for Chosen Select||Creator & Maintainer|
|rearmed-css||CSS Utility Classes for rapid development||Creator & Maintainer|
Public Projects (For Fun)
Listed here are some of the public projects I have created simply for my own curiousity and enjoyment.
|Project||App Description||Dev Story||Live Release Date|
|Calculator Sidekick||Providing free online calculators for any purpose.||I wanted an easy way to create online js calculators and turn them into mobile apps. So I did exactly that and created this website. I created a mobile app called "Tip Sidekick" which grabs the calculator and embeds it within the application. It works very well, however unfortunately I abandoned the idea after making the first one. This is simply because I lost general interest in mobile apps and app stores as its a constant moving target. I now have decided to to only use the web if ever possible.||April 2017|
|Coders Log||A collection of community link-log about different code topics. If you have an article to share, created a library, or any other news, You can share it with the coding community.||This website was built as a clone of one of my favourite websites, RubyFlow. At the time I was looking for a place to post my Linux and Cordova articles to but could not find any appropriate places. So I created this website with most every relevant programming language.||March 2016|
|What Rattles My Cage||Post your rants and raves about the things that just rattle your cage!||I wrote this application to teach myself how to write a Rails JSON API and AngluarJS 1.x applications. Was a really good learning experience.||September 2015|
My Mobile Apps
Here is a list of public mobile apps I have created over the years. I developed all of these for my own usage and enjoyment, to learn Cordova and Ionic, and to maybe make a few bucks on the side.
At this time, these are all still available on the Google Play Store. They were on the Apple App Store for a few years but I decided to stop paying the yearly ~$250 dev fee (ridiculous) at which point they remove all of your apps from the App Store which is very disappointing. The reason for dropping this cost is that I lost interest in mobile apps as they are a moving target and now support the web whenever at all possble.
|Project||App Description||Dev Story||Live Release Date||Image|
|Chuck Norris Jokes & Facts||Get a random jokes or facts about the man himself, Chuck Norris.||Chuck Norris is rad and these jokes are funny. While creating Random Joke Generator I thought it might be a good idea to create a more specific version of the application. The Chuck Norris Joke dataset large and perfect for this.||March 2016|
|Its Your Turn||Simply press a button and the app will tell the next person to take their turn||This application was developed during one evening when attempting to play a slightly boring game. We kept forgetting whos turn it was and who had the dice. So I created this app to manage turn taking and make noise and voice when its time to change turns. I tried creating the application in both React Native and Ionic v2 but I didnt enjoy react as expected so I settled with Ionic 2.x for the final product.||April 2017|
|Official Beer Pong Rules||The Definitive Beer Pong Rules app. Contains Word Series of Beer Pong rules, West Coast rules, East Coast rules, House Rules, and Fun Rules.||At every party with beer pong happening there are always people arguing about the rules. I created this app to solve this exact problem. To no surprise, even after introducing it, the arguing didnt stop.||October 2015|
|Random Joke Generator||Get a random joke at the click of a button. Over 15000 jokes to get you laughing.||I wanted to make an fun joke application to pass the time when in line or bored. So I compiled a source database of jokes from around the web and created and Rails API to access it. I then created a mobile app to download one joke at a time randomly. I use this application all the time when I am bored looking for a quick laugh or joke. Its a hoot.||March 2016|
|Snow Vision Camera||See the world in snow vision! Use your camera to see an augmented reality with falling snow.||After creating the application Super Mirror HD. I decided if I could actually do something useful or fun. This was the idea I came up with. Very simple and fun project that worked well using only jQuery effects.||January 2016|
|Sudoku Ultra||Challenge your mind with this fun and addictive game of sudoku.||After the success of my word game, Super Word Twister, I decided people like mind games. I knew my Nana really liked Sudoku so I thought it would be useful to a few people if I created a mobile application with this game.||June 2017|
|Super Dice Roller||The definitive dice rolling app. Swipe, Touch, or Shake to roll the dice. Visual and Voice responses.||I built this application to address a need. When playing a board game we kept forgetting who had the dice. This way we could leave the phone on the table and use a gesture to active the digital dice roll.||March 2016|
|Super Farm Clicker||Build your crew and expand your farm in this extensive incremental/clicker game.||The second most successful app I ever built. The reason for this apps success is that clicker games are highly addictive due to the RPG elements they play on. I have always been a fan of RPG video games so naturally this was a fun project for me.||October 2015|
|Super Mega Quiz||A fun quiz and trivia game. Over 300 questions to answer.||A clone of my other application, Super Millionaire Quiz, with a new set of questions.||Jan 2016|
|Super Millionaire Quiz||A fun quiz and trivia game based on the game show Who Wants to be a Millionaire.||I thought this was a good game idea that would fit well within the idea of an Ionic / Angular application. I found a few data sets to work with and whipped this game up.||November 2015|
|Super Mirror HD||The definitive mirror to go app. Super Mirror HD allows you to check out your makeup, hair, or face.||One day my Mom and Aunt said to me, "oh my gosh, it would be such a good idea to create an app thats like a mirror." I laughed and replied saying that you could just open the camera app. I then thought it might be a interesting application to create and would be funny to see how many gullible people would download this, which is 5000+ as of August 2017.||November 2015|
|Super Word Twister||A fun and addictive text twisting game.||The first mobile app I ever built, and the most successful due to a free $500 Amazon App Store ads promotion which provided a bunch of initial traffic and downloads. I built this using Ionic / AngularJS 1.x. I created this application as a clone of a fun test twisting game I used to play a lot on my PSP. This project was really fun for me as I have always enjoyed word games.||September 2015|
|Tip Sidekick||Simple and Easy Calculator for calculating tip amount and splitting the bill.||This is the first and only application I created to complement my website, calculator-sidekick.westonganger.com The idea was to create a calulator on a webpage and then be able to utilize these within a dead simple cordova mobile application and appear native at the same time. The idea worked perfectly however I lost interest in creating each and every mobile app so I stopped with this one.||April 2017|
|Word Jumbler||A fun text twisting game. Hundreds of words to spell. Hi-Scores to brag to your friends.||A clone of my first game, Super Word Twister.||December 2015|