Thesis Stories : Wrangling with HUGE data


My thesis takes all my time: I have to review papers, write out my thoughts, build a platform, attend classes as well as poke into Big Data; and my blog has been at the receiving end. This story about big data came to my mind while I was thinking about my planned work on the stackoverflow (SO) … Continue reading Thesis Stories : Wrangling with HUGE data

Are developers better than testers?


A lot of people view testers as second-class citizens; probably because QA guys rarely 'create' stuff like devs do (although they sometimes do original work creating test frameworks and platforms). They are more similar to editors who verify the work of authors. However, testers are just as important as developers; without QA the end product … Continue reading Are developers better than testers?

What Endian are you? Big or little?


Have you read Gulliver's travels? If you have then you must have read about endianness.

Book Review: Coders At Work: Reflections on the Craft of Programming


I recently completed reading Coders at work (well, I must have spent approximately 8 weeks trying to complete it; not a record I am proud of but still it's better than nothing!) I think the book is a good read even though some of the interviews dragged on for too long. Peter Siebel, the author, … Continue reading Book Review: Coders At Work: Reflections on the Craft of Programming

Clean Code, Dirty Code


Clean code is what we developers should aspire to write, it is clean, minimal, simple, easy to understand, free of extraneous details,

Levels of Developer Expertise


This is a light-hearted attempt to classify developers.

So you want to become a better programmer


An awesome team of professionals reviewed my code and quickly exposed my mistakes. Yes, it was a great albeit humbling experience :) . It gave me a firsthand glimpse of my code-writing flaws; I appreciate this as it will enable me to improve insha Allaah.

JavaScript: The functional Programming Parts


Yes, a lot of people think JavaScript is just another object-oriented language but the language differs in many ways from the Java/C++ class of programming languages. For example, JavaScript uses prototypical inheritance versus the classical inheritance favoured by OO languages; this makes it easier to get on new behaviours... and also makes it really really easy to shoot yourself in the foot.

Reflection : Arcane parts of Software Development


I first came across reflection when I needed to develop a PHP framework for my former firm. I started by reading the fuel source code (fuel is a PHP framework) and came across the reflection patterns in the boot strap. I seem to have a lot of first times with PHP. Well I have come … Continue reading Reflection : Arcane parts of Software Development

Book Review: JavaScript, The Good Parts


All languages have good and bad parts; to be a master developer in any language, you need to know and avoid the bad parts. Douglas Crockford goes through JavaScript, showing how to write beautiful code in this much-maligned language in an easy-to-follow and understand manner. Brendan Eich developed the language in a rush (I think in … Continue reading Book Review: JavaScript, The Good Parts

The Singleton Pattern


I stumbled upon the singleton pattern while reading a PHP book and fell in love with its simplicity. I rushed to use it at every single opportunity I got (when you have a hammer, everything looks like a nail, right?) until I got tired of it; now I can't really remember when I used it … Continue reading The Singleton Pattern

Data Structures for Programmers


A good understanding of data structures separates the master programmer from the noob. Some make it possible to get faster solutions to problems; and who doesn't want faster code?

Beautiful Code 1 : 5 Symptoms of Software Rot


I used to wonder why people would refer to software development as an art; to me there was absolutely no correlation between programming and art. However, after hacking at software for years and writing all sorts of software: crappy ( I bet I'll would hide my face in shame if I see some of my old code), good and ugly, I believe it is an art.

The Java Virtual Machine


The Java vision was to empower developers to "write once, run everywhere". One way of achieving platform independence is to use middleware to mask differences. Enter the JVM; a stack-based virtual machine that uses 32-bit words, performs arithmetic using 2-complement and can execute compiled Java bytecode, typically .class or .jar files. The beauty of middleware ensures … Continue reading The Java Virtual Machine

How Skype works


A lot of us use Skype daily but have no idea about how it works. Here is a brief description of the Skype framework. Skype employs a partially decentralized architecture - a mix of the peer-to-peer and  client-server architectures. The client-server system is used for authentication while the peer-to-peer system is used for IP telephony, relaying, … Continue reading How Skype works

Ten Useful Terminal Commands for Developers


The terminal is a very powerful tool and once you grasp its basics; you'll love it and use it in ways never imagined by the original developers. Here are some really useful commands. 1. Ls I use this tool everyday and it is a workhorse. It is great for listing directory contents and checking file … Continue reading Ten Useful Terminal Commands for Developers

What you should know about HTTP


Everyone seems to know that the web runs on HTTP, but what is HTTP all about? HTTP stands for HyperText Transfer Protocol; an application-layer protocol that the web runs on. Implemented as a client-server model; HTTP defines how clients should make requests to servers and how servers should respond. It is a stateless protocol because servers … Continue reading What you should know about HTTP

Sorting Algorithms


Sorting involves ordering elements of a collection. For example, dictionaries are sorted alphabetically, numbers lists could be in increasing or decreasing order.  Sorting is important and can be applied in various context, especially those that have to do with massive data. The efficiency of a sorting algorithm is related to the number of elements it … Continue reading Sorting Algorithms

And you thought you knew about Open Source


Popular opinion about open-source software - having access to the source code – does not adequately express the meaning of free software; it is even weaker than official definition of open-source as it includes lots of propriety and/or commercial programs.

Access a webpage inside an Android Activity


While working on an Android app, I needed to get people to sign into Facebook however I didn't want them to leave my app. The simple solution was to launch the browser through an intent; however, this was going to stop my activity which was unacceptable. I wanted a solution that enabled users to sign … Continue reading Access a webpage inside an Android Activity

Importing a remote Git project using Eclipse


Importing a remote Git project using Eclipse

The student life… of projects, assignments, exams and more work!!!


At last! I finally get to write on my blog. I have been struggling to cope with the never-ending stream of course work, projects and exams. Alhamdulilah I think I have some time for a pretty quick post. I finally turned in the artificial intelligence project, probably the most challenging projects of the semester. First, it had … Continue reading The student life… of projects, assignments, exams and more work!!!

Opennigeria… the time is now!


It is comforting to know we have great software craftsmen who are passionate about what they do and are willing to make a change. The Nigerian software sector, though nascent, is slowly growing and gaining momentum. There are developer events, meetups, startups and competitions. However; despite several boot camps, developer meetups, hackathons and several cool products; there … Continue reading Opennigeria… the time is now!

Why I like vim


I had to learn python about two weeks back and I felt I ought to do things differently this time; I resolved to learn using an editor and not go through the IDE route. So I fired up gedit and was enjoying it until I wrote a program that ran an endless loop and had to kill the gedit process. After that, my gedit was never the same and all my attempts at fixing it failed. Frustrated at this, I had to choose between kwrite and vim... my choice made me write today.

Algorithms I


Finally, I started studying algorithms - after delaying delving into algorithms for a long time; I ultimately had no choice but to learn it. So pronto I picked up a book - Problem solving with Algorithms and Data structures using Python - and started with gusto. Having little Python skills, I was somewhat worried that … Continue reading Algorithms I