Jun 23
My Sites: My Blog | My Tech Blog | Follow me on Twitter
—-

I’m going to be bespectacled and have been advised to reduce and limit my computer usage considerably. A bit of nostalgia set in on hearing this and I thought about my short journey so far in this wonderland of solid-state and otherwise.

First time I touched a computer.
> 1989, at school in 2nd standard

First command I typed on a computer.
> “dir”, 1990, 3rd standard

First game I played on a computer.
> “bricks”, 1991, 4th standard

First Colored game I played on a computer.
> “Dangerous Dave”, 1991, 4th standard

First program I wrote on a computer.
> “Hello, Ankit!” in basic, 1992, 5th standard(The pre-teenage rebel in me substituted the “world” by “Ankit”. Why “Ankit”? That’s a mystery ;-) )

First time I held a mouse.
>1992, 5th standard, Windows 3.0

First Windows Program I used
>PaintBrush (MSPaint today), 1992, 5th standard

First “3d” game I played
> Wolfenstein 3D (or Wolf), 1993, 6th standard Continue reading »


—-
If you liked this post, then you can Subscribe to my feed
Quote of the day: “There’s a time and a place for everything, and it’s called college.” — Chef

written by Shantanu Goel \\ tags: , , , , , , ,

May 03
My Sites: My Blog | My Tech Blog | Follow me on Twitter
—-

GLib - An Introduction:

GLib is a utility library for C, which augments the standard C library in several purposeful ways to make your life that much easier while programming. GLib has the following things to offer you:

1. Portability: The main issue that haunts any C developer is the portability of code. One cannot rely on the standard C library for this as you may find many functions that work differently under different platforms are aren’t there at all sometimes. GLib ensures that the all the functionality exposed by it remains consistent across platforms, so that you can rest assured that your code will work the way its supposed to work irrespective of the Operating System it’s being used for (Of course, this assumes that you have ensured about portability aspects of your non-GLib related source code). Moreover, GLib is available for a vast array of contemporary Operating Systems including GNU/Linux, Microsoft Windows and Mac OS X.

2. Security: Though you still need to be careful about things like freeing allocated memories properly, etc but GLib does ensure that all its functionality is secure. Moreover, GLib has a policy of ensuring that all its functions are threadsafe. This saves you from a lot of checks and balances and locks and scheduling considerations if you had written all this yourself.

3. Useful Data Types: GLib exposes a lot of data types. Some are very basic that maintain portability across OS’s and 32-bit and 64-bit systems. e.g. you can rest assured that gint32 will always be 32 bit and gint64 will always be 64 bit data types.

Apart from this, it also provides a lot of derived data types e.g. singly linked lists, doubly linked lists, hash tables, stacks, queues, trees, and much more. It’d basically cover most of you data structure needs that you’d have otherwise had to implement yourselves. And it also provides helper functions that makes working with them so much more easier. If you have ever used Perl, and have wished that C programming could be a bit faster like it, you will be pleasantly surprised.

4. Utility Functions: GLib also provides various utility functions to ease out your manipulation of data. Some of the functions are meant as more secure and portable replacements for those provided with standard C library, while rest are meant to provide other useful functionality which you earlier had to implement in your code. Some of the major areas covered by GLib’s utility functions are String manipulation, character set manipulation and conversion (including unicode and base64), using regular expressions, file manipulation, shell functions, config file parsing (my favourite), etc.

End Note: I can understand that there would be a lot of people who believe that use of GLib is dumbing down programming in C. After all, we take pride being in control of our code and this is why we love progrmming in C because we have options to do things in our own way. Yes, that is all true but there comes a time where you’d like to spend more time in developing the core functionality of your app, or focus more on giving a rapid shape to your new idea, rather than reinventing the wheel and fumbling around with writing the helper functions. So, keeping that in mind I believe GLib is wonderful piece of code that has enabled me to churn out new apps that much faster.


—-
If you liked this post, then you can Subscribe to my feed
Quote of the day: Homer: Kids, you tried your best and you failed miserably. The lesson is, never try.

written by Shantanu Goel \\ tags: , , , , , , , , ,

Apr 12
My Sites: My Blog | My Tech Blog | Follow me on Twitter
—-

Everyone wants to make a name for himself. Everyone wants to do something new and extra-ordinary. People like me (read software engineers) want to develop “something” cool. BUT, the stage where most of them go wrong is the very first one. Most of them think that the road to develop something cool starts from a particular “language” or a tool. But I beg to differ. I say the first stage is “The Idea”.

Most of my friends and others around me think that having a particular skill set is very important to develop something the world hasn’t seen till now. And for this they end up reading through piles of books, which claim to make them a master in C, C++, PHP, Python, Web 2.0 and what not. This is all OK, but the problem is, when they have gone through the books, done all the exercises, made all the samle projects, then they have a question in their minds “Now What”?

What I think is that this question should have been asked in the very beginning of the journey. And it should have been answered by the occurrence of a new idea.

Don’t get me wrong. I’m all for reading books, developing skill sets, learning new technologies, etc. But the only point I want to make is that all this is a “means” to give your “idea” a shape. They are not where your story begins. What if you spent a lot of time acquiring perl skills and then when (and if) you get your brilliant idea, you find out that the best way to implement it would be using C. Are you back to square one? No. Skills acquired are never a waste. “Concepts” developed can easily be applied to the new tool that you have to use.

But one more thing, its again not a hard rule that now you should just sit in your chair all day long and keep thinking. I bet its much harder to get the idea stream flowing that way. Ideas don’t have a pattern that they follow while coming into your mind. They may come to you any place unexpected (I get most of mine while bathing ;-) ).

But there is something you can do to ensure that your brain gets accustomed to recognize an idea when you do get it. So, while you are reading through that book on C programming, don’t just get engrossed in typing out the exact source code that’s fed to you. “Think” about whether is that enough? Can you make some modification to it so that it becomes more efficient? Can you tweak it a bit to do more than its already doing?

Keep your eyes open when you go around your daily chores. Think when you open your door whether wouldn’t it be nice if the door could recognize you are there and open itself. There’s your idea. And while you are at it, think wouldn’t it be even nicer if your home would have poured you a cool drink itself when you enter it?

Now, tell me whether you would like to wait to think about these ideas till you read the book’s epilogue, or do you want to start thinking now?


—-
If you liked this post, then you can Subscribe to my feed
Quote of the day: “There’s a time and a place for everything, and it’s called college.” — Chef

written by Shantanu Goel \\ tags: , , , ,

Feb 17
My Sites: My Blog | My Tech Blog | Follow me on Twitter
—-

For the uninitiated:

Shantz WP QOTD is a plugin to add quotes to your wordpress blog in a few easy clicks. It adds quotes to your posts and your sidebars with a multitude of options for sources and customization.

I made a few additions / modifications to the code and the plugin has been updated to 1.1.0. The changes are:

  • Added Custom tag support for adding quotes anywhere in your posts/pages
  • Added Custom quote separator support and multi-line quotes support

Config Screenshots:

Screenshot1 Screenshot2 Screenshot3

I recommend that you update to this new version asap, as apart from the above mentioned changes, the code is a bit more cleaner as well, which would run a bit better IMO and also help in any modification if you have in mind. For full details and downloads, go to shantz-wp-qotd page.


—-
If you liked this post, then you can Subscribe to my feed
Quote of the day: “I was going to buy a copy of The Power of Positive Thinking, and then I thought: What the hell good would that do?”

written by Shantanu Goel \\ tags: , , , , , , , , , , , , , , ,

Feb 04
My Sites: My Blog | My Tech Blog | Follow me on Twitter
—-

I’ve added a few new sections to the blog. Do check them out. Here is a list of the new sections along with their descriptions.

Projects: Although I wouldn’t put myself in the category of an excellent developer but I can sure type in a few lines that can compile without an error and also manage to carry out a task or two. So, this page will list some of those little things that I write to weed out a few niggles or scratch a few itches of mine. 

Downloads: This page will contain the various downloads that this blog offers for a convenient access.

Submit News/Articles: Like this blog? Have something to contribute? News/Views/Articles/Links that you would like us to share with the rest of the world, can be submitted using the form on this page. Due credit shall be given to you. Also, check the box at the end of the form, if you would like to be a part of the blog as a regular contributor.


—-
If you liked this post, then you can Subscribe to my feed
Quote of the day: Morpheus: Throughout human history, we have been dependent on machines to survive. Fate, it seems, is not without a sense of irony.

written by Shantanu Goel \\ tags: , , , , , ,

Feb 03
My Sites: My Blog | My Tech Blog | Follow me on Twitter
—-

Although I wouldn’t put myself in the category of an excellent developer but I can sure type in a few lines that can compile without an error and also manage to carry out a task or two. So, this page will list some of those little things that I write to weed out a few niggles or scratch a few itches of mine. Maybe you’ll find them helpful as well. Use the grey bar above or the list below to navigate amongst the projects. The list will grow as I put in some documentation around them. Don’t forget to let me know if you use them, doesn’t matter if you find them awesome or aweful :).


—-
If you liked this post, then you can Subscribe to my feed

written by Shantanu Goel \\ tags: , , , , ,