Skip to main content

Always Draw a Bold Line

Recently working on a woodworking project I realized there is a resemblance with software development. I came to the conclusion that drawing a bold line plays an essential role in the success of a project in both cases. I had a blueprint I was trying to measure and cut the wood. Some measurements were important to be accurate to an eighth of an inch. The pencil was not sharp so instead of sharpening it, I thought I would draw a pale line in some cases I would notice that the line was not drawn accurately due to the pencil not being sharp. So in my thought, I would decide to cut the side of the line instead of on the line to address the issue. Doing so I realized that I would lose the line because it wasn't bold enough. Also not being sure of the exact offset I needed when cutting on the side of the line ended up the pieces being inaccurate so I had to redo the pieces or spend a lot of time correcting the cuts. After sharpening the pencil and drawing bold lines I realized a significant improvement in quality and the time spent. The same concept can be applied when we want to create software. Gathering specs, analyzing the scope, writing documentation, and designing software might seem unnecessary work or redundant which increases the timeline but as a matter of fact, preparation, designing, and using the correct tooling can enhance both the quality and the project timeline.

Comments

Popular posts from this blog

Installing MS SQL Server driver on Ubuntu Linux

Although making a connection to SQL Server can be done using unixODBC and FreeTDS, it does not work with some collations on SQL Server 2008. Recently, Microsoft released an ODBC driver for Linux that works on 64-bit systems only. Installing the driver is tricky. I begin by installing the build-essential, which is required for compiling from source. Checkinstall can be installed if you want to add the following application to the package manager. $ sudo apt-get install build-essential  Download unixODBC-2.3.0  and Microsoft ODBC dirver  and extract. $ sudo wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.0.tar.gz $ tar xvf unixODBC-2.3.0.tar.gz $ wget http://download.microsoft.com/download/6/A/B/6AB27E13-46AE-4CE9-AFFD-406367CADC1D/Linux6/sqlncli-11.0.1790.0.tar.gz $ tar xvf sqlncli-11.0.1790.0.tar.gz  Install the unixodbc using the following commands: $ ./configure --disable-gui --disable-drivers --enable-iconv --with-iconv-char-enc=UTF8 --with-ico...

Installing pyodbc on ubuntu

Installing pyodbc is straight forward but if  getting     "error: command 'gcc' failed with exit status 1"  when installing pyodbc, make sure you have installed  requirements  as below. sudo apt-get install unixODBC-dev g++ pip install pyodbc

Monkey Patching Django Model Class

Django is shipped with some useful application, also there are lots of third party re-usable application written for Django. Sometime you need to modify or customize these applications(Models of application) to meet your software requirements. One of the usual solution is adding a Model class to have a one-to-one relationship with the third party Models. This solution has some disadvantages such as having more tables and classes which can highly adversely affect database performance, scalability and add more complexity to the software development.  I think of another solution to this problem. I used Django South along with monkey patching of third party Model classes. I added a field to Django user class. Here is a walk through over this approach. 1. Add an application: python manage.py startapplication userpatch 2. Add the following  code to add the new field to the user class from django.db import models from django.contrib.auth.models import User ...