Monday 30 April 2012

Software Construction

So I am reading this book that my colleague recommended, Code Complete by Steve McConnell. It's supposed to contain the best practices of software engineering, without which, not only your software is mediocre, it's also very expensive.

The book makes it clear early on that it's only about the Software Construction part of the software development life-cycle, but does talk about what to assess before doing construction. So it does talk about what're the steps before it.

Here's the life-cycle as the book mentions it:
  • Problem definition
  • Requirements
  • Architecture
  • Construction
  • Systems Testing
  • Future Improvements

What I was surprised to learn is that problem definition really has to be just the problem. It can't contain any solution in it, and it can't contain any technical terminology. It should state the problem, as faced by the User, in User's words. Only then can the requirement analysis be unbiased and most suitable. 

From the book:
A problem definition defines what the problem is without any reference to possible solutions. It’s a simple statement, maybe one or two pages, and it should sound like a problem. The statement “We can’t keep up with orders for the Gigatron” sounds like a problem and is a good problem definition. The statement  “We need to optimize our automated data-entry system to keep up with orders  for the Gigatron” is a poor problem definition. It doesn’t sound like a problem; it  sounds like a solution. ...

Suppose you need a report that shows your annual profit. You already have computerized  reports that show quarterly profits. If you’re locked into the programmer mind- set, you’ll reason that adding an annual report to a system that already does quarterly reports should be easy. Then you’ll pay a programmer to write and debug a time-consuming program that calculates annual profits. If you’re not locked into the computer mind-set, you’ll pay your secretary to create the annual figures by taking one minute to add up the quarterly figures on a pocket calculator. 
— McConnell, S. (2004) Code Complete.

Tuesday 24 April 2012

Rehmat

Yeh teri he rehmat hai Aay Mere Allah! Meray Rab! Meray Malik! Kay tou nay apnay kutton k kutton ko bhi woh izzat di jo tere walion ko milti hai!

Ae Allah! Humain us izzat k laaiq bana day jo tou nay humain ata ki! Humain na shukri se bacha, humain ghaflat se bacha!

Ae Raheem Allah! Humain us mohabbat k laiq bana de jo tounay hum se ki aur humain us mohabbat ka takaza pora karnay wala bana!

Ameen!

Monday 23 April 2012

Shaykh Kamaluddin Ahmed

Shaykh Kamaluddin Ahmed was born and raised in Manhattan, New York City. He recieved a BA in Political Science and Arab & Islamic Civilization from the University of Chicago. Shaykh Kamaluddin then spent many years in Pakistan, studying full-time the classical disciplines of Islamic learning including tafsir of the Qur’an, Hadith, Arabic grammar, law and legal theory. He recieved the ‘alimiyyah degree as well as formal authorization to transmit legal opinion (ifta).

From 2005-2010, he was a lecturer in Islamic Intellectual History, Legal Theory, Spirituality and Ethics at one of Pakistan’s leading universities. Currently, he is a postgraduate student in Islamic Intellectual History and Legal Theory at the University of Oxford.

For over seventeen years, Shaykh Kamaluddin has consistently remained in the close company of the highly respected Shaykh Zulfiqar Ahmad, and was granted ijaza by him in tasawwuf (islamic spirituality) in 2002. Since then, he has continually tutored seekers on the path to becoming closer to Allah. Shaykh Kamaluddin divides his time between the UK and Pakistan, guiding students and delivering lectures at masajid, universities and institutions of learning.

 The Shaykh and his respected wife have also established Zaynab Academy, an Islamic educational institute which offers free online courses for women the world over.

Thursday 19 April 2012

Tahoma

Tahoma is one good font. Looks great for bodies of text, when your body text is 8 pt. For example,
In the central portion of the great North
American Continent there lies an arid and repulsive
desert, which for many a long year served
as a barrier against the advance of civilisation.
From the Sierra Nevada to Nebraska, and from
the Yellowstone River in the north to the Colorado
upon the south, is a region of desolation and silence.
Nor is Nature always in one mood throughout
this grim district. It comprises snow-capped
and lofty mountains, and dark and gloomy valleys.
There are swift-flowing rivers which dash
through jagged canons; and there are enormous
plains, which in winter are white with snow, and
in summer are grey with the saline alkali dust.
They all preserve, however, the common characteristics
of barrenness, inhospitality, and misery.

Sunday 8 April 2012

Excellence

The other day I was reading an article (that was really good) on a blog, and I figured really, what we really want is less of the fleeting pleasures that we so crave! That we so are addicted to...
Speed is a source of stimulation and fleeting pleasure. Slowing down is a route to depth, more enduring satisfaction, and to excellence.
source: blog.hbr.com - Slow Down, You're moving too fast.