Archive | programming RSS feed for this section

Building your startup on the side is freaking hard.

2 Jun

My typical day: I wake up by 5am every weekday, go through my daily ritual and leave my house by 6am to begin my 10 km commute to work (I am a “factory worker”) to get to work almost an hour later [1]. My factory shift resumes by 8am and ends by 6pm officially although this might extend into late hours of the night on some occasions. I do not work on anything IT related (which factory worker does?) so none of the hours I spend at work contributes in any way to gaining startup experience. After work I start another 10 km commute back home which can extend for almost 3 hours most times no thanks to the crazy traffic on Lagos roads, so I get home earliest by 8pm on a very good day. Most days I am so tired I hardly can code or do anything substantial before crashing on my bed. Most times the stuff I can do are only on weekends when I have some few hours to concentrate.

Building a startup on the side is freaking hard, scratch that, extremely hard. Some people do it but it’s no easy feat.

Pros of building your startup on the side.

1. Focus: when you have so few hours to work on your startup per day you tend to focus and prioritize on what is really important and what isn’t. I work an average of 50 hours at my day job and the few hours left have to be spent with laser focus or I might just wake up and discover that 6 months have passed by. [2]

2. Funding: Most Nigerian founders complain about not having funding for their startup ideas so having a day job will actually allow you to funnel part of your salary into your startup till it starts generating income of its own. I have a relatively well paid factory job so I can bootstrap for now until I start generating real income.

3. Work experience: If you are lucky enough to have a day job where you are gaining skills and experiences that are directly transferable into you startup, all well and good but if you are not like I am, you can learn people management or if your day job is so bad, you would learn how not to run a business.

Cons of building your startup on the side.

1. Burnout: Working nothing less than 50 hours per week on a day job for some years can have a terrible toll on you, your health and motivation to work on your startup. Most times I am so tired I can’t do anything reasonable during the week. This directly leads to my second point.

2. Speed: Most times I imagine and wish that the hours I spend on my day job could be funneled into my side project. I imagine where it would be by now. My startup might look slow and lethargic due to the fact that I barely even have time to work on it.

3. Burning hunger: Having a well paid job can actually make you lazy and take away the hunger to having a successful startup. If on the 24th of every month a substantial amount falls into your bank account with a loud bang, putting your all into a startup might not be topmost on your list of priorities. You might wake up after some years to discover that you have become a boring old fart with a receding hairline and your startup, still a pipe dream.

P.S: Thanks to this article on joel.is for inspiring this post.

Notes:

1. I get most idea’s for these blog posts and write them in my head while driving on my long commute to work. It’s a wonder I haven’t hit anyone yet.

2. Talking about focus: I developed my infamous unofficial nairaland API in less than 20 minutes in a frenzied coding spree.

How I “hacked” up a Nairaland API and got banned

28 Jan

 

Disclaimer: I was bored, alone at home and this nairaland.com post inspired the hack.

After reading the nairaland post, I actually started thinking if it was possible to actually design an API that programmers could use to extend the capabilities of nairaland.com like logging in, creating new topics, consuming nairaland data and other common functions programmatically. I fired up my text editor and started trying to reverse engineer the basic nairaland functions I wanted.  The awesome PYTHON Requests library came in very useful and after some few minutes my API could login, logout, create a new topic on any board, edit user profile (i.e. change email and password).

I guess my posts to nairaland during my build process of the API was suspicious due to the fast rate it was coming in and the random boards I was posting to as I was promptly banned from the site.

REASONS WHY NAIRALAND IS ANTI-API

1. PAGEVIEWS, PAGEVIEWS and PAGEVIEWS: Since nairaland started selling self serve adverts, one of the selling points it uses to woo advertisers is the number of pageviews/visitors or eyeballs it has. I think the reason why the nairaland overlords are anti-API is because they feel once users start consuming nairaland without actually visiting the site, pageviews would drop and also advertising revenue (Which is a rather myopic view).

2. SPAM: Nairaland.com currently has 1,005,971 users. Although this is a debatable figure as it is known that most users have more than 1 user account on the site. Most do it to advertise goods and services, create topics etc. Some people with ulterior motives once they get a live working API might start to automate posting, trolling and most likely drown the site in spammy topics etc.

3. Nairaland is resistant to change: It took nairaland almost 7 years of existence to move from simple machine forums to a home grown solution done in Python (cherrypy and MySQL) to be exact. The UI of the site might hurt sensitive eyes and this wont change any time soon.  If the most basic basic things wont change for the better, why would the nairaland overlords embrace an API?

The above reasons are just speculations on my part.

Update: I have since been unbanned by nairaland, but since I am no longer bored and idle, the API might not be receiving any developer love from me any time soon as I am working on more interesting stuff. In case you are interested, you can check it out here: 
https://github.com/aitoehigie/unofficial-nairalandAPI
 (pls note: use at your own risk of being banned too).

Latest Update: I posted a link to this post on the programming board of nairaland to see if I could get some takers on the API but before I could blink an eyelid, I was immediately banned again from the site and the link was instantly deleted by the mods,which goes to prove my above theories to be 100% correct.

Pystar

Why the “noise makers” among us can’t code.

25 Jul

Let me tell you a true  story: I would rather spend time coding than going to a tech meetup

, [1] I hate the very thought of marketing (I probably just  hate the fact that my sales pitch might get turned down). I guess that’s why my start-up hasn’t  ”blown” and that of “noise makers” [2] among us, is a tale in the opposite.  But the thing is this, I could probably code rings around these “noise makers”, who probably cant write a line of code at gunpoint, but their start ups actually make me feel inadequate in a perverse way.

Unless you are building a deep Comp.Sci based start up like Google, you probably don’t need to focus so much on your code but invest heavily on marketing. Most problems here in a 3rd world country like Nigeria that can become viable start ups actually don’t require deep science but heavy marketing and legwork to enlighten people and also give them a reason to actually use your product. [3]

Most good programmers I happen to know are introverted to a certain degree and prefer coding than actually going out and meeting people, so how do you then market your product if you don’t go out? Social media doesn’t count.

Doing a quick and dirty survey of the most “up in your face” start ups here in Nigeria will actually tell you that they are started by non coding techies (if I can safely call them that)[4]. These guys are “noise makers” and thats why their start ups do well. These guys can’t code and probably are not interested in learning how to code because coding is a long tedious and lonely task (unless you are pair programming) and the emotional make up of these “noise makers” wont just allow them to do this successfully.

I have discovered that even if you write the best code with the most bleeding edge frameworks and languages and do absolutely no marketing or “noise making”, no one will beat a path to your doorstop begging for the rare privilege to use your app.

After thinking alot about this “phenomenon”, I can actually say that I agree absolutely with MrBankole when he penned 
http://techloy.com/2012/07/10/im-ceo-bitch/
 . How does some techie who probably has a name for his laptop [5] succeed in marketing his start up? The most successful route I can figure out is getting a “noise maker” as a co founder. That way you get the best of  both worlds.[6]

Notes

[1] Probably the reason why I have never been to any tech meetup (apart the 1st ever barcamp held in lagos “09″) and most probably wont in the nearest future is because of my hectic factory day job schedule and organizers of such meetups refusing to fix events on weekends.

[2] The phrase “Noise maker” as is used in this blog post is actually used in a positive context. A noise maker is someone who is a natural extrovert, a born marketer, with little or no technical chops, i.e. someone in the mould of Steve Jobs.

[3] Imagine a start up with a Seun Osewa and Jason Njoku combo? yeah I can, in my dreams.

[4] Bloovue, dealdey, IrokoTv, Jobberman, wakanow all have non coding founders. (Correct me if I am wrong)

[5] I am guilty as charged.

[6] Don’t do this alone, collaborate, collaborate. Get someone who can pick your slack and is strong where you are weak.

Steve Wozniak (awesome technical chops) + Steve Jobs (most prolific tech marketer ever) == Apple(World domination)

Live in Nigeria?(***insert your 3rd world country here***). This is why your startup will fail.

22 Feb

You live in Nigeria or any 3rd world country?, are a techie and thinking of starting a web startup? here are some reasons why your startup is doomed to fail.

1. Your startup is a solution to a “WANT” and not a “NEED”. If you can remember your basic economics, you should know what “WANTS” and “NEEDS” are. Quickly, I would define a “NEED” as something you have to have, something you can’t do without e.g. food, clothing and shelter, while a “WANT” is something you would like to have. It is not absolutely necessary, but it would be a good thing to have. A good example is music.

When developing your startup idea, ask yourself, “is what I am creating a solution to a NEED or a WANT?”  According to the Nigerian Bureau of statistics 60.9% of Nigerians in 2010 were living in “absolute poverty” i.e. less than $1 per day. Do you think that taking a hiatus to create a music startup to enable these people living in abject poverty listen to music amounts to a good use of your time? or “skills”?

2. Your startup is a clone of some popular 1st world website or application [1]. Why would you clone when there are a myriad of problems you could develop solutions for? If you are developing a clone, ask yourself this question “why would anyone use this (***insert the name of your clone***) instead of the main thing (***insert the name of the website you cloned***)?” .

3. Your startup will require loads and loads of traffic i.e. pageviews with gullible people who would be ready to click on Google ads before it can generate income. In Nigeria, there are no VC’s, no Angels, no startup accelerators, no Government support programs, no infrastructure, regular electricity supply is a pipe dream, Internet access is patchy and expensive, in short, “NO NOTHING”. So it kind of beats me why anyone would base his startup’s business model on the benevolence of Google? In between the time your startup comes online to the time it can generate enough traffic to keep the lights on and the servers humming, how would you survive? Do you have some gold bars stashed under your mattress somewhere? If not, why don’t you just develop a product where you can start charging from the very first day? [2]

4. Reading too much of Techcrunch et al. These tech blogs are written by elitist white techies who live in silicon valley where the difference between over there and here is like light and day. Any advice you can glean from those sites just isn’t applicable here in Nigeria. [3]

NOTES

[1] The current fad in Nigeria is creating clones of Groupon.com. It once used to be Twitter clones, bulk sms and then Facebook clones. Why coders still do this kind of beats me. Instead of cloning, why don’t you build on these sites and take advantage of things like Facebook’s “Social Graph” etc and develop innovative solutions? Developing another DROPBOX wont meet the need of the average Nigerian, he has no need for it, and if he does why wont he go for the original? patriotism? please!

[2] Despite the fact that 60.9% of Nigerians live under $1 per day and there are 90 million mobile subscribers in the country with at least 1 mobile phone, these phones have to be loaded with “call credit” by these people because communication has become a NEED and not a WANT. So despite the grinding poverty in the country, the major Telco’s still declare mind boggling profits every year, with Nigeria now having the largest mobile phone market in Africa with 60% penetration. So in order to be successful, develop a solution to a NEED and not a WANT.

[3] Sarah Lacy, a former columnist for Techcrunch, when she came to Nigeria in 2011 advised techies not to read Techcrunch et al. Its of no use, the stories of billion dollar valuations for 6 month old companies that do nothing but count your number of Twitter followers will actually screw with your head. That can never happen here, this is Nigeria, be creative, be innovative, think local but act global.

2 Reasons why you should start a startup (The Nigerian version)

19 Feb

2 Reasons why you should start a startup

(The Nigerian version)

Have you been thinking about starting an Internet company? here are some reasons why I think you should take the plunge.

  1. You just graduated from university or are about to and you are scared about getting a job which you know doesn’t even exist [1].
  2. Nigeria is a “virgin tech forest” where technology can be used to disrupt almost all facets of society. Almost any idea you develop  can  and will disrupt society for “good”, as there are real problems that technology can be used to solve [2] which Western tech companies haven’t solved and don’t even have any interest in solving. In Nigeria, viable ideas are everywhere, the streets are paved with “idea gold”, pick one up run with it and make impact.
P.S : For the love of God, while you are at it, please don’t create another clone of Facebook, Twitter or another bulk SMS website. And for your business model, don’t make Google Adsense  your primary source of income as I feel that there are ideas that some of the 45 million online Nigerians who also mostly live under $1 per day would be able to spare out of that pittance to pay for your service [3].

Notes

[1]  Actually, you don’t even need to have a degree to start a startup, as most coders I know are self-taught. The unemployment rate in Nigeria stands at 23.9%  out of a total of over 167 million people. Why waste your time looking for a job which is virtually (no pun intended) nonexistent, when you could create one for your self and others, make impact on your society which you definitely can’t do as a “cubicle slave” and if you are lucky, become rich and retire young?

[2]  PayPal has blacklisted Nigeria, why can’t we develop our home-grown version? Also, why do I have to go through semi illiterate middle men called “agents” before I can get a place to rent?  (present solutions in this space suck big time).

[3] This is the subject of a blog post for another day.

Dear Mr Jimoh

11 Sep

Hello Sir,

Congratulations on your much deserved win @Startup weekend Lagos. While you bask in the glow of your win, let me hit you with some questions before you get a tan.

1. Data: your app is basically useless without the data of artisans. So how do you intend getting the data of artisans seeded into your app? And please don’t tell me artisans would do the profile creation themselves (I can see you have a form for that) you know why? Most of the artisans who are your target demographic are either illiterate and/or wont be interested in creating a profile on your app without them really seeing what value that adds to them i.e. monetary. And if you want normal users to create and rate profiles of artisans they have used, what would motivate them to do so? Whats in it for them to go through the whole process?[1]

2. Business Model: Although your app is quite innovative at least in our local web space, but I cant for the life of me deduce how you intend making money from this app unless you want to go down the very well beaten path of Google adsense? [2] Provided you can generate enough traffic to cover hosting cost and other sundry costs with that, then I wish you guys luck.

P.S: I would be monitoring your progress over time.  Congrats again sir.

Notes

 

[1] A very thought-provoking tweebate was the cause of this blog post and the major thing that was debated was how artisans details would be created on findjimoh.com and who would do the creation. Leaving that power to either the artisans or people who use the artisans would be a major fail, because you would be giving them the power to determine how fast your app would grow and how useful it would be to other users. At least in the beginning, do the seeding yourselves.

[2] Regarding your business model, a little bird just whispered into my ear that you intend making money whenever any artisan is recommended. I really don’t know how that would work. But a simple way I feel you can make money is by having a short code that anyone could text a requirement and have the top ranking artisan that matches that query sent back in response.

Its alright, be a clone.

9 Aug

Yeah, you heard me right, its alright to be a clone. Why?

Google wasnt the first search engine

Twitter wasnt the first microblog

Facebook wasnt the first social network

The ipod wasnt the first personal music player

The iphone wasnt the first phone or first touch screen phone.

What really made these products and services successful is the way they were implemented.

Google had the PAGERANK algorithm

Facebook had the “WALL”,

Twitter had its 140 character limit

THe iphone and ipod had “Steve Jobs” (no, seriously, they had a superbly made hardware combined with even better software which the Japanese portable players popular at the time and other phone makers didn’t have). All they did was to take something and add an innovative twist to its implementation which made it seem “original”.

This means in Nigeria’s tech scene, you can take an already tested idea which would be locally relevant, tweak it to create a breakout product or service and you would come out looking like a tech star. Example:

1. Instead of creating a Twitter clone, why don’t you create a fully mobile “Twitter” which works with sms. You “tweet” by texting a 140 character message to a short code and your followers receive you “tweet” from that short code. Your business model would be sms advertising based. [1]

It doesn’t really take much to be “original” all you have to do is to copy. So please go ahead be a clone.

Notes:

1. Something like this already exists in India called Gupshup and its very huge in India and most importantly its profitable.

Dear Nigerian wannabe startup founder….

17 Jul

Please for the love of god, drop that idea of creating another social network, throw that idea of another “SIMPLEMACHINES” forum out of the window of the nearest high rise and watch it fall to its death 30 stories below without regret. There are some areas in Nigeria and Lagos in particular that require a much needed shot of some “source code” into its veins. These include:

1. Property leasing/letting/rental: In a city of more than 9 million people, getting a property for lease or rent in Lagos is like going through the proverbial eye of the needle. It doesn’t just make sense that in the 21st century I still have to go through some semi illiterate middle men called “Estate Agents” with their exploitative charges and fees, before I can get a property to lease or rent. I don’t see the reason why I cant do the whole process of searching, viewing and paying for a property via the web. This sector is hot and needs a startup with excellent implementation to just “nail” it.

2. News and information services: Why I cant get real time, localized news and information via the web or by sms kind of beats me. For example, why do I have to get stuck in traffic on Ikorodu road when FRSC or LASTMA can just send me alerts and advice me on alternative routes to take? Why do I also have to get stuck in between the cross fire of rampaging thugs in Fadeyi area on my way back from work, when security forces like the police can alert me and advice me to steer clear of the area? I surely would not mind paying for a service like this. [1]

3. Web payment gateways: This sector is a no brainer but the players in this sector are either bereft of ideas or have some sort of hidden agenda. There cant be innovation in the sector if developers are not making money from what they are doing. I do not see the reason why we can’t have our own “Nigerian Paypal” since Paypal has refused to come to Nigeria. The only very high barrier to entry of anyone interested in going into this sector is CBN’s bureaucratic bottlenecks and red tape bullshit before you can get licensed. But its hot and ripe for innovation.

Notes

[1]. Disclosure: I am working on something in this space.

Hey you! don’t you dare call me a Hacker!!!

17 Jul

CHANGE OF NAME

To whom it may concern. I, Aito Ehigie Pascal (Pystar) who used to go with the moniker ”Computer Hacker”, now wishes to be addressed as a “Code Writer”. This action was necessitated by the improper user and bastardization of the word “computer hacker” especially by main stream media and the attendant negative impression it makes on the minds of those who don’t really know the true meaning of the word.

All documentation, opensource projects, blog posts, forum comments and code repositories remain valid. Github, web2py and web2py groups, python.org,  stackoverflow.com et.al please take note.

A Nigerian Hacker’s Wish (2)

22 Apr

In part 1 of this series, I wrote about a place in Lagos where I could code without thinking about power cuts from the power company, my laptop battery dying, my generator running out of fuel or my inverter battery running down. I made this point number 1 on my list because of its relevance to flow and a hacker’s productivity.

What is Flow exactly? According to Wikipedia:

Flow is the mental state of operation in which a person in an activity is fully immersed in a feeling of energized focus, full involvement, and success in the process of the activity. Proposed by Mihály Csíkszentmihályi, the positive psychology concept has been widely referenced across a variety of fields.

According to Csíkszentmihályi, flow is completely focused motivation. It is a single-minded immersion and represents perhaps the ultimate in harnessing the emotions in the service of performing andlearning. In flow, the emotions are not just contained and channeled, but positive, energized, and aligned with the task at hand. To be caught in the ennui of depression or the agitation of anxiety is to be barred from flow. The hallmark of flow is a feeling of spontaneous joy, even rapture, while performing a task although flow is also described (below) as a deep focus on nothing but the activity – not even oneself or one’s emotions.

A hacker being in the Flow while coding is usually at the peak of his productivity. Flow is that elusive state in which a hacker is so immersed in what he is working on that he looses all sense of time and space, everything else is a blur, as he has “tunnel vision” on the problem he is developing a solution for. To most hacker’s who have to hack at work, they will tell you that they hardly ever if not never get into the state of Flow, which is why the 37signals guys will tell you that the typical workplace is antithetical to productivity. Flow once gotten into is very easy easy to break out of and harder to get back into once distracted.

How to stay in the Flow

1. A conducive workplace, i.e. a place where the hacker doesn’t have to think/bother about mundane things like infrastructure, e.g. power, Internet etc. Also the hacker should have all the stuff he might need during the hacking session like food and drinks, notepad and pen, reference materials and manuals at arms length  to avoid breaking out of the flow just to get these stuff.

2. Avoid distractions like emails, IM’s, phone calls, co workers, meetings etc and also have a certain period of the day when he can code for a solid stretch of time without interruptions.

3. If the hacker is in a noisy place with lots of people, using high quality noise canceling earphones would be ideal as it would serve the dual purpose of shutting out external noise and also dissuade people from talking to you.

Follow

Get every new post delivered to your Inbox.