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.
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.
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.
I’m involved in Mozilla for a few days now. So, I’m just gonna talk about my experience today…
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!
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…
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).
Disclaimer: This article is contributed to Microsoft Windows (XP, Vista, 7 & 8) only. And, I’m pretty sure that this will definitely be boring for computer geeks…
What are attributes?
Before we start, let’s get into the terminology of attributes, which is nothing but some parameter which defines the properties of an object. One or more attributes can be assigned to a single object at a time. What’s needed for us now is the File Attribute. In addition to the metadata such as “date created” (which you may have seen when you’re hovering your mouse), four other basic properties (attributes) can be assigned to a file or folder such as Read Only, Hidden, System and Archive. Looks very simple indeed, it’s very important for our dirty activity now.