Skip to main content

Jul 12, 2015

The past week was a very stressful, entertaining and educative for me. I started the week with a practically unusable laptop and mobile phone. One way or the other, they had both fallen down and gotten their screens ruined. I had to set aside some cash to repair my laptop during the week, and my phone is still crazy.

During the week, I had ideas for several ecommerce websites. I decided to experiment with 5 of the biggest ecommerce platforms in the world.

  1. Wordpress with Woocommerce
  2. Magento (Community Edition)
  3. Prestashop
  4. Drupal with Drupal Commerce
  5. OpenCart

Now, there's something about me you need to know. I hate ready-made solutions. Whatever I'm working with, I need absolute control and flexibility. I need to be able to dig into hundreds of lines of codes and fit it to my standards. That's why you didn't see names like Shopify in the above list. Now, let's treat each of the 5 platforms above.

  1. Wordpress with Woocommerce: I started working with WordPress 4 months ago (check out my WordPress blog at However, it's a CMS specially crafted for beginners. I'd love WordPress for simple blogging. After checking out WordPress with WooCommerce, I made up my mind against it for the simple reason that lot's of advanced features that come with eCommerce-specific platforms like OpenCart are additional paid plugins you would have to install with WordPress. Also, WordPress is a CMS, and in additional with WooCommerce, should be used for eCommerce stores with little or no advanced requirements. I have nothing against it except for the fact that it lacks advanced features.
  2. Magento (Community Edition): Yeah, Magento. The most popular and most advanced ecommerce platform in the world with big names such as Samsung and Ford as users (Enterprise editions of course). Magento has 3 editions: Community, Go and Enterprise editions. Community is free, while Enterprise goes for #15,000 per year - I meant $15,000 of course ;). After playing with magento and checking out what people have to say about it, I arrived at a decision. The issue of Magento requiring large computing resources to perform well is a commonly-shared opinion among Magento users, and I don't really have financial resources for dedicated servers/SSD hosting/Cloud hosting. Also, Magento plugins, templates and technical assistance do not come cheaply. Therefore, you get a free platform, but end up spending a hell lot on servers, plugins, templates and technical assistance. Scrapped out!
  3. OpenCart: OpenCart was the most user-friendly among all ecommerce platforms I played with. It's free, and you get a beautiful default template. My major problem with OpenCart was the not-so-SEO-friendly urls you are left with. However, I would still recommend OpenCart for anyone willing to start an eCommerce website. It's pretty cool.
  4. Prestashop: Prestashop is similar to OpenCart. It even has search-friendly URLs. However, it shares a fault with Magento: most PrestaShop plugins and templates are just too expensive. However, I'll also recommend it to anyone willing to kickstart an ecommerce website.
  5. Drupal with Drupal Commerce: After playing out with lots of ecommerce platforms, Drupal with Drupal Commerce emerged as my favorite. I'll start a new project with Drupal Commerce tomorrow and hopefully, I'll finish in a month. Here are the reasons why Drupal with Drupal Commerce emerged as my favorite:
  • I love Drupal. It's the most advanced and poweful CMS platform out there.
  • I have a very high degree of control I don't normally have with OpenCart of PrestaShop.
  • Drupal with Drupal Ecommerce helps me learn new stuffs. OpenCart and PrestaShop are really cool out-of-the-box. However, while working on projects, I love to learn as I work, and out-of-the-box solutions just don't help you learn as much as you would if you're building from scratch (e.g. I built this blog with a very lightweight CMS called CouchCMS, and it took me a week to set up, whereas I could have done the same with WordPress in 10 minutes or less). I don't enjoy spending much time on projects, but I do so for learning's sake.

I could give more reasons, but the third reason sums it up. OpenCart and PrestaShop are really awesome for beginners, but I'll offer myself a challenge by trying out Drupal with Drupal Commerce and see what I can do with it. Stay trippy!

Jun 23, 2015

I just went through my copy of Success In Programming: How to Gain Recognition, Power, and Influence Through Personal Branding by Frederic Harper. It's an awesome book and highly recommended for anyone who wants to be successful in programming.

Jun 22, 2015

States of Emergency are declared for several reasons. One such reason popped into my head this morning.

It was our 2nd practical session this semester. 1st year students of Computer Science walked into the computer laboratory, and listened to an hour of lecture on a very wonderful topic: "Introduction to Microsoft Word 2010". When 1st year Computer Science students of a Nigerian university are being taught "Introduction to Microsoft Word 2010" during practical sessions, then it's time to declare a national educational state of emergency.

1st year Computer Students at Brock University (a public university in Canada) are taught:

1) APCO 1P00: Programming by example, encoding and manipulating pictures (such as grayscale and colour replacement), pixel manipulation (such as red eye and mirroring), designing and debugging, text manipulation with HTML , file processing, automatic generation and manipulation of web pages, and sound processing (such as encoding, volume manipulation and splicing).

2) APCO 1P01: Skills, concepts and capabilities of computers, networks and the Internet. Topics include representation of information, current hardware, software and network technologies, modelling with Excel, presentations with PowerPoint, Internet searching and basic web page development with HTML .

3) APCO 1P50: Issues in use of information technology including historic and social perspectives; legal, ethical and moral issues; intellectual property, licensing and copyright; privacy and freedom of expression; professional conduct and information literacy.

4) APCO 1P93: Modern software techniques including problem solving and design of effective algorithms, structured program design methodology, subprogram library usage, documentation, correctness, floating-point arithmetic and error analysis.

5) COSC 1P02: Foundations of Computer Science and computer programming in a high-level language (normally Java). Topics include computer fundamentals, representation of information, problem solving and software development, programming language syntax and semantics, methods, input/output, control structures and data types.

6) COSC 1P03: Programming and problem solving in a high-level programming language (normally Java). Data structures including arrays and linked-lists. Modularity, abstraction and abstract data types including stacks, queues and lists. Introduction to searching and sorting, recursion, algorithm analysis and object-orientation.

7) COSC 1P50: Issues in use of information technology including historic and social perspectives; legal, ethical and moral issues; intellectual property, licensing and copyright; privacy and freedom of expression; professional conduct and information literacy.

8) MATH 1P67: Development and analysis of algorithms, complexity of algorithms, recursion solving recurrence relations and relations and functions.

Here's what we're taught at The Federal University of Technology, Akure (1st year Computer Science):

1) BIO 101: Introduction to Biology

2) CHE 101: Introduction to Chemistry

3) GNS 103: Information Retrieval (Introduction to the University's Library)

4) PHY 101: General Physics

5) PHY 107: General Physics Laboratory

6) MEE 101: Engineering Drawing

7) GNS 101: Use of English

8) MTS 101: Introductry Mathematics

9) CSC 101: Introduction to Computer Science

Well, if we're not going to declare an Educational State of Emergency, at least let's give our 54 year old mother a well deserved tribute! (Drop comments below)