Being Intentional With Your Life Using the Time Matrix


Many years ago when I was a freshman in college, I was sitting in a seminar and the speaker asked us a question; have you thought about what you want to accomplish in 5 years, 10 years? When I first heard this question, I laughed to myself and thought: I haven’t even made plans for next week, or next month.

That was back in 1999. It is now 2018, almost 20 years have passed. I no longer laugh at that question. I could’ve made and accomplished four 5-year plans by now.

Continue reading →

Let’s Learn About Learning


You probably have heard of the saying: “the day we stop learning is the day we die.” No matter who we are, what stage of life we are in right now, and what kind of career, job, or occupation we have, we are learning something new every day. While we all spend so much time and effort every day doing this crucial activity called learning, how much of that time and effort is actually spent on improving our learning?

Continue reading →

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 →