Sunday, December 31, 2023

Gravitational lensing by an LLM

 A nice short article on gravitational lensing written by an LLM:

Title: Exploring the Cosmic Mirages: Gravitational Lensing


In the vast expanse of the universe, where light and matter dance together in the cosmic ballet, there exists a phenomenon that has captivated astronomers and astrophysicists for decades: gravitational lensing. This mesmerizing effect, first predicted by Albert Einstein in his theory of general relativity, has revolutionized our understanding of the cosmos and unveiled hidden secrets about distant galaxies and the nature of gravity itself.

The Essence of Gravitational Lensing

Gravitational lensing is a consequence of Einstein's theory of general relativity, which describes how massive objects warp the fabric of spacetime around them. When light from a distant object passes close to a massive celestial body, such as a galaxy or a black hole, the gravitational field of the massive object bends the path of the light, creating a lens-like effect. This phenomenon allows us to see multiple images of a single distant object, creating captivating cosmic mirages.

Types of Gravitational Lensing

There are several types of gravitational lensing, each offering unique insights into the universe:

1. Strong Lensing: In strong lensing, the gravitational field of a massive object is so strong that it distorts and magnifies the background object into multiple distinct images. This effect often results in the formation of strikingly beautiful, concentric rings known as Einstein rings or gravitational arcs.

2. Weak Lensing: Weak lensing occurs when the gravitational field is not strong enough to produce multiple images but instead slightly distorts the shape of the background object. By studying these subtle distortions, astronomers can map the distribution of dark matter and measure the mass of galaxy clusters, shedding light on the mysterious dark side of the universe.

3. Microlensing: Microlensing involves smaller, less massive objects acting as gravitational lenses. This phenomenon has been instrumental in the discovery of exoplanets by detecting the brief brightening of a background star when an exoplanet passes in front of it.

Applications and Discoveries

Gravitational lensing has become an indispensable tool in modern astrophysics. Some of its notable applications and discoveries include:

1. Dark Matter Mapping: By studying the weak gravitational lensing effects on background galaxies, astronomers have mapped the distribution of dark matter in galaxy clusters, revealing the invisible scaffolding that shapes the cosmos.

2. Cosmic Magnifying Glass: Strong gravitational lensing can magnify distant galaxies, allowing astronomers to observe objects that would otherwise be too faint to detect. This technique has led to the discovery of some of the most distant galaxies known to science.

3. Measuring Cosmic Expansion: Gravitational lensing can also help measure the Hubble constant, a fundamental parameter describing the rate of cosmic expansion. This has important implications for our understanding of the age and fate of the universe.


Gravitational lensing is a remarkable phenomenon that has opened a new window into the cosmos. It allows us to peer into the depths of space and time, revealing hidden galaxies, dark matter, and the true nature of gravity. As our understanding of gravitational lensing continues to deepen, we can look forward to even more astonishing discoveries that will reshape our understanding of the universe and our place within it. This cosmic mirage reminds us that the universe is full of wonders, waiting to be unveiled by the curious eyes of science.

Wednesday, April 19, 2023

Anycast IP addresses and their use in DNS servers

What are Anycast IP addresses?
Multiple servers having the same IP addresses. The routers pick the closest server with the least BGP hops.

How are Anycast IP addresses implemented?
Anycast is simply that the same network is advertised from multiple places. A router receiving multiple advertisements for the same network will choose which advertisement to place in its routing table based on the metrics of the routing protocol. This results in the closest (from the perspective of the routing protocol metrics) destination being used by a router.

Why use Anycast IP addresses for DNS servers?
Excerpt from [1]:
With Unicast, DNS client resolvers can be configured with multiple DNS name server targets. In the event the resolver doesn't receive any response from the first server on the list, it will typically wait a time out value, before it switches to the second server (and subsequent servers) in the resolver list. The next time the resolver has to perform a look up, it won't "remember" servers in the list were non-responsive, and it will start querying with the first server in the list even though it is still unavailable.  Depending on the operating system of the client, it could be one to five seconds as it rotates through the resolver list each time, attempting the failed server.  

With anycast DNS IP addresses, this delay is eliminated and handled by the routing protocol.


Friday, March 17, 2023

Difference between ramdisk (e.g. initramfs) and loopback device filesystem

My interpretation. Both are types of virtual ramdisks. 
  • Ramdisk uses memory (non-swappable) as a virtual device, while a loopback device uses a file (IF=input_file) as the input. dd if=file_name > of=/dev/loop, then we mount -o loop /dev/loop /mnt
  • The loopback filesystem associates a file on another filesystem as a complete device. For Ramdisks, the device does not refer to any physical hardware, but to a portion of memory that is set aside for the purpose.
  • Loopback vs Ramdisks. During boot - The initial ramdisk device in Linux is another important mechanism that we need to be able to use a loopback device as a the root filesystem.
  • Using Losetup script in Linux to create a disk image.
    • Create an empty image, use losetup to associate that with a loopback device that is not in use (check losetup -a), mkfs to create a file system, mount to /mnt, copy desired files to /mnt, umount /mnt, losetup -d to detach the loopback device from the file.

Friday, February 3, 2023

Which one to use - SHA256sum vs md5sum

  • Both algorithms SHA256sum and md5sum generate a hash. 
  • md5sum generates 128bit hash vs 256 bit hash for sha256sum. In theory, that can reduce hash collisions i.e. two different files/entities being hashed generating the same hash value.
  • Which algorithm to use depends on the use case i.e. the entity/ file being hashed. We want to pick something that does not result in a hash collision.
  • For most cases, 132bit hash sum is more than good enough for supporting a large number of unique items with very low probability of collision [2]. e.g. with a 160bit hash with 2* 10^20 unique entities, the odds of collision are 1 in 100million which is great for most purposes.
  • Considering the limited number of unique objects of a particular type being compared, for most cases a 32bit hash sum suffices.
label: programming, utilities, linux, artifact comparison, SHA256sum vs md5sum, CRC32

[1] md5sum vs sha256sum - Good discussion, but I do not agree with the hash collision discussion here.
[2] Hash collision probabilities  - Nice algorithm for computing probability of hash collision.

Thursday, February 2, 2023

Comparison between unix sockets and TCP/IP sockets

Netlink sockets are the way entities communicate to each other.
  • Address: Unix domain sockets do not need a IP address + port number, TCP/IP sockets do. 
  • Reach: Unix sockets are local to that machine, while TCP/IP sockets need not be.
  • Speed: Unix sockets are faster since they do not go through the TCP/IP stack which ends up being faster.
  • Types: TCP/IP sockets are of the type streaming, datagram, or Raw. There are no further types of Unix sockets.
  • Application: Unix sockets are used for inter process communication on the same system. They behave like system pipes. TCP/IP sockets have a wide range of applications e.g. Telnet.
  • Scope control: Unix domain sockets can be chmod protected while TCP/IP sockets have global scope. [2]
label: TLDR, Sockets, application, comparison, Unix, Networking, pipes, differences