What would it be like to travel at the speed of light?
Imagine an infinitely long flat runway. You are running through it. At the speed of light. Let’s ignore the effects of relativity and resistance. The visible spectrum is painted on the runway, all the way from the start to the finish, meaning there’s infinitely many shades of all the 7 colors of the rainbow painted on the runway, each one easily distinguishable from the next. Yes, we are also assuming this is possible. An infinite number of trees are planted along the edges of the runway.
The speed of light is 300 000 000 m/s. Which means that any objects at a distance of 300 000 000 m from you will only be visible for a second after which you’d already have passed them. Any objects along your path relatively closer to you than the refresh-rate of your brain or your eyes or both, will not be perceptible.
Read Full PostMen In Black 2 – The locker and the marble
In Men In Black, we see J and K chasing down Edgar The Bug to recover the “Arquillian Galaxy” which is a minuscle galaxy inside a glass sphere resembling a marble. As the movie ends, the camera zooms out from J’s car and keeps zooming out and eventually we zoom out of the earth, the solar system and finally the galaxy which is revealed to be inside another glass sphere which is then picked up by some giant being and used as a playing marble alongside countless others.
In Men In Black 2, we are introduced the the C18 locker aliens, who are tiny creatures, about a few centimeters in height that live inside a locker in NYC. This was slightly different from the Arquillian Galaxy in that the beings were far bigger and their “colony” resembled a fair-sized city. Their origin is unexplained but it is safe to assume that they weren’t always there and were relocated and perhaps recolonized at some point in time prior to the events of the movie. At the end of the movie, J insists on showing telling them that there’s more to the universe than just the inside of a locker at which K proceeds to open a mysterious black door that says “Do Not Open.” As we zoom out of J, K and Frank standing in the doorway, we see a whole array of giant lockers inside a giant station and giant humanoid aliens walking around in it, which basically was meant to show that the humans themselves are living inside a giant locker.
Now what does it all mean together? Do we live inside the locker or the marble or both? Considering both concepts were boldly put forward by the movies themselves and assuming that they haven’t made any continuity errors, it is relatively safe to say that we are inside both. When we zoom out of the locker, we can still clearly see Jay and K and Frank standing in the doorway of the locker and they are scarcely smaller than the locker itself. This suggests that the locker doors are not containers but mere portals to worlds whereas the giant station is kind of an intermediary “world between worlds” just like the forest with pools from Narnia. This portal could be located in virtually any of the planets or worlds or galaxies shown or mentioned anywhere in the trilogy or it could be an extra dimensional thing that manifests itself as a station with lockers to 3D beings.
Building upon the fact that the lockers are portals, we can assume that each portal leads to a separate galaxy considering how all galaxies are supposed to be packed inside marbles and therefore don’t really allow the inhabitants to just fly out of them.
Angular vs React vs Vue.JS
This is the shortest and most effective comparison that aims to make the decision making process easier.
Angular:
Pros:
- The oldest and therefore very mature.
- A complete framework in itself and ideal for large projects.
- The MEAN stack remains, to date, one of the most popular stacks for web-development so finding jobs is never tough for Angular developers.
- With NativeScript, you can use it to develop smartphone apps.
Cons:
- If you don’t know, don’t like or don’t want to learn TypeScript, I would suggest staying away from it because the current releases are TypeScript based.
- Packed with features, it’s a huge framework and therefore takes a fair amount of time to learn and master.
React:
Pros:
- Been around for a fair amount of time and therefore can be said to be just as mature as Angular.
- Smaller than Angular and therefore easier to learn.
- Just as popular, if not more, and therefore has a well-developed community.
- Just as many jobs out there for it as for Angular.
- React Native allows for it to be used to make Android apps.
Cons:
- You will have to learn JSX. Basically the idea is that in ReactJS, you try to maximize your use of JS and minimize your use of HTML. JSX kinda merges both. Obviously this adds to the learning curve.
- Not a complete framework. React Developers almost always use Redux or some other flux implementation for state management. Code often becomes a real mess with large projects.
Vue.JS:
Pros:
- Has just as many features as React, if not more.
- Small enough for you to be able to learn it in a single day.
- Great for small projects.
- Gaining popularity real quick.
- Resembles the original Angular.JS so if you are familiar with it, you’d love Vue.
- Unlike React, with Vue, the goal is to maximize the use of HTML and minimize the use of JS.
- Although not a complete framework, it comes with it’s own router and flux implementation, that, although independent projects, offer seamless integration with Vue itself.
Cons:
- Relatively new and therefore has a small community and fewer jobs are available.
- NativeScript has a plugin for Vue support but it not supposed to be ready for development yet. Although, it seemed pretty functional when I tried it.
Complimenting Complements
This post assumes familiarity with “Two’s Complement”, “One’s Complement” and an understanding of “Positional Numeral Systems”.
Why is the Two’s Complement called the Two’s Complement?
Ever wondered why the two’s complement and the one’s complement are named as such? We were told that to calculate the two’s complement of a number, you add 1 to its one’s complement. But why? When calculating the one’s complement, we simply subtract every digit from 1, so why don’t we subtract every digit from 2 in two’s complement? And maybe, you tried to reason with yourself about how there’s no “2” in the binary system and so that mehtod would not work anyway. There is however a much better way to understand and explain it. To understand this, you need to understand the difference between the radix complement and the diminished radix complement.
According to wiktionary:
- The radix complement is the number which, when added to an n-digit number in radix-r, results in r^n. An alternative way of looking at it is that it is the smallest possible (n-1)-digit number in radix-r. The radix complement for radix-r is called r’s complement. We get it by adding 1 to the diminished radix complement.
- The diminished radix complement is the number which, when added to an n-digit number in radix-r results in r^n -1. An alternative way of looking at is is that it is the largest possible n-digit number in radix-r. The diminished radix complement for radix-r is called (r-1)’s complement. We get it by subtracting every digit from (r-1)
Sybill Trelawney
Sybill Trelawney, the Divination teacher at Hogwarts, was poorly received by her fellow staff, her students and the fans of her universe for reasons that all translate to “She was a fraud. She wasn’t a true seer and therefore not an eligible candidate for the job.” I however have always had a very different opinion about her. I believe that not only was she not a fraud but also a perfect candidate for the job, not to mention the fact that she did actually possess a gift.
We know that she was the great-granddaughter of some celebrated seer named “Cassandra Trelawney” and that Dumbledore went to meet her at the “Hog’s Head” and that no sooner than he met her, he realized that she didn’t possess her great-grandmother’s gift. Then she went into a trance and made the prophecy about Harry defeating The Dark Lord, and Dumbledore decided to hire her because he could tell that she was gonna make more of these prophecies and wanted her to be close to himself when that happened.
Read Full PostThe Final Sentence
I’ve been reading books, more than I’ve been reading lately, lately. Very often, I read them onscreen. A while back, I was starting with H.G. Wells’ “The Time Machine” and the PDF I found had about somewhere slightly above a hundred pages in it and it made me wonder if that was actually the whole book and not a truncated version and so I googled for the last sentence of the book to see if it matched the one in the PDF.
I ended up finding this tumblr blog called “The Final Sentence” that exists solely to serve as an archive of the final sentences of all books. I think it’s pretty cool actually and every once in a while, it makes me feel better about a crappy PDF.
Rewriting Legacy Code
I once wrote an answer on Quora about the improbability of a programming language to completely die out once it has gained popularity. The idea, not so original, was that there are two factors preventing a language from dying:
- A significant amount of code is written in it and a significant amount of people or other code depend strongly on it. An example is Linux. Now Linux has always been C and always will be. As long as Linux exists, it would be impossible for C to die out.
- Everyone knows about it. The problem with a programming language being popular enough for it’s existence to be common knowledge is that there will always be people who’ll be fond of it and would want it to never die out. The best example would be Richard Eng, the smalltalk evangelist who has grown more popular than the language itself and likes to call himself Mr. Smalltalk.
This post is about the first reason. C, PHP and JavaScript are three of the most popular and most hated languages that are getting closer and closer to being about as old as time itself. For my own reasons, I both like and dislike the 3 and also rely a lot on them. Let’s assume everyone agrees to killing all 3 of them. Now the problem is that C is:
- The language Linux is written in.
- The language most programmers start with. (Often this is because universities prefer to teach it in the earlier semesters.)
- More or less the only mature language that has the least amount of abstraction that one could ask for except for C++, which is a mess and an offspring of C itself and therefore not worth talking about in this post.
Comparing strings with “==” operator vs “.equals” method [Java]
During lunch, I was reflecting on that day when my programming teacher asked me to come forward and teach “bitwise” operations to the whole class, and I remembered how, in my attempt to explain to them the basic difference between a regular “OR” and a bitwise “OR”, I had talked about value comparison being different from a bitwise comparison. Then I began to wonder. A bitwise operation on machine level is fairly simple to understand, but what about value comparison? What is it that happens at machine level when you check if two integer values are equal?
As I began my search for the answer, I pinged Vladislav Zorov, my mentor and friend, and asked him. He said that compilers mostly just subtract the memory addresses of the two objects being compared and returns true if the difference is zero i.e. if they are literally the same object. I couldn’t agree with this so I argued against it. I said that it is possible for two variables to point to identical objects without pointing to the same object and so I set out to prove it.
I wrote a very simple program:
Read Full PostMessing around in the Pottermore group
I’ve been part of this Pottermore fb group, for a long now, that’s primarily dominated by Indians. The average member of that group is a fairly intellectual fan-girl with a lot of emotion. Now the thing about that emotion is that it shows the most when someone challenges your belief about the characters by lashing at the ones you love and praising the ones you hate.
A while ago, under a post about Ron, this girl posted the following comment:
Because she was known for being a Ron fangirl, people mostly found this funny and therefore refrained from starting a comment war below it. I however thought it would be funny to write a post about how Ron was a dumbass and include this screenshot to back my statements. I wrote:
Just another one of those things that need to be said. I don’t care if you don’t like it. It is true. Ron was a dumbass who stuck around Harry because he wanted attention. Also, he only slowed them down.
P.S. James Potter was an asshole and deserved far worse than he got.
And I turned off commenting.
Read Full Post