Archive for the ‘git’ Category

Tech Tip: Websites on Github with Jekyll

We have been facing a challenge on how to manage the Styx Technology Group corporate website without having dedicated resources to host, deal with security, updates and maintenance. Having been in the website business for over a decade at the turn of Y2K,  having an easily maintainable solution was key for the long haul.

Enter GitHub pages (https://help.github.com/categories/github-pages-basics/), of course any decent software developer and team are using some form of version control, but the beauty is that it allows projects, users and organisations to have self hosted sites that are managed through a repository.  That in combination with Jekyll (http://jekyllrb.com/) supports content management without a database.

To further speed up our development process, we leveraged existing themes for the website look and feel that were close to our need, while keeping the site design very simple so that we focused on solving the problem at hand.

It was suddenly music to our ears as the team did not have to leave their IDEs (random plug for Jetbrains IDE tool suite that we have standardized upon)  in order to make updates to the website. Just create a new markdown document, verify and push … And bam!! the updates are done, version controlled and all, no more hassles with database configurations …

Need help getting your website up and running in such a fashion do shoot us an email at consulting at styxtechgroup dot com and we shall be happy to help and engage…. Have a great weekend

Syzygy – Release 2 – Uganda Mobile Money Cost Estimator

Syzygy is a Uganda focused utility calculator (launched by this post https://ssmusoke.com/2015/08/11/launching-syzygy-uganda-focused-utility-calculator/), this new release adds a tool not available anywhere else allowing you to estimate the costs of a mobile money transaction. Are you sending to a registered number, unregistered or trying to withdraw from an agent or ATM?

Hope this app saves you the hassle of searching for the transaction chart which is usually hanging in the agent’s booth.

Do let us know what you think of the new release.

The link to the app is http://bit.ly/syzygy-ug

A screenshot of the new calculator is below

Mobile Money Cost Estimator

Mobile Money Cost Estimator

Trunk or Branch based development

An interesting discussion that I had with my team mates over the last few days, whether we should create branches then merge later or keep working on the trunk within our Git based version control process. As the team is small, we are in the same premises but different locations, we agreed to move to work exclusively on the mainline for the following reasons:

  1. Reduce the amount of work having to remember which branches are active, so branches are an exception rather than the rule
  2. Adding practices like a CI pipeline (that’s additional work for all of us to setup) will provide a needed stability in the long-run as some of the projects are expected to be long running
  3. Working on the main line forces us to talk to each other, rather than IM away, so design decisions are shared across the team
  4. Branches discourage refactoring mostly due to the pain of merging refactored changes, and the fact that not everyone can benefit from the refactoring as soon as its completed – thanks to Twitter – Chris Ford

We used the following resources as research:

1. Martin Fowler – Feature Branch – http://martinfowler.com/bliki/FeatureBranch.html also talking about Feature Toggles – http://martinfowler.com/bliki/FeatureToggle.html

2. Apologists Defense of Trunk based development – http://www.tuesdaydeveloper.com/2015/05/an-apologists-defense-of-trunk-based-development/

3. What is Trunk Based Development http://paulhammant.com/2013/04/05/what-is-trunk-based-development/

4. Shades of Trunk based development – http://paulhammant.com/2014/09/29/shades-of-trunk-based-development/

What do you use with your team and why?

Ruby on Rails for the PHP Web Developer – The Journey

For my frequent readers, you may assume that I have run crazy … now Ruby on Rails with all the PHP experience that you have got! Well I am shocked as well, but its a necessary step in my growth as all of us have to move out of our comfort zones at some time. Well I am going to be moving to an organization that uses Ruby on Rails as their language tool of choice as a project manager. So yes I have to learn a new tool, leveraging my experience to manage agile projects, so the geek in me has to understand the tool chain to enable me have better dialogue with the business analysts and developers.

So I am starting out on a new path, but as I was taught (brainwashed actually) the best way to learn a new tool is to use it. So I am trying to build a not so super secret software solution to solve a business problem I keep running into as a way of getting into the guts of this tool.

Ruby on Rails (ROR) is tough to get running on Windows as it was more a *nix development tool chain but I am taking up the challenge to get it to work with lots of Google searches and the ever present StackOverflow (now its my chance to ask questions). The environment is as follows:

  1. IDE – started with RubyMine for Jetbrains (http://www.jetbrains.com/ruby/) with a 30 day evaluation, then I will see what happens next
  2. Rails Installer by Engine Yard (http://railsinstaller.org/) – the smoothest way to get Rails up and running. The strange thing is that I am using Ruby 1.8.7 as that’s the version being used by an opensource project I would like to contribute to … so well why not stay behind and do some good while I am at it
  3. Ruby on Rails Tutorial (http://ruby.railstutorial.org) by Micheal Hartl free online resouce
  4. Stack Overflow (http://stackoverflow.com) – Q&A site most of the issues that I face have already been solved
  5. Git – needed a private repo so ended up at BitBucket (http://bitbucket.org) by Altassian. Having little knowledge of Git too, and having a lot of problems setting it up I downloaded SourceTree (http://www.sourcetreeapp.com)
  6. Ruby Gems – pre-built functionality

Now in the process of moving the dev environment to a Mac … However after trying to install the different pieces alone, I was advised to use Home Brew (http://mxcl.github.io/homebrew/) following the instructions at http://bit.ly/114X2x1

Part II coming up soon ….

%d bloggers like this: