Escaping Echochambers
The echochamber effect is a worrisome issue in social media. It risks isolating users in exclusive groups as they repeatedly subscribe to content that reinforces their biases. To keep users engaged, websites expose users to content similar to their history. You will get recommendations for movies you may like, or peoply you may befriend, or communities you may join - all based on some measure of similarity with your profile.
Trials and Tribulations of Maintaining a Hugo Blog
As of the writing of this post, I maintain this site using my very own theme created in hugo. Hugo is a static site generator. It takes a bunch of plain text, applies a theme, and renders it as HTML. This is opposed to applications like Wordpress that assemble a page each time its served, to put it simply. This compute once, use many times approach saves on processing time and makes a site more portable.
Algorithms: Balancing
Balancing in algorithms refers to minimizing the complexity of an algorithm by making sure that its constituent parts share the load efficiently. It is not a technique for solving problems. Instead it helps us understand how an existing solution may be optimized.
The theory of balancing Say there is a problem of size \(n\). The problem is such that it can be broken down into a sequence of smaller problems. There are many ways the problem can be broken down:
Optimizing static sites with hugo
According to httparchive the average size of a web page in 2016 was around 2.5MB. Now this may not seem a lot in this age where the internet is the primary media delivery platform - but it is worth noting that most web pages serve text as their primary content. Looking at the report sheds light on what constitutes an average web page:
The HTML content takes up around 50-60kB. Images, understandably, make up the biggest chunk with ~1.
Is cold the new hot?
Note: This article was originally published on astroibrahim on April 17, 2013.
Yes.
A few days back, a friend shared an article with me. It talked of how scientists had managed to achieve temperatures below absolute zero. Does it mean that temperature has to be redefined? Has our understanding of thermodynamics been flawed for the past hundred years. No, it turns out. It is all a matter of semantics.
Absolute Zero.
Gravitational Slingshots
Note: This article was originally published on astroibrahim on Apr 10, 2013.
I always wondered why doesn’t the sun slow space probes down when they are leaving the Earth for outer planets. Isn’t there a risk that the probe might change its trajectory and fall into the sun? There is. You see, the more distant the space probe gets from the Sun, the more potential energy it gains. However, energy must be conserved at all costs.
Testing code with sensitive data
I recently renewed work on my first ever github project. Over the course of a whole year when that project was dormant, I’d learned some new tricks. I now try to focus on writing tests for my projects. It is immensely convenient when I add features here and there and need to check the whole code for errors.
Anyways, my project requires API keys to imgur.com. However I do not want to hard-code them into my test.py file. But I also do not want to manually provide keys every time I run tests. So what do I do?
A case study in choosing algorithms
This past year, I have been crunching data from dark matter simulations. Data size can get pretty large when it comes to scientific computing. As I write this post, I have a script running on 3.8 TB (that’s right – 3,700 gigabytes) of cosmic particles. At these levels one starts thinking about parallelizing computations. And therein lay my dilemma and a soon to be learned lesson.
Markov Chains – Random Text Generation
This semester I am taking a course in High Performance Computing where I get to work with multi-core systems like computing clusters and graphics cards. For my final project I decided to develop a random text generator and see if I could speed it up.
A popular method of generating random text (that is grammatically correct) is using Markov chains.
Starting Android Development
I have always been fascinated with mobile app development. Over the last couple of years in college, I made a few attempts to get started with Android applications. I watched tutorial series, reading blogs, attending introductory workshops. Nope. Nothing seemed to stick. What was wrong?
Developing with C/C++ on console
I am taking a High Performance Computing course this semester. For that we have to ssh into the university’s computing cluster. The interface is entirely console based. Now that might seem awesome at first: typing away commands like a “hacker”. And it is awesome. But after a while it gets tiring, particularly when I am writing code.