Posts

Feral Children

To understand feral children, we first must understand why a child becomes feral in the first place, and what the term implies The idea of the self in social psychology I spoke to my social psychology instructor a couple weeks ago and I brought up to him that I was interested in by the fact that when grown up in isolation, chimpanzees don't develop a sense of self. In social psychology, the term self refers to a creature's ability to understand what they are as an individual (ie. You understand that you're a human being). A simple way that scientists have to study this, is by using something called the mirror test . The mirror test is executed by taking an animal, for example a chimpanzee, and placing a mirror into their enclosure until the subject becomes comfortable with it. Then the chimpanzee is taken, and scientists dye their eyebrows into a different color. When the chimp is shown the mirror again, the chimp reacts by immediately touching their face and explorin

Protein Structures

Image
I approached one of my computer science instructors about research and he asked me to do some research of my own on the subject so that I could work with him. And I tell yah, protein structures and functions are some of the most complicated things I've ever seen. Protein Basics Well, when I started doing research, I had no clue what a protein even is, and it turns out that there are a couple of other things you need to understand before we can understand protein structures. There are several characteristics of proteins: Ligands Ligand bonding is what occurs when there are stemming connecting atoms to a central metal atom. The molecule that is bound is called the ligand and this molecule can be anything from an oxygen molecule all the way to being as large as a DNA sequence. Proteins are Flexible Proteins are flexible, and can change shapes for a couple of reasons. When the solution that the protein is in, changes pH. Through ligand bonding (See above). Amino Acids

Ada Lovelace

Image
Augusta Ada Byron (aka "Ada Lovelace" Ada Lovelace, Wikipedia Ada Lovelace is considered to be the first computer programmer, working on the first computer created by Charles Babbage in the mid 1800s. She was raised in a very aristocratic family, but unlike most families, Ada was raised being taught mathematics and science. Her mother had her taught these fields because she felt that it would help to teach her self-control.   At the age of 17 Ada met Charles Babbage, he was well known as the father of the computer. His creation of the difference engine was one of the first mechanical computers in existence, called the difference engine. Through Babbage, Ada began to study advanced mathematics and science from Agustus de Morgan, and University of London professor at the time. Ada and Babbage became close friends and babbage continued to mentor her late into his life. Below is a video demonstrating how Babbage's difference engine operates:   Most notably, Ad

Heapsort and heaps

Image
Heapsort There are a lot of algorithms in today's society that are used to do sorting. Heapsort is one of the best and most widely used. According to MIT, the heapsort operates off of 3 things: Priority Queues Heaps Heap sorts Priority Queues Priority Queues are pretty simple, they're queues, that are ordered, or at leas have methods for extracting either the minimum value, or maximum value from among their members. Heaps Figure 1, studytonight.com A heap is an implementation of a priority queue, that is, it is a priority queue that satisfies the heap property. A heap is a representation of a binary tree with the root node being the largest value and all subsequent nodes are larger than their children as well (see figure 1). The nodes in a tree are laid out as follows: The root index is always 1 (ie. the first element of the array) Parent(i) = i / 2 Left(i) = 2 * i Right(i) = 2 * i + 1 (Where i is some index) Heap Sort A heap sort uses hea

Dijsktra's Shortest Path Algorithm

Image
Dijsktra's Shortest Path Algorithm Background Robot motion planning using Dijsktra's algorithm, Wikipedia Edsger W. Dijsktra's shortest path algorithm is used to find a list of paths all originating from the same vertex to a map of vertices where all of the paths are of the shortest distance possible. Edsger came up with the idea in 1956. There are several different variants of this algorithm, in fact, the original only found the shortest distance between two nodes. The much more common variant used today finds what is called a shortest-path tree. This algorithm has been improved upon by several people, one implemented what is known as a fibonacci heap using a min-priority queue is considered the fastest implementation to date. But there are other faster variants, but they aren't considered to be in the same category. The algorithm is also used in artificial intelligence, specifically in uniform cost search. Implementation The way the algorithm works is

QR Codes

Image
What is a QR Code? A simple QR code pointing to the aaronjencks.net homepage. QR Code is short for Quick Response Code, it was designed in 1994 by Denso Wave, for the automotive industry in Japan. A QR code uses four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji) to store data efficiently. The QR code is widely used today because of its fast read times, and the vast amount of data storage capability that it has compared to a standard barcode. QR codes also have superior error correction compared standard barcodes, while a simple barcode uses a checksum at the end of its code to validate the data, a QR code uses the Reed-Solomon filter technique. A really fancy way of saying, it uses contextual clues while the scanner is reading the image to guess as to what the correct numbers should be in order to correct error. This technique was also commonly used in CD/DVD readers. Okay, but what's in it? QR codes are made up of several regions, refer to

Using Custom Datasets with Tensorflow's Object Detection API

Image
I've been working on a project for work recently involving tensorflow and up to this point I've been using the pet detector tutorial and code to create a setup that I can use to train any pretrained model I want to detect things, but now has come the time to train a custom made dataset of the things work has asked me to detect and I ran into issues with the posts I made before about making custom datasets, because apparently create_pet_tfrecord.py requires that you have trimaps for your dataset, even if you don't use them, and even with a little if/else bypassing, it wasn't making much of a difference because the problem is much more "ingrained" and I had imagined, so I had to look elsewhere, and thus here I am! Contents Setup Finding Images Annotating the Images Converting to TFRecords for Training Setup If you haven't been following along with my series, then you may not know the directory structure of the project I'm working on,