Good points. I took C in my first formal programming course (CS50 with David Malan!) and for me, it was a terrific language to start my formal programming education with. Before then I had programmed in BASIC, ActionScript, a smattering of PHP, and a little JS. This was back in 2012 when I was very much self-taught and in need of formal direction.

As I launched into CS50, I really enjoyed programming in C and became very interested in memory management and what happened at the machine level. And I felt prepared for a range of different types of programming.

NOAA, Public domain, via Wikimedia Commons

For two million years, Earth has been inhabited by living things that make their own food. Known as the producers of their communities, these self-sufficient life forms convert substances from their immediate environment into energy-rich food molecules.

The energy they pack into these molecules has to come from somewhere — and while we have long known that plants and chlorophyll-carrying microbes harness energy from the sun via photosynthesis, a new type of producer was discovered a bit less than a half-century ago. Curiously, these new specimens live in the complete absence of sunlight — and somehow make their own nutrients.


Photo by Wojciech Then on Unsplash

For four years, I have been building Android applications that talk with other systems via JSON APIs — usually one-way or two-way handshakes between my app and a Drupal site or database using JavaScript Object Notation (JSON) as the common language.

My first encounter with JSON

I first started using JSON in the Spring of 2012 after taking a web development course. Before then, my programs were pulling in XML content files. They got the job done, but they felt a bit clunky.

I remember the day our instructor introduced us to JSON. …

2. Get the program to tell you a story

Female covering their face with their hands
Female covering their face with their hands
Photo by Ivan Aleksic on Unsplash

If you’re a seasoned developer, you’ve likely wrestled with bugs time and again. If you’re new to web or app development, just wait.

These are the ones that are the thorn in your side.

The ones that keep you up at night—or greet you in the morning when you check the ticketing system.

You may have encountered one lurking in the shadows on a course project, during a migration, or while modifying a new build. What these bugs all have in common is that finding and fixing them is akin to trying to scale an insurmountable stone wall.

But there…

Image by xresch from Pixabay

The tech world is replete with interoperable systems that communicate data back and forth. While each system has its own inner workings, two systems can talk to each other if they both use a common language. One of these languages is JSON (JavaScript Object Notation), a lightweight format for storing and sending data that consists of key-value pairs.

As a simple example, you may have an app that needs to download the following JSON data on two books from a content management website. The books may look like this:


Image by Colin Behrens from Pixabay

While mitosis and meiosis are very similar-sounding processes, they are actually quite different — and occur for different reasons.

Suppose you fall and scrape your knee. You will likely see your wound heal over the next few weeks as your body tissue repairs itself, and that is in large part due to mitosis.

In contrast, meiosis is the reason why people often look partially look like one of our parents — as due to meiosis, they only inherit half the DNA from each parent.

Let’s take a closer look at each process.


Mitosis occurs during the division of body cells…

Photo by Sarah Vombrack on Unsplash

Star rating tools are seen on all kinds of apps and websites these days. Who knows — at one point you may be asked to build one as a quick way to collect user feedback.

Below is one way of achieving the star rating effect using pure CSS. You can glance at the finished product below.

Along the way, you’ll learn to use pseudoselectors, the “subsequent siblings” combinator (~), a few flexbox layout techniques, and a CSS transition.

While this code is Javascript-free, you will ultimately want to use some programming to parse, send, and store the value that…

Very helpful read, Nehal. I like your use of diagrams and brief gists to convey the code and the concepts. I use JS just about every day and this helps me to better understand what's happening under the hood.

Photo by Rodolfo Quevenco on Unsplash

There is a reason why oil and water do not mix — and why some compounds, like sugar, dissolve in water easily.

The answer lies in solubility — how easily one substance, a solute, dissolves in another substance — the solvent. When the solubility of a compound is discussed and the exact solvent is not mentioned, it usually means that the solvent is water.

A molecule’s solubility is determined by its degree of polarity.

Photo by CDC on Unsplash

There are a number of theories concerning the earliest living things on earth. Here I discuss a few prominent ones: eubacteria, archaea, and RNA-based living things.


The oldest DNA-based species are thought to be one-celled microbes, likely of the domain eubacteria, which existed in the earth’s oceans as early as 3.8 billion years ago. Like present-day bacteria, these early bacteria were prokaryotic — meaning that they did not have a DNA-bearing nucleus, nor did they have cell parts enclosed by membranes. Prokaryotes are typically single-celled, though some, like cyanobacteria, will form large colonies.

Nevin Katz

Developer • Tech & Science Writer • Editor of All Things Science. Subscribe to my email list at for article roundups!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store