Diagram of Virtual Memory

Memory, also known as RAM (random access memory), is where a computer stores information that is actively being used. This is not to be confused with storage, which is where long term items such as files, applications, and photos are stored. Virtual memory is a memory management technique in which physical memory is mapped into virtual addresses.

Virtual memory is divided into two main sections called the Stack, and the Heap, as seem below.

The /proc directory

Today we will be talking about something called the “/proc filesystem” in Linux or other Unix-like operating systems. If you navigate to the “/proc” directory in a Unix-like operating system, you will find something that looks somewhat like the above photo. Every process in the kernel is assigned a number called a “Process ID” or “PID” for short. Each of these PIDs is given a directory in the /proc filesystem as seen above. These directories contain runtime information about all of these processes. If we want to view (or even edit this information), we can enter the directory corresponding to…

Account Stats Logo

Account Stats is a website created with the goal of making it easy to collect data from accounts on multiple sites all in one place. I created this by myself over the past three weeks. The first week was mostly spent of front end. Most of the remaining time was spent integrating the needed APIs and cleaning up some previous issues. This can be used by anybody who wants to easily see data from several different accounts. This was inspired by the fact that there are many sites which allow you to get data and statistics from just one account…

Web sever 1 had an outage this morning from 4:20 am EST to 6:09 am EST. Only one of the two servers was down and as a result all traffic was diverted to the second server. This means that the site was slower for all users trying to access it. This was caused by an error an a server configuration file during an update. The issue was discovered and fixed in less than two hours. The issue was detected at 4:22 am when an alert from the monitoring system was triggered. After this we immediately began to check the recently…

One of the largest, broadest, and fastest growing fields in the modern world is that of “STEM”. “STEM” stands for science, technology, engineering and math. It can be difficult to understand STEM as a whole because it include so many different fields and sub-fields. For example, science alone contains so many different fields such as physics, chemistry, and biology. Technology can include both hardware and software. It may seem overwhelming but it is an important thing to understand as is plays such a large role in so many of our lives.

We are going to be specifically talking about something…

Web Server Diagram

When you type this URL in the browser, a number of things occur. First, is a DNS request. A DNS request is when the browser finds out where to get the IP address from which the server is actually hosted. Next is TCP/IP. Now that the browser knows where the IP address is, this is when it actually attempts to connect to that server. Next it must deal with the firewall. The firewall basically only allows only certain data to come in through certain ports. If the firewall allows the browser to connect, it can continue. There are two common…

“Internet of Things”

The Internet of things describes the network of physical objects — “things” or objects — that are embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet. Things have evolved due to the convergence of multiple technologies, real-time analytics, machine learning, commodity sensors, and embedded systems. There are a number of serious concerns about dangers in the growth of IoT, especially in the areas of privacy and security, and consequently industry and governmental moves to address these concerns have begun including the development of international standards.
The main…

Actual Photo of Leonardo DiCaprio Inventing Recursion in Inception

Recursion is a concept in both mathematics and computer science in which something is defined by itself, or depends upon itself to function. This may seem confusing at first and it may raise a few questions such as: Why would we do this? How does it work? In this post I hope to explain recursion in detail and answer all of these questions.

In order to understand how recursion works, we should look at an example of it being used. Observe the following code:

Actual photo of a python class, circa 2007, colorized

Classes contain attributes. Attributes are pieces of data shared by the whole class. These can be of any data type that the programmer desires. There are several types of attributes. One of the most common is an instance attribute. An instance attribute can only be accessed within the scope of a particular instance of a given class, and not by any other instances. This is different from a class attribute which applies to all instances and can be accessed globally. This choice is useful because some data and some functions are useful in any instance of a class and sometimes…

Python is an object oriented language, and in Python, everything is an object. This means that everything has some data associated with it. These data values are called ‘attributes’. Objects are often referred to as ‘classes’. A class can be used to create any object, for example, the class below defines a dog.

Diagram of a class with four instances of a Dog class

There are many methods to help handle classes in Python. One of these is the type() method. This method returns the type of an object. There is another important method called id(). This will get the id of an object. …


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