When you hear computer computer scientists talk about processors you might hear them describe processors as the “brain” of the computer, but that is not the case. Instead, to properly understand what a processor does, you have to think of the entire computer as a brain, and work from there.


The processor’s job is to take an instruction from memory, perform that instruction (doing math, writing to memory, ending signals to other computers, etc), and find the next instruction. Processors have to do all of this quickly, and by quickly I mean billions of times per second quickly. Processors can also be split into multiple cores. Each core is capable of performing tasks independently from one another. Think about a factory with workers assembling a product. The processor is the factory, and each core is a worker in that factory fully assembling a product from start to finish. The more workers, or cores, there are the faster the factory can produce products. Cores work together in parallel to take lines of work, called threads, and generate some sort of output. Threads are all put into a queue, and each time a core finishes a thread, it will take a thread from the front of that queue and begin processing that thread. Likewise, if the end of a thread does not fully complete a task that a program needs to finish, then that thread will create a new thread that performs the next task that a program needs to finish and put that thread at the end of the queue.

Do note that there are a two tasks that a brain can accomplish that processors do not accomplish. First, processors are not used for either long or short term memory (OK, that’s a small lie, but the memory that processors have is incredibly tiny and temporary). Second, processors do not determine what tasks they should be doing on their own. They rely on other components to send commands.

Knowing this, I hope you can appreciate the more complicated intricacies on how computers work.


Reality Bending

If you’re reading this, then you must be one of our new scientists here at the Ideal Propagation Research Center. This classified documentation is for the IPRC’s cutting edge research on Lems. The purpose of this research is to quantify units of reality, and using that research to engineer weapons capable of destroying the reality bender’s that have begun to threaten our society.

But, before we explain the nature of these reality benders, Lems need to be explained. Lems are the average measure of reality a given space has. The higher the Lems are in a space the more real it is, and the fewer the Lems are in a space is the less real it is. This can be hard to understand upon first hearing, so let us explain it with an analogy. Let all of time and space compare to a universe-sized beach. At every point on that beach (the universe), there is sand (Lems). However, some parts of the beach have more sand than others. Likewise, sand can move across the beach if certain events happen that make it move.

This is an extreme oversimplification, and full explanations are given after this Preface, of course. To measure the amount of reality in an area, we use IPRC manufactured Lem Anchors. These devices are like using snow shovels on the beach. They store massive quantities of Lems and spew Lems where ever they need to go, but they need a source of Lems to function. For Lem Anchors to measure the “quantity” of reality within a space, we have used two Lem Anchors to create two arbitrarily high are low areas of Lems to compare to as a base line. The areas of high Lems are determined to have 100 Lems, while the lower areas are determined to have 0 Lems. Every time a Lem anchor makes a measurement, it compares its quantity to the high and low areas, and returns a value that is proportional to those two areas.

While measuring Lems is great, knowing those two benchmark numbers doesn’t put the scale of reality being manipulated. For the laws of physics to functions as they normally do, a value of 0.7 Lems is needed. Most humans maintain a Lem quantity of about 0.3 Lems inside their body, while the very outside of human bodies are kept at a shockingly high 13.4 Lems. In order to create and destroy matter, a Lem count of -30.3 is necessary. This means reality benders with that ability are extremely powerful, and are considered extreme threats to society.

Accessing further information on this document requires an IPRC clearance level of at least 7.

The Heist

Here is a small narrative piece I wrote for English class:

Tonight, we’re hitting up a warehouse in St. Louis. The warehouse is owned by an organization that calls themselves “private security,” but is really just a bunch of thugs and mercenaries. That being said, this organization has outposts all over the world, so there’s no telling what kind of juicy illegal loot is going to be on the inside.

The first place we need to hit them is their server room, as this will be where one of the guards is watching the cameras. In addition to blinding their primary security system, it will also allow us to steal the servers themselves. Who knows what could be on the servers? Military blueprints, secret state budgets, and even access codes to the vaults deeper inside the warehouse are all possibilities.

Once they’re blind, we need to sneak around the warehouse and search containers. We need to avoid being seen by guards, as every one of them has a pager to set off the alarm. Killing the guards is also undesirable. The more guards we have to kill, the more suspicious their radio operators will be from the silence.

Any look we find can be taken to the back of the warehouse by the river. The warehouse’s lookouts have a blind spot back there. We can set up a zip-line there to carry items across the river without being noticed.

Our contractor wants us to do this silently, and if we do set off the alarm, then we won’t have the firepower to hold off the SWAT team for any mount of time. If the alarm goes off, we are screwed.

Hello World!


In eighth grade, I started to read a book that changed my life forever. Hello World! Computer Programming for Kids and Other Beginners put me on a path for me to learn object oriented programming. I was on a FIRST Lego League robotics team at the time, and I was completely unaware of the rabbit hole that I had just stumbled into. Computer programming has not just taught me how how to make computers run; it has taught me how to think. Programming is all about manipulating information in ways that makes that information easier for human being to comprehend. Because of the multitude of good and bad methods that can accomplish this task, there is a dire need for a programmer to have creativity and critical thinking. Creativity allows a programmer to find new ways of manipulating in hopes of finding the most effective and secure methods. The benefit of this kind of metal exercise has even sparked discussions of turning computer programming into a core subject. While I do not agree that every child in the United States should be forced to learn programming all the way from kindergarten to high school, I do believe everyone should take at least one computer programming course at some point in their education, and that is coming from someone who works with it every day.

Career Technical Education

Attending Central Nine Career Center has given me a phenomenal opportunity to advance my education for my future plans of becoming a computer programmer. This opportunity comes in the form of an Associates Degree in Information Technology from Vincennes University right out of high school. The IT program that they have allows me to earn this degree while I am still in high school through dual credit courses. So far, it has been an amazing experience because it allows me to learn about subject matter I am profound in and allows me to save money for my Bachelor’s in Software Engineering because of all of the credits I will have from earning the Associates Degree through this program. However, the benefits of this curriculum go a bit past saving some money and earning my degree early on. It gave me an experience with Carrier Technical Education that most people in the United States do not have a chance to have. I was able to learn and apply real world skills that are currently in high demand from employers, and that is enough to justify my recommendation for Carrier Technical Education.

Video Games

My parents and siblings have been bombarding me with the world of video games since I was born. When I was very young, although I am not sure how young, the first device I had to play with was a Game Boy Color with Pokémon: Leaf Green that my dad gave me. Initially, my only real problem with this was that I was still illiterate at the time. Understanding controls and performing actions were simple to start learning but progressing the game’s underlying or understanding overarching objectives was basically impossible. One I entered elementary school and actually learned how to comprehend written English. This gave me the tools I needed as a player to start achieving higher levels of engagement in my games. As I aged, I found myself hitting skill caps in all of the hand held and console games that I owned. Becoming more skilled in those games took so much practice that the games stopped being fun and worthwhile to play. This is when I started to turn to gaming on PCs. PC gaming had a very unique controller by comparison to console gaming: the mouse and keyboard. Unlike joysticks on a conventional controller mice gave me the ability to more accurately look in the direction that I wanted to look in. I wound not have to wait for the game to slowly pan around, but instead I could instantly look to where I wanted by moving my mouse at different speeds. The addition of a keyboard also improve the quality of my controls. Keyboards have significantly more buttons in a smaller amount of space by comparison to controllers; this gives me more actions that I am able to preform, and the closeness of the buttons means I can execute those actions in a smaller amount of time. When combined, a mouse and keyboard provide an expansive world of possibilities for skill improvement and a general ability to enjoy the games.

Learning to program has only cased my appreciation of video games to flourish. I  have made my own video game projects to test my skills, and I can say with great certainty that it not an easy process. The level of engineering and planning it takes to make even the simplest of games is tedious and time consuming. Turning a video game into a final product is not a process of toy making, it is a process of engineering and computational wonder that brings these games to life


Do not ever end a sentence in a preposition. Please.

The Heart of Engineering

designIf school has taught me anything, it is that the only true failure that anyone can experience is failure to learn from their own past mistakes. Nobody has ever mastered an art or a skill without stumbling as a beginner, and to gain the most experience out of an opportunity they must first know the ways it can go wrong. Once a mistake is learned, it will never be made again if it was learned properly. This is how to world of engineering works. Engineers work hard on designing a product, prototyping it, and criticizing their own work until they eventually solve the problem at hand. The best part about this process is that once an engineer finishes a product, he can not only reuse that product in future solutions but use the information from the mistakes he learned from as well.

However, there is a dark consequence for people who do not recognize and lean from their mistakes: utter failure. Making a mistake and not learning from it had three losses: the aftermath of the mistake, losing something that can be learned from, and even more mistakes of the same nature. Someone ends up in a loop of the same mistake over and over again is in a horrible position where the losses just keep adding up. Even Einstein refereed to this loop by saying insanity is “doing the same thing over and over again and expecting different results.”

Programming is no exception to this moral of failure, as it is a variety of engineering. The syntax of computer programs is far more sensitive than that of any written language. Capitalizing a letter in the wrong spot or using one incorrect piece of punctuation can completely change or just simply ruin the way a program works. Testing code over and over again requires learning from failed attempts because no computer program ever works properly on the first attempt. Frantically compiling code and making little changes each time is the bulk work of a project.

The Scientific Method

I believe that the scientific method is the greatest invention of all time. Every discovery that humanity has ever unveiled in some shape or form involved the scientific method. Through observation, experimentation, analysis, and a few more important steps in between, humanity has come up with many consistent explanations for how the natural world functions and methods of predicting future events. This difference between asking how and why events occur is actually what makes the distinction between scientific law and scientific theory.

Scientific law are results from extensive experimentation that set up a way of predicting how events will occur under any given conditions, usually in the form of an equation. For example, gravity is considered scientific law because we can predict how the force will affect the world(F=mg and F=G(M1+M2)/r^2).

Scientific theory are results from extensive experimentation that explain why events happen the way they do. Evolution by natural selection is an amazing example of a theory because it explains shifts in allele quantities within a population by flagging the cause to be that alleles that case negative effects in an organism force it to reproduce less, and alleles that are reproduced less progressively get more and more rare because they cannot sustain their own existence. Many people in society misuse the word “theory” as if it holds less merit than a law, but in actuality theories hold just as much merit for “being real” as laws do. When people say that they have a theory about something and they have not tested it yet it actually is not a theory; it is a hypothesis. It makes me sad when someone redefines a word to fill a position where another perfectly good word already exists.


The work I do as a programmer tends to be more of an art more than anything else. While computer programs can be used to store information, analyze data, or increase productivity, they can also be used for creativity and expressionism. Graphing Mandelbrot sets exemplifies this. They are beautiful structures that no human can reproduce by hand, and adding the color and other strange transformations to it invites more room for creativity.

Art is not just drawing, music, or  sculpting; art is any medium in which a message or emotion can be propagated from one person to another. Programming takes creativity, as there are so many ways to accomplish tasks and tasks that can be accomplished. Making programs that have an impact on someone is not impossible, and anyone who had a hard time believing me on that should give this a try. The point I am making here is that art has grown so much from the times where the only art that was considered worthy of discussion was great masterpieces in literature or phenomenally realistic portraits of societal leaders. Today, what seems to matter in a piece of art is the spectacle it brings to its viewer. The skill behind the art does not matter much so long as it has a significant impact on the viewer. Likewise, if a certain piece of art took an extreme amount of skill to make then it might not be apprenticed as well if the impact it has on the viewer is negligible.

Puzzle Fanatic

I was in either sixth or seventh grade when I solved20161125092941.jpg my very first three by three by three Rubik’s Cube, and the excitement of doing it the first time was overwhelming to me. The puzzle had seemed impossible to me up until that point, but with a bit of determination, memorization, and Google I was able to find a solution. Most people would have stopped right there and would have been happy with their abilities, but deep inside I had a burning passion to do more.

I asked my parents to buy me a five by five by five cube the next Christmas, and sure enough gave one to me. I wanted to conquer this challenge on my own this time, and I was not going to use any Google to aid in my solution. Days passed by, and I had managed to conjure up my own method to solve the cube. I was able to figure out how to do it by using some of the patterns I learned from the first cube, and applying the past skills that I earned to beat a new challenge felt awesome. However, I was not going to stop at that. With a bit of Google searching, I was able to find that there were other puzzles just like my Rubik’s cubes  cubes that were not actually cubes. The one that I wanted to do next was actually a dodecahedron. This puzzle has twelve sides, and a star shaped pattern on each side for the pieces to turn on. While the puzzle looks quite challenging, it is actually a fairly easy puzzle to anyone who has solved a three by three by three, as solving this puzzle uses the exact same movement patterns as the cubes. While solving it does take twenty minutes to actually execute, it is still a neat party trick to be able to do.

Martial Science

“Magical” Pencil Balancing

I have heard a quote going around lately that says something along the lines of “the difference between science and just screwing around is weather or not you have someone writing it down.” I find this quote to be oddly satisfying because it accurately represents what I do on a daily basis. I spend a lot of time learning through experimentation and screwing around, and it is a jolly good time!

However, today I will not be screwing around, but instead I will be doing actual science by writing it down. In my English class, I found that by bending a piece of paper by just a bit I can give that paper enough stiffness to hold up two pencils by their little tabs. What made me so proud of this little structure is that I actually knew a bit of the martial physics at play here even though I did not actively recognize them.

One of my mentors in robotics, Mr. Coulombe (only one letter away from the name of the Law!) works as a programmer and structural engineer, and it his jobs to run massive computer simulations of individual atoms in materials acting upon each other. He is the smartest person I know, and has given me the honor of having mini-lessons on this particular science.

Basically, to make this work I had to slightly alter the martial properties of the paper so the paper would stand up on its own. When a piece of paper comes out of the factory, the cellulose molecules that compose it form a fairly imperfect lattice. By rolling the paper into a circle and back out again, I was working out those imperfections so that the lattice would slowly become more and more perfect. This causes the paper to become more and more brittle (and less ductile), and this brittleness makes the paper tend to form in a certain shape that is more stiff than otherwise. Because the paper rests in a stiffer and curved shape, it is able to be put onto its side without falling over. In addition, the added brittleness allows the paper to support slighly more weight before it starts to fail. This extra ability to bear weight allowed me to place the two pencils onto the paper without the paper caving in on itself.

However, the paper’s ability to hold the pencils weight is only one part of the mechanics at play here. The other part can be assessed by asking: How does the weight from the pencils not cause the structure to fall over? The answer to this question is far more simple, as it has to simply do with the idea of center of mass and the position of the pencils. In the picture, the pencils can be seen to be on the inside part of the curved paper. This would typically case the paper to fall in the same direction that the more massive part of the pencil is on, but it does not do this due to the support given by the outer parts of the paper curved in the same direction that the pencils are applying the sideways force. The pencils are safe on the inside of the curve, but would cause the paper to top if they were on the outside of the curve.

The application of the rules at play here go beyond balancing pencils on pieces of paper; they are used in architecture, mechanical engineering, and even aviation. By learning and applying the knowledge science has recorded, humanity had engineered the most amazing devices that are taken for granted every day.