Wednesday, December 24, 2014

Digital Logic - Reviewing Truth Tables and Transistors

Goal:
Create a calculator with basic single digit addition on a breadboard.

Knowns:
There are various gates made of different transistor combinations. The most common are:
   a. AND
   b. NOT
   c. OR
   d. XOR
   e. NAND
Please let me know if I have forgotten a common one.

A truth table is a table of inputs into a circuit and outputs after the corresponding inputs have been processed by the overarching logic path or set of gates the inputs go through. A circuit can have multiple combinations of inputs (consisting of either 0 or 1) and types of gates that those 0 or 1 inputs are modified by (AND, OR, NOR, etc...). For example a single NOT gate takes one input of 0 or 1. If input 1, but run it through a NOT gate, the output is NOT 1, but 0. Alternately if you input 0 into a NOT gate, then it will come out NOT as 0, but as 1. This is what the truth table for a NOT gate looks like.

NOT
Input (I) | Output (O)
    1                   0
    0                   1

Some gates take two input. Each of these gates handles each combination of input types differently. For example, if you take 1 AND 0, you get 0. However, if you take 1 OR 0, you get 1. There are truth tables to help lay out the full mathematical modification. This type of math is call boolean algebra. This isn't your normal adding, subtracting, multiplication and division -that is arithmetic. I have included the full truth tables for AND and OR as well. Now that you know what to search for online, you can learn more about digital logic -the language behind circuits and electronics. As a note before you research more, sometimes instead of saying "input" or "I", a truth table will use "p" and "q" for multiple inputs and use "z" or "r" or all kinds of other things for an output. The key for the output is that it'll always be the on the farther right and there'll always only be one.

AND
I.1 |  I.2 | O
 1      1     1
 0      1     0
 1      0     0
 0      0     0

OR
I.1 | I.2 | O
 1      1    1
 1      0    1
 0      1    1
 0      0    0

A normal transistor is simply a physical device that either lets through a flow of something or not. Like a draw bridge that goes up and down. When it is lowered, flow of traffic between a castle and the outside can happen; when it is raised, the flow of traffic in and out stops. In circuits this is instead electrons (negatively charged particles normally found in an atom) flowing around the gold, silver or copper (metals -which are conductors).

I've been writing this post for a few days and finished the bulk so I'm gonna stop here for now and work on my next one.

Mindy R. Bowen


Monday, December 15, 2014

Google Sheets Scripting - Proper use of onEdit

Goal:

To create a Google spreadsheet function which fires when a user enters a particular, exact value (in this case, the person's legal name) into a cell (in this case it will always be in the first column). Upon firing, the row color of that cell which was edited should change the background color, text color, and font type. It should also automatically enter the current date into the same row, in the second column.

Questions:
Event objects - what are objects? Review this.
onEdit - can I call my setRowColors function inside of it? If so, how?

Knowns:
The sample that google gives for using onEdit in sheets is the following:

https://developers.google.com/apps-script/guides/triggers/#onedit

Processing/Assumptions:
1. Objects have properties and values. "e" is the name of an established object from Google which has different properties available depending if one is working in Sheets, Docs, Calender, etc...and the type of  desired trigger/event. We are in Sheets so the available properties are we are wanting a function to run upon Sheets being edited. Therefore the properties we have available are
   a. authMode
   b. user
   c. source
   d. range
   e. value
2. I found a list of functions built in to Google scripts which are associated to objects (in other words I found a list of methods per established objects). The above list that I first thought were properties are actually the established objects themselves which have their own set of associated functions or methods. Value is the same as range only when it refers to a single cell -therefore it most useful to look at range's set of methods: https://developers.google.com/apps-script/reference/spreadsheet/range
3.  The header of the previous page actually refers to range as a class -not as a single object. A class is a "type" of objects. Range is a type or category of objects. Classes have certain methods and properties. The link above are still methods associated with this class. We create an object "e" which represents an "event object" in the class "range." Maybe this is wrong, but I am done for the day.

Mindy R. Bowen

Purpose

I would like to get into Digital Forensics, but I am a 4th year chemistry major. I've been reading about how to get into this and one way to keep up and show that I have been working towards this is to keep a blog about what I have been studying and discovering.

I will start with what I have been doing recently, then journal as I learn or do new things. This should help me also process the information and become better at communicating information about this field. 

Windows Registry - Rogue Killer

Tools - AVG PC Tune Up

Solid State Drive - Freeing gigabytes

Malware remediation - Multiprogram process

SSD/HDD PC - Proper configuration for running Windows from SSD while all else goes to HDD

Windows print device driver for 2007 Lexmark X2500 - Visual C++ Programming

Data recovery - Knoppix

Fake Anti-virus program - McAfee Security Scan Plus

Symantec Endpoint Protection Firewall configuration - UDP port for Buffalo Server to NAS Navigator

Digital Logic - Reviewing Truth Tables and Transistors

Quantum Computing - Materials for Memory

After writing all of this I know I am not going to get through all of this in one day. Plus some of these I need to keep working on. I think they each may be their own entry. 

Mindy R. Bowen