Category Archives: development

A little rant about Rails

6a0120a85dcdae970b0120a86db600970b

Ok, so I downloaded and installed Visual Studio 2012 two days ago and OMG using it is euphoric. When it dawned on me yesterday that my days pretending[1] to be a .NET programmer will soon be over and I’ll be back to my CFWheels/Railo development and Rails experimentation and lackluster IDEs, I decided to put Google to use: “develop ruby rails visual studio”.

First result was a Stack Overflow thread started by a developer who shared my exact concerns, only that he posted his question in 2009 which means Visual Studio 2008 was the wonder IDE he was jerking off to. One of the comments to his question was a link to a coddinghorror.comarticle with the accompanying line: “Just remember that they hate you”. Who hates me? I wondered. I clicked through to read (as I would click any link I find anywhere on the internet that contains codinghorror in it anyway – yes, I love Jeff Atwood).

Apparently, David Heinemeier Hansson (creator of Ruby on Rails and co-founder? at 37signals) was at it again. This time, trashing any developer who still uses Windows as his platform of choice. Jeff took him down nicely, and effectively came to the conclusion that David is a douchebag. Interesting (albeit, written in 2008) read: http://www.codinghorror.com/blog/2008/02/douchebaggery.html

From the article, I followed a link to another blog post written a year before, also describing David’s character. Another interesting read: http://wekeroad.com/2007/10/10/imploding-rails-jesus-dhh-and-the-uncle-ben-principle/

Apparently, Twitter literally dumped Rails for scalability issues. However, I know of a couple of high traffic websites whose technology stack contains Rails in one way or the other. Notable examples include Github, Stripe, Get Satisfaction, Braintree Payments, etc. While this will not dissuade me from my journey into (or should I say onto) Rails, I now know to be wary of performance bottlenecks that may arise if the project has to scale efficiently. Oh, and that it’s creator isn’t willing to help should I run into any trouble.

Did you know that David once had a presentation where one of his slides contained just the words “Fuck” and “You”? I didn’t. Apparently, we are more alike than “we” know. Oh wait, I use Windows.

[1] I write C#.NET pretty well. However, I hate ASP.NET and all that it stands for. I believe it spells a death knell to staying abreast of modern web technologies for anyone who dabbles into it. Why? it’s just too easy to get carried away by dragging and dropping stuff that you forget the language the end user’s browser understands – HTML. Sadly, at the moment, I have been tasked with extending an existing ASP.NET application over at the Nigerian Stock Exchange.

Search & highlight text in a RichTextBox control

screenshot

A while ago, I needed the ability to search for text in a RichTextBox control and have all occurrences of the query highlighted simultaneously. I thought this was going to be an easy task but soon discovered I was terribly wrong.

Ok, maybe its just me but I wonder why some basic functionalities weren’t just built into these controls from factory by default. Why cant I just call a method such as rtbSample.HighlightInstances(“query”); and have all instances of “query” highlighted?!

Long story short, I modified this example into what I needed and thought to share with everyone. Feel free to also modify it for your projects. And maybe I’ll come up with my custom rich text box control that has this functionality built in someday :). Hmm, before I forget, its in .NET.

Download: RichTextSearch.zip

Now Playing: The Corrs – Runaway

Celebrating Mediocrity

No, I’m not the average Nigerian with a blind / misguided belief that Nigeria is a great country when it comes to Information Technology. Nope, we are not! And if drastic steps are not taken, we wont get anywhere.

While several industries in the country have put modern technology to good use, the software industry is lagging far behind. I remember vividly when I first heard of StartupsNigeria, I thought: “Cool. We have out own Techcrunch!”. I felt this would encourage the creation of innovative startups in the Nigerian IT sector, and as well help showcase  what we can build to the world.

But alas, the reverse is the case. Seemingly pointless services come up like every moment. I know the word pointless is far fetched but what do you say when everyone is trying to become the next Nairaland or the next Facebook. The ‘pointless’ part comes in when you realize that these so called aspiring entrepreneurs have nothing in the works to distinguish them from whoever they are trying to compete with. We see social networks based on open source scripts, forums built on existing platforms.

Why the heck would someone want to build the next big forum anyway? It hardly makes any business sense. Yet, we see so called technology bloggers making noise about these products and hyping them beyond what they really are. A good example of this is turenchi.com. Its supposed to be a service that aggregates Nigerian news articles from various publishers. Looking at its entry on StartupsNigeria, I must say I’m disappointed that such a ‘not-ready-for-alpha-test’ service is talked about like its the next Google News killer. Wow.

Ok, maybe I’m being too harsh. Let’s take a look at turenchi. The site’s layout just doesn’t do it justice. Apart from that, the service has little or no features. I’d rather subscribe to keyword-filtered Google News alert than subject my eyes to such boringness. No social features like those available on Topix, no commenting system, no nothing! Just plain news. I believe these are points Loy should have addressed in his post, rather than all the praise he showered.

I bet if we look Nigerian entrepreneurs in the eye and honestly tell them how we feel about their products, we’ll be doing each other a lot of good. One other thing I’ve noticed is the fact that when you tell someone his/her product isn’t up to standard, they prefer to ask you what you have done. That’s plain wrong. We need to posses that hunger to be better. We need to listen to people around us. We need to be innovative and not just lift scripts we cant extend or even maintain. We need to study other companies out there and find out what makes them tick. We need to develop a passion for what we are working on. We need to___ (wait a minute, I’m beginning to sound like a preacher. LOL).

The future of the Nigeria’s IT industry is in our hands.

Update
Thanks to plastiQ, just saw http://nigeria70.com I like the interface.

Unfinished business

udb_client

Or unfinished projects. I’ve got lots of them. Late last year, I thought a tool that could help migrate structure and data from one database management system to another (e.g. MySQL to SQL Server) was a good idea. Next, I thought of a way to actually make people using the application on the regular since database migration was probably a once in a lifetime task. That’s how the Universal Database Client project commenced.

Development tool of choice was VS2008. I knew if I had to write a database client, I had to set it apart from others like Navicat, or SQLYog (for MySQL) by addressing some issues I had with using them. I figured those two clients didnt take advantage of multi-threading and always have their GUI frozen when connecting to a database server or running queries. I read up on background tasks in .NET and compared different ways to go about it. Within 3 weeks, I had a working application which could connect to a MySQL server, enumerate databases, show tables, and execute queries.

And that was it. Development was always during my spare time. That spare time never seemed to come anymore. It’s over 3 months now since I last touched a line of code in the project. Seems like every time I think about it, I tend to give an excuse of how overwhelmed I am with my workplace projects.

My Twitter friends came up with several likely reasons for this.
- Lack of interest. I would say I’m really interested in seeing the project as far as possible. Would really love to see it actually downloaded by people all over the world for use in talking to their databases.
- Lack of motivation. I guess they have a point here. I’m probably not motivated enough. But I barely have no excuse. Other FOSS projects live to see the light of day at least. Mine hasn’t.
- Procrastination. Yea. I’m guilty of that.
- Idea no longer feasible. Hell NO!!! This is very much feasible. Besides, its not like I’m spending so much on it. If anything, I develop myself while working on it.
- Other well paying projects. Well, yea. That should be a reason. But it is not a reason in this case anyway.
- Poor project management skills. LOL. I’m not a project manager. But maybe @DamolaSolanke’s right anyway.

I’ve decided to commence development next month. I’ll do my best to stop procrastinating and grow my project management knowledge. By the way, the project is meant to be free and open source. It’s written in C#. I will appreciate additional developers on this project. Contact me if you are interested.

Do you know other steps that should be taken to prevent slow downs in personal projects, sound off in the comments.