Riot.js – Part 1: What is Riot and why it’s great.

Welcome to my blog series on Riot. My colleague, Brady Cartmell, and I will be co-authoring this series. We recently used Riot on two major production projects, and we loved it. It even exceeded our expectations and gave us some pleasant surprises on several occasions. We are very happy with it, and are excited to share with the community our experience using it. We think it’s a great choice for writing web UI in the year 2016 and forward. We believe it’s worth your time to consider using it in your web projects too.

Continue reading →

Real World Software Development Process: Part 3 – From Start To Finish

Welcome to Part 3 of my blog series on Real World Software Development Process. Warning: this is gonna be a long one, but a GOOD one!

In Part 1, I talked about the member roles and responsibilities in a software team. In Part 2, I talked about the environments and servers you will typically find in a software shop that exercises any degree of discipline. These 2 parts have kind of helped set up the stage for what I will cover in this blog post, which is my favorite of the 3 parts. So if you are new to the software industry or are not familiar with the concepts covered in Part 1 & 2, then please spend some time reading those first. Part 3 will make a lot more sense to you if you do that first.

Continue reading →

Real World Software Development Process: Part 2 – Environments and Servers

This is part 2 of my 3-part blog series on real world software development process. In part 1, I talked about the roles and responsibilities of software team members, and why it’s important to have them clearly defined. In this post, I will be talking about development environments and servers, which is also a very essential topic for everyone in a software team to understand.

Continue reading →

Real World Software Development Process: Part 1 – Team Member Roles

This is the first one in a series of 3 blog posts on software development process in the real world. In this series I will talk about 3 broad topics:

  • Team member roles
  • Development environments and servers
  • Steps in the development process

Continue reading →

Writing CSS For Large Projects – A Guide

Introduction – Why Do We Even Care?

Let’s start our discussion with a funny gif. I blieve it sums up the purpose of this blog post pretty well.



CSS is very powerful. It’s what gives us the pretty web. But unfortunately, like a lot of other powerful technologies, it can be easily abused. When it is written badly, the severity of the consequence can range from confusing code to next-to-impossibe maintenance or modification of software.

Continue reading →

My Talk On “Learning to Learn” and “Intro to Web Development”

Last fall I gave a talk to a software engineering class at OSU CompSci dept about learning to learn in this day and age, and also gave them a beginner level introduction to web development. I received pretty positive feedback from the students and the professor, Dr. Samadzadeh. I want to share it here in case anyone else finds it helpful.

How To Define UI Specs To Developers


Writing code for UI is hard and time-consuming. Therefore, it’s worth the time and effort to talk about what we can do to improve the process of converting specs to actual UIs. Trust me, time spent upfront on understanding the UI specs is time well spent. I’ve been writing (mostly web) UI code for many years now, and have had to learn the hard way some valuable lessons. I want to share some of my thoughts here in hope that it might help others.

Continue reading →

The Fellowship of The Unashamed: From A Martyred Pastor

A friend of mine shared this with me. He said the original source is unconfirmed but it is attributed to a young African pastor; found among his belongings after he was martyred for his faith.



I am part of the fellowship of the unashamed.

I have the Holy Spirit’s power.
The die has been cast. I have stepped over the line.

The decision has been made – I am a disciple of Jesus Christ.

Continue reading →

A Morning Declaration Prayer

morning prayer

This morning, I declare that:

My hope is in the Lord in whom I trust.  He is for me and not against me.  Christ, the Victorious One, abides in me and I abide in Him.  Holy Spirit is guiding me into Truth and Revelation.  In the strength of the Lord, I will stand firm against the enemy.  What the enemy intended for evil, God has used for good.

Continue reading →

Understanding Core Online Mapping Concepts

In this blog post, I plan on talking about a few foundational online mapping concepts that are essential to understand for those who do map development. Most of these concepts are discussed in this Bing Maps Tile System article. But I feel like the article didn’t really take the time to explain all of them in detail, and beginner level map developers might find them hard to understand. So the purpose of this blog post is to bridge that gap for beginner level developers, and “demystify” these concepts in more plain, layman terms. Maybe it will even help reinforce these concepts for more advanced readers.  Continue reading →