Micah's Secret Blog

An Optimistic Take: AI's Augmentation of Software Professionals

10 minute read Published: 2024-07-19

No doubt you've heard it before: "AI will make programmers obsolete" or "AI will take your job." But is this narrative accurate? News stories like Cognition AI's Devin, albeit found to be categorically a hoax, have nonetheless fueled fears among software professionals about the future of their careers. However, the most current look at the state of AI in software development suggests a more nuanced and hopeful future.

How Do Software Packages Work?

7 minute read Published: 2024-06-04

How do software packages work behind the scenes? How are they created, distributed, and installed? In this post, we'll explore the lifecycle of software packages, from creation to installation, using the Node Package Manager (NPM) and the Autoprefixer package as real-world examples.

Bloom Filters: Space-Efficient Probabilistic Data Structures

8 minute read Published: 2024-05-25

In the realm of computer science, efficiency is often the key to solving complex problems. One elegant solution that stands out for its efficiency is the Bloom filter. Despite being relatively lesser-known, Bloom filters offer a powerful method for determining set membership while using minimal space. This post explores what Bloom filters are, how they work, their applications in various fields, and compares them with other data structures.

WebP: A Case Study in the Hidden Vulnerabilities of Image Formats

8 minute read Published: 2024-05-13

Hacked by an image? How could that be possible? This is the story of how a seemingly innocuous image format, WebP, was discovered to have a critical vulnerability that could be exploited to execute arbitrary code on a victim's machine.

Ingenious Algorithms We Take for Granted: PageRank, Spell Checkers, and Shazam

14 minute read Published: 2024-05-06

Algorithms are all around us. They are the invisible forces that power our modern world, from the search engines we use to find information to the social networks we use to connect with friends and family. In this post, I share some ingenious algorithms that I have learned about both in courses and through my own research.