Configuration Management tool: Ansible

Been learning and playing with Ansible this week as a CM tool.

What do we use it for?

After you spin up an EC2 instance you can use a Ansible to add users/groups, ssh keys, install packages all from a Ansible playbook (script). It’s similar to chef / puppet.

If you have to provision multiple instances this can be a time saver. Also say a new member has joined. How can add this new member to all your instances without doing it manually. Ansible solves this issue because you can create a playbook that adds the user to all hosts easily.

I bricked an instance by corrupting a /etc/sudoers file. That was bad but learned there is a way to validate any changes to that file.

Better practice is to not edit the /etc/sudoers file but to create new files at /etc/sudoers.d/ at least on Ubuntu

Posted in Coding | Leave a comment

Redmine as a Help Desk Solution

I’ve gotten decent at understanding a lot of features of Redmine.  I have been tasked with customizing and configuring Redmine to an internal IT Help Desk solution.  If you install a theme, a bunch of plugins, and change the layout it can be a usable solution.  The best part is internal users can finally use email to generate tickets.

If you need a Help Desk solution that involves external users, I’d recommend the RedmineUp Help Desk plugin.

The feedback process for the Help Desk implementation is slow going so I looked into Redmine + Docker.  I’ve never done a Docker project before so it was pretty fun.  Took a little while but figured out how to replicate the project to docker.

Posted in Web | Tagged , , | Leave a comment

Lesson Learned: O365 cloud mail nameserver change

Was a little careless today with helping someone transfer their GoDaddy domain and O365 mail to a new server (transferring their nameserver).  When I looked at the GoDaddy domain DNS log, I saw all these entries that looked related to O365.  I thought when I move the domain nameserver that those DNS entries relating to O365 would stay so I didn’t even save the info.  Boy was I wrong, after I changed the nameserver I saw all the entries disappear.

Took me a little while to figure out how to setup the DNS entries needed.  Not sure why but it took me awhile to find the instructions on GoDaddy.  But eventually, I got it going but felt pretty bad that I probably prevented emails from being received.

Definitely, a lesson learned.  Need to be more careful in the future.


Posted in DevOps, troubleshooting | Tagged , , | Leave a comment

CodeIgniter base project

If you are starting a CodeIgniter project, I’d recommend using

as your base.  Composer makes things so much easier.  Then for User management and authentication use Ion_Auth (GitHub)

If you need LDAP, Adldap2 is really easy to use.

From the kenji github page, you can find a lot of other packages.  The other package I’ve used a lot of is the REST Server.  However, if all you need to do is a REST Server I’d recommend using NodeJS.


Posted in Coding, php | Tagged , , | Leave a comment

Selectize.js onInit load data for autocomplete

Selectize.js is a neat UI tool.  I got introduced to it via a coworker used it in a project.  I didn’t bother to really look into it until recently when I wanted to do autocomplete and multiple selects.

I didn’t find any example code of using the onInit option to load values via a Remote API so I decided to make an example to share with you all.

Code is here on my github,,

Example can be seen here on my DigitalOcean server.

Posted in Coding, Web | Tagged , , | Leave a comment


Finally signed up for DigitalOcean’s services.  I chose them more because I like the How To articles they have to help one get up and running.  You can get a better deal with Linode but I wanted to support DigitalOcean cause they’ve helped me.  Plus I’m not doing anything (yet) that is very server intensive.

I’ll probably move my personal websites onto there.


Posted in Web | Leave a comment

CodeIgniter3 .htaccess removing index.php subdomain

Below is the general documentation for editing the .htaccess file to remove index.php from a url

The documentation examples is
will be the same as

using .htaccess file of:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

However, I tend to use a lot of subdomains of the format

To remove index.php from a subdomain is a bit different, you need to add an additional line to .htaccess

RewriteBase /website1/


RewriteBase /website2/

The .htaccess file should be:

RewriteEngine On
RewriteBase /SUBDOMAIN/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Another interesting Codeigniter Project I found last weekend was

I was having some issues with the controller not finding the libraries i put in the third_part folder.  I had the include path correct to the library and it worked on my localhost but wouldn’t work on the server.  I couldn’t figure out the issue and instead used the above project and that worked with no issues on localhost and the server.

Posted in Coding, Web | Tagged , , , | Leave a comment


Went to the SoCal Linux Expo today.  First time attending and it was pretty neat.  I went to the Reactor8 guys talks/workshop.  Didn’t know anything they were talking about at first but eventually got an idea of their talks.  Beginning of their talks was a Puppet and CHEF. Basically configuration management for virtual instances.  Then later talk was about Docker swarm and  serverless (AMZ lambda).  My notes are on the other computer.

Posted in Linux | Tagged , , | Leave a comment

Time to relearn a new skill: Spark

I took a Spark class maybe earlier this year but can’t say I really remember any of it.  Figured I’ll just start at the beginning with an Intro to Spark class on


These days just developing an excel like webpage using handsontable.  Not very interesting at all.

Posted in Coding, Web | Leave a comment

Clash Royale Card Calculator

I play Clash Royale and decided to make a card calculator to calculate what level troops I would have with all my cards and how much gold it would cost.  I don’t upgrade all of the troops because who has enough gold for that?

I’m debating whether I want to make a mobile app for this.  On my github page I have the project hosted there too.

Here it is:


Posted in App Idea | Leave a comment