Powered By Blogger

My Blog

One new concept a day (at the least). One new thing to explore in the exciting world of Computer Science each day. That's the Programmer in Training promise :P

Code and learn, boys. Code and learn.

Search This Blog

Showing posts with label rambling. Show all posts
Showing posts with label rambling. Show all posts

Wednesday, 14 January 2015

Thoughts and Apologies

Hmm, okay, so where do I begin?

A'rite, first off, feel free to ignore the entirety of this post if you are looking at this blog for nobler purposes of learning. This is not a post involving anything to do with algorithms, webdev, appdev, or any part of Computer Science in general. In other words, it is not one of my regular (okay, not so regular) concept posts. This is just me sitting at my keyboard (which has gone unused for a while now, I haven't been doing much of code lately) and tapping out whatever I think, because I am just utterly bored, and I'm not really in the mood to do something super-productive, and I want to wean myself off 9gag.

So let's start with why a post hasn't come out here for a month. So for those of you who do not know me personally, our institute had winter vacations for a month (the whole of December), so I went home to Dubai. What I had expected to be a nice free month of productivity quickly dissolved into oblivion because I had sleep curfews (yes, I am 19, and yes, you read that right. Thanks Dad!). So I would basically be whisked off to bed leaving me without time to write out my blog posts, which (quite naturally) are mostly penned at night, when I am feeling most creative and woo, I'mma write the best blog post the world has ever seen kinda stuff. In fact, as of the time of writing of this post, the time is 11:38 pm locally, so you get the idea.

So if any of you were eagerly checking back day-after-day on this blog for a new concept post for the past month, I am really sorry. Also, I'd advise you to use an RSS feed program or set up an email alert or something.

So now that I am done pretending that I have a gigantic readership, let's get down to the bigger question: why isn't this post a concept post? The answer is twofold: one, I am simply not feeling it right now. I spent a lot of today reading a lot of stuff, and after a while even productivity hits its limits. But the bigger reason is the second one: on Concept 8 (Insertion in AVL Trees), I have spent about 3 whole days writing it, and it is still not complete. That post is scaring me now. More than anything, I recently remembered that I have actually never tested/implemented the algorithm into actual working code. This has put me into a sort of authenticity crisis: am I qualified enough to be writing this post? Sure, I know the concepts, but is that enough? Embittered with this thought, I proceeded to try and code this in Python, when I realized that a direct Python implementation would be simply unreadable, defeating the entire purpose and making that code unfit for public consumption. So I decided to use object-oriented Python code. But then I realized that it has been a couple of years since I actually wrote OOP Python code. So I proceeded to learn OOP Python code, which brings me to the present moment (I just finished the basic concepts about 10 minutes before starting this post). Basically I am distracted easily: you can see how my brain works (or doesn't). All this while the post itself sits unfinished, and since I started penning that a month ago, I now have to read it again because I have forgotten what I wrote.

Anyhoo, the post should (hopefully, Flying Spaghetti Monster willing) be ready by tomorrow (afternoon? evening? night? I dunno). With this post, I am also recommencing regular concept posts. I have tons to write here and tell you guys.

You see, all that while was not wasted, really. Even though productivity is difficult to manage at home, I managed to read a fair bit and learn a lot of new stuff that is incredibly useful, so I guess you can say that there's a good period of activity to come up on this blog. The downshot was that I have actually coded very little (close to nothing) for a long time, and I am looking forward to getting back into the coding scenario.

What have I read, you ask? Well, among things, I read quite a bit about coding "best practices" and about writing efficient, highly readable, highly debuggable code that scale well in collaboration with a larger number of developers. The book that I read is called Code Complete 2 by Steve McConnell.


This guy.

Full disclosure: I pirated this book. However, this book is actually way too good for anyone to do anything as cheap as that. In fact, to repent for my sins, I'm gonna buy two print copies of this book, but with my own cash. You see, currently I am a student, and I'm living off the meager amounts my parents send me, so I can't really choose to buy the book (which costs $33, which is 2071.44 Indian Rupees, which is a very big deal here). But seriously, this book put me off my own code. It's pretty much an eye-opener onto stuff that should really be the first things you think about when you want to code something, but usually end up entirely being ignored, which then ends up being a developmental/debugging nightmare. My own code looks like horseshit after reading this. I highly recommend everyone, I mean everyone, who has ever given a thought to software development, to go out and read this book first. Don't write any code till you feel you have learnt something from it.

So anyway, long story short, I'm back, and I have new stuff I wanna share with everybody. So if that's cool then we can proceed to the usual concept discussions ASAP. Also, occasionally I'm gonna chip in some of my own thoughts which don't have much to do with CS per se, like this post. You can filter out these posts: I will be tagging all of them with either "thoughts" or "rambling" or both.

Meanwhile, keep learning and stay sharp.

Ciao.

Written with StackEdit.

Wednesday, 3 December 2014

Test Post with StackEdit: Please ignore

I’m just trying the Markdown formatting. Please ignore this post.

Hi 1

Hi 2

Hi 3

Google

b i wow_great_stuff

Mistake Mistake

Written with StackEdit.

Thursday, 27 November 2014

A Resolution

So I've been doing some thinking...

My 19th birthday arrived on the 16th of this month. I didn't really celebrate or anything, for good reasons. My 3rd semester examinations were coming up on the 19th of the same month (there were 3 days to go) and so I was kinda trying to catch up on all the stuff I had yet to study, which was pretty much all of it. So the day went by (I didn't really manage much, but meh) and I did nothing birthday-ish. But I got thinking, I've got a shit-ton of stuff left to study. Plus, the whole semester, I had done pretty much nothing of which I had thought I would learn, so all in all it was not much of a productive semester.

And I intended to change that. So, from this day on (my exams ended yesterday), I propose a resolution, so hear me out:

Every single day, I am going to learn ONE new concept relating to Computer Science.

That's it. Every day, one concept. Sounds simple? Now according to me, one concept is whatever I feel like. It's gonna be something modular, something complete in itself. For example, I could learn Insertion in Red-Black Trees as a concept. I could learn Fundamentals of Dynamic Programming as a concept. I could learn something large and complex, or I could learn something small and simple. The only thing is, whatever I learn, it will satisfy my need to learn for that day, and it will allow me to sleep with a sense of accomplishment :D

Also, a small add-on to that resolution:

Every thing I learn, I am gonna blog right here.

Yep, you heard that right. I am finally gonna stick to the title of this blog, and try to act like a Programmer In Training, so Imma go out there, and punch some keys on ma keyboard (which is KICK-ASS, by the way; I'd recommend it to all those living in India), and Imma get ma lazy ass to get shit done, 'cuz this blog ain't updated in a long-ass time.

First few posts are gonna come up today containing all the good stuff I've learnt this semester. So God help me if there are less than 365 posts here by the end of one year, because I'm gonna do what it takes to start sharing again. I realize that I am kinda dormant when it comes to sharing things, and I see why that should not be the case. After all, the more I share, the more I gain.

PS: Because my interests in computers, algorithms and programming are varied, and because I get bored as shit easily, posts are NOT necessarily gonna be sequential. However, I will try to make your life easier by tagging posts and appropriately naming titles so that you can use that little search bar to the fullest and find what you are looking for.

Aaand PEACE!