Confidence interval is a concept in statistics that is used extensively in many diverse areas like physics, chemistry, computer vision, machine learning, genetics, etc. This concept is so fundamental that any modern science would eventually end up using it. Let’s say you have collected some data and you want to understand the behavior of that data. For example, you can say that the data is centered around some value or that the data is distributed with a certain amount of variance. This is very common in many fields where you have estimate the underlying parameters that govern the data distribution. When you estimate a statistical parameter from some data, you can’t be certain about its true value. If you have a lot of high-quality data, then you’re more confident that your estimate is near its true value. But if you don’t have a lot of data, or if it’s of poor quality, then you don’t have much confidence in it. So how do we deal with these situations? Can we measure this uncertainty? Continue reading “What Are Confidence Intervals?”
Quantum Encryption And Black Holes – Part 2/2
In the previous post, we discussed about the concepts of quantum encryption and black holes. We also talked about how we do cryptography in the subatomic world. This blog post is a continuation of that discussion. As the title suggests, the overarching theme is the relationship between quantum encryption and black holes. Let’s continue talking about it then. Although quantum encryption looks extremely robust in theory, how practical is it? What do we know about its security and how is it related to black holes? We know that nothing can escape from black holes, so we need a way to understand more about the black holes. Continue reading “Quantum Encryption And Black Holes – Part 2/2”
Quantum Encryption And Black Holes – Part 1/2
Is that really the title? It looks like two random things mashed up together. Doesn’t make much sense, right? Well, recent research suggests that quantum encryption and black holes may be related. A proposed mathematical proof outlines the way in which information behaves in coded messages, and this may have implications for black holes. The proof basically suggests that the radiation spit out by black holes may retain information about them. The research not only focuses on encoding communications in quantum mechanical systems, but also addresses a long-standing question for theoretical physicists: What exactly happens to all the stuff that falls into a black hole? Is it possible to retrieve any information about the black hole? Continue reading “Quantum Encryption And Black Holes – Part 1/2”
What Are P-Values?
Let’s say you are a part of the sub-atomic physics team and you are working on discovering an important effect. The thing about sub-atomic physics is that nothing is certain and you cannot say something has happened with 100% certainty. The best we can do is to say that we are x-percent sure that something interesting happened. One fine day, you see some pattern in your data which looks pretty much like what that effect would look like. Now the problem is, your experiment produced data with a lot of noise. People are therefore skeptical of you, and think that the supposed “effect” you claimed to see might just have been a funny pattern in some random noise. How would you convince them that it’s not? Before that, how do you convince yourself that it’s not just noise? A good strategy for arguing your point would be to say, “Alright listen, suppose you’re right, and the patterns in my data really are in fact just from random noise, then how would you explain the fact that random noise very rarely produces patterns like this?”. Pretty good strategy right? Now how do we formulate this mathematically? Continue reading “What Are P-Values?”
Programming Paradigms: Object Oriented vs Data Oriented
Over the last couple of decades, different programming paradigms have emerged in an attempt to make software better. Different situations demand different requirements, so it wouldn’t be fair to say that one paradigm is better than the other. Whenever you want to create a software system, you usually write code that attempts to fulfill most of the requirements. Now the difference between these paradigms is the way in which you write your code. On one end of the spectrum, we have object oriented programming. The world revolves around pieces of data here and functionalities are attached to them. On the other end of the spectrum, we have data oriented programming. In this paradigm, everything is just data. How does that work? What exactly is this spectrum and how do we understand it? Continue reading “Programming Paradigms: Object Oriented vs Data Oriented”
Histogram Equalization Of RGB Images
When you capture an image using your phone in the evening without flash, do you see how the image is a bit on the darker side? When you take an image with too many lights around you, the images becomes a bit too bright. Neither of the two situations gives us a good quality picture. The human eye likes contrast in images. What it means it that the bright regions should be really bright and the dark regions should be really dark. Almost all the apps and services you use today include this functionality, at least the good ones do. So how do we take one of these dark (or bright) images and improve its quality? Continue reading “Histogram Equalization Of RGB Images”
Adding Hacker News Button To Your WordPress Blog
Every blogger writing about technology or any related field knows how important Hacker News is for promoting good articles. If your article reaches the front page there, it will have a stronger effect as compared to more general sharing sites like Reddit, Digg and StumbleUpon. Hacker News junta is more tech-oriented, and so their opinion would be more valuable. If you have hosted your blog on WordPress.com, you know that it provides very nice features for sharing on different sites. Unfortunately, Hacker News sharing is not supported by WordPress.com. Luckily, we have an option to add custom sharing button, that makes it really easy to create a custom button yourself. Here’s how you do it: Continue reading “Adding Hacker News Button To Your WordPress Blog”
Quantum Computing And Machine Learning
Quantum Computing refers to the use of quantum mechanical phenomena to make computations. This field is making big strides in the last decade because it can actually help us solve some of the most challenging problems in the realm of computer science, particularly in machine learning and security. Machine learning is all about building better models of the world to make more accurate predictions and security is about safeguarding the things we have built. For example, if we want the machines to see things better, we need better models of how we process visual data. If we want to understand currency fluctuations, we need better models of how they change over time. If we want to create effective environmental policies, we need better models of what’s happening to our climate. So how can we use quantum computing to do these things? Continue reading “Quantum Computing And Machine Learning”
DNS Cache Poisoning
Internet entities are regularly affected by Distributed Denial of Service (DDoS) of various scales. This is basically a way to hack into an entity and stop it from working. Hackers use it all the time to bring down famous sites. They tend to attack the domain name system (DNS), since it allows to infiltrate heavily. Now what is a domain name system? Well, a domain name system server basically translates a human readable domain name (such as mysite.com) into a numerical IP address. This numerical IP address is is used to route communications between nodes on the network. For people who didn’t already know, this is how the internet works! Coming back to the hacking part, the attackers like to attack their victims by poisoning the DNS. Wait a minute, how do you “poison” a system? How do they actually attack the users? Continue reading “DNS Cache Poisoning”
How To Trigger A Segue Programmatically In iOS
You have your storyboard ready and you have created the necessary segues. Great! Now how do we trigger these segues programmatically? There are many different ways to do it. One of the nicer ways to do this is by connecting two scenes in a storyboard using a segue that is not attached to an action. After that, you can programmatically trigger the segue inside your view controller. The way you do this is by control-dragging from the file owner icon at the bottom of the storyboard scene to the destination scene. Continue reading “How To Trigger A Segue Programmatically In iOS”