Category Archives: Computing

Got into a hackathon! (for the first time!)

Last year, when I was a newbie coder (I still am, but for now, let’s just say relatively), I tried to get into a hackathon (conducted by “savethehacker“), and I screwed it up. Looking back at those days, I feel like I was quite stupid back then. I had no idea about app-development. Despite of that, I tried climbing something big, without even knowing that I’m gonna fall sometime soon. And, I did. I wasn’t selected. I got a reply after the deadline, that my app couldn’t compete with those 30 teams that got selected.

Hackathon is idea-centric!

Honestly, getting an idea and describing it to the organizers is the most difficult part. Because, that’s what’s gonna get you inside any hackathon! (and yeah, it applies to all hackathons). The organizers should feel confident about you, that your app is worthy to get part in their hackathon. This, I figured out later that year. So, idea matters! Once you get it, you’re only a few days away from winning. And, if you don’t win, it’s certain that you screwed up somewhere. Now, getting back to my story…

One fine day, during my semester exams (last month), I got an invitation mail from the same fellas, saying that they’ve come back with a much larger hackathon this time, where up to a 100 teams have the chance to get selected. I gotta do something, right? The problem is that I’m quite slow. I don’t get an idea whenever I needed one. I just think of the situation once, and it pops sometime later (sometimes, even after a few days, but it definitely pops!). So, I “not getting an idea” was an obsession for a while.

Continue reading


Breaking the Vigenère cipher…

Whenever I encounter a problem that interests me, I get some kinda obsession to solve it. Happens all the time! And this time, it was in a course on “Cryptography” (in Coursera). Well, it’s been an year since I pursued online courses, because I’m simply more occupied by my own works, and I also got bored of those submissions, deadlines, quizzes, etc.

One fine day, I got a mail advertising this course, which got me curious. I wanna know how it’s gonna be. After all, cryptography is the one that got me into some serious programming in Python & Javascript (about a year ago). Anyways, there was this problem, where we’re expected to decipher a “ciphertext” encrypted using a variant of the Vigenère cipher. I got interested as soon as I saw that…

Even though they expect people to solve the problem in C/C++, I (being a Pythonist) decided to get it done with Python! The Vigenère cipher is nothing but a major update to the Caesar cipher. I presume you already know about the Caesar cipher has a keyspace of “1” – just a number to say how much to shift all the characters (so, anyone with a pen & paper can crack it, as it contains only 26 possibilities), but Vigenère extended it, giving additional security.

Continue reading

Squashing my first bug at Mozilla!

I’m involved in Mozilla for a few days now. So, I’m just gonna talk about my experience today…

I presume you know that I’ve paused my contribution to Stack Exchange for a while, partially because (well, frankly) I got bored, and because I needed time to learn some new stuff. Later on, I was much more involved in coding, as Python & Javascript have caught my attention very well. Assignments, problems, lab works, project works, I use both of them all the time. Soon, I got bored! (again!) I wanted something new (which happens all the time!)…

How did it start?

I remembered Manish’s advertising about Mozilla sometime ago (well, if you’re also planning to get involved, then I suggest his post, which nails down the whole thing precisely, because this is just my experience with the community). When I had a chat with him, he said these exact words, “Mozilla is the most welcoming community I’ve ever seen!”. So, I joined Mozilla, by which I mean I signed up for Bugzilla & Mozillians which are pretty much enough for the start. I later realized that the former is for actually doing stuff, while the latter is for showing it off!

Continue reading

Encoding multimedia into text!

Yesterday, I got to see a nice photograph of the (controversial) ball lightning. So, I immediately liked the photograph and felt like I should download it. Well, it’s not directly downloadable, especially when the author has asked flickr to disable the option for his/her download.

In flickr, in order to protect the image content, they put a wrapper around the images which shields the image from your easy <dragging-to-desktop> action. Right-click options won’t recognize the image because you’re not on the image! You can think of it like this, whenever you try to “interact” with the image, you’re always a few layers above the image itself, that your browser can’t detect it! (in this way)

But, there’s always a workaround. Before that, let me tell you something. There’s simply no difference between browsing & downloading in the internet (technically). Because, whenever you view something (say, this photograph), you’re already seeing the downloaded copy of the file. This is done by your browser. That’s why it needs the cache. If you can see something, then you can download it. No one could stop you from downloading it because, in order to view it, you have to download it!

Okay, now back to the topic…

Continue reading

Just how beautiful is the idea of encryption?

I feel kinda unlucky over the past two months. Diluted dialup, relocation, exams, I was constrained. Well, that explains why I wasn’t active for a while. Even after this disaster, this “brain” just can’t give up screwing the computer.

I assaulted Python in those days. I was coding. If you haven’t got into Python, trust me. You should get started. It’s a stunning pseudocode-like high level language. That means, you can take any Python code, and start reading. It’s that easy! On the other hand, it’s powerful. It can do a great deal of things that goes beyond storytelling…

Okay, the subject I got interested in lately, was encryption. In the gigantic universe of computing, there’s a galaxy called cryptography. What the species lying there do, is what we’re going to talk about today.

What if I tell you that encryption lies all around us geeks? What if it’s been protecting your money, reputation, status in this computing universe all the time? From money transfers to online payments, from GMail to Facebook, from the boring WiFi routers in your college, to NSA’s top-level secret information, everything uses encryption!!!

Continue reading

A language that shall not be named!!!

2013 has gone just like that. So, I thought I could post something before it leaves us forever. I’ve chosen “Brainfuck” for our today’s discussion. This language is something I’ve always wanted to write in my blog…

It’s an esoteric programming language, and if you have some idea on programming, it’s probably the easiest one I’ve ever seen. Because, it’s got only eight commands < > + – , . [ ]. As it’s esoteric in nature, it can’t be used for our regular programming purposes. But, it can always be used to convey some information like, output a simple “Hello world!” program, or say, throw Fibonacci numbers.

And, I meant “easiest” in the sense, that it’s the easiest to write. If you take understanding the program into account, life is really tough. Because, a brainfuck code is very difficult to visualize, being constructed entirely with eight symbols (and visualized only by using ASCII character encoding).

Continue reading

What’s so special about BitTorrent?

If you’re really addicted to the Internet, you should’ve definitely used torrents (especially BitTorrent). Let’s jump into it. Wait, Wait… I don’t wanna explain the whole thing, and I won’t..!!! That’s not really the point of my blog posts. What I really wanna do, is make things much simpler (just following the Occam’s Razor, like I’ve told you before) so that even a layman can understand (that’s our motto).

Wherever you go around and search for the magical mystery behind this “thing”, you’ll come across the introductory definition, that BitTorrent is a peer-to-peer (P2P) file-sharing protocol. Say what, the project site itself is a good place to start, as people say. µTorrent, BitTorrent, etc. are a few examples of the clients that use this BitTorrent protocol (precisely, it’ the software you use). Next stop, File sharing…

To help us analogy-fy, let’s introduce the characters in play Amy, Bob, John & Robert. Now, let’s say that Amy has a chocolate. Not quite… We’re discussing tech stuff. So, let’s smooth out this discussion by using upload, download and transfer rates. I can’t give up chocolates, and so I’ll include both. Amy has a file which the other people like to download. She can also have chocolates for my desire.

Continue reading

%d bloggers like this: