User Tools

Site Tools


blog:spring2016:dschmitt:journal

C/C++ Programming Journal

MARCH 15, 2016

  • What action or concept of significance, as related to the course, did you experience this week?
    • RGB Values that exceed 255 and beyond (tested up to 10,000,000) give weird behaviors, some transparency effect with the black background give a gradient kind of effect (http://lab46.g7n.org/~dschmitt/cos0.php).
    • We are now getting into reading, writing, and appending to files for our sam0 project. Learned some tricks with ascii characters, like +32 for uppercase gives lowercase, and vice versa. After a deep conversations regarding various legal / ethical problems, we discovered dinosaurs with hats ( UP UP DOWN DOWN LEFT RIGHT LEFT RIGHT B AAAAAAAAA ).
  • What concepts are you dealing with that may not make perfect sense?
    • Haven't figured out how to do gif's fully with GD yet, want to make my spiral spin, would be dope.
    • Just fully grasping the concept of file pointers. Taking Unix simultaneously provides good practice with raw data, files, and memory in general.
  • What challenges are you facing with respect to the course?
    • Everything seems great so far. Glad we're doing different logic/math based concepts overall.
    • Still looking to do a snake game when I get a chance.

MARCH 29, 2016

  • What action or concept of significance, as related to the course, did you experience this week?
    • We're now getting into C++ a little more than specifically C. This will be interesting and I cannot wait to see what we'll be doing. I have a previous background in Java programming, and it seems that many of the same concepts can be applied to C++. As Matt described, Object oriented programming is nothing more than structure to pre-existing programming.
    • In class last Tuesday we talked about P.I.E. for object oriented programming.
      • Polymorphism - An example of this is having a function that performs a different task per class.
      • Inheritance - An example of this is having a Shape class, a Circle class, and a Rectangle Class. Circle and Rectangle are two different things with some unique fields, but both have the same properties of a Shape class.
      • Encapsulation - An example of this is creating your own objects in code that others can use, or can be instantiated for any desired purpose without breaking any other part of the code.
  • What concepts are you dealing with that may not make perfect sense?
    • The above three all have a lot of similarities in my head, as I dealt with them often in Java and make it harder to distinguish. Other than that, I'm pretty excited to dive into C++ a little more.
  • What challenges are you facing with respect to the course?
    • Not much so far. In unix and c/cpp we have been doing a lot more byte manipulation, and while it is fun, it can take some time to wrap your head around certain things. Still having fun, so that's what's important.

UNIX/Linux Fundamentals Journal

FEBRUARY 5, 2016

  • What action or concept of significance, as related to the course, did you experience on this date?
    • We've been going over some useful commands / tricks for the Unix operating system. We learned how to assign variables and use those variables in practical scenarios, such as with the full quotes (''), half quotes (““), and back quotes (``). We've also been going over how to puff-puff-pass some output to another program using the pipe (|) command. We've also been exploring the permissions of files using ls -l and the chmod command to change those permissions. I've also completed the first puzzle box project for the class, which was fairly easy. The main concept was that each file was renamed to have a different “extension” as to make it not easy to know that some files were tar archives, for example. The commands used were tar -xvf <file> to extract the hidden tar archive, uudecode <file> to decode a uuencodeed file, and again uudecode to decode the BASE64 encoded file.
  • Why was this significant?
    • This is significant because we're just learning the basics of this operating system in some fun puzzle kind of ways. We're learning the significance of many of these commands as well as how we can manipulate the output and input for these commands.
  • What concepts are you dealing with that may not make perfect sense?
    • Everything seems to be pretty simple so far.

APRIL 7, 2016

  • What action or concept of significance, as related to the course, did you experience on this date?
    • Just finished up the major UDR 2 project, which included a lot of BASH scripting. This project included a LOT of binary searching. Every packet begin with 41 34 .., and we had to filter certain things to achieve certain things. It was great.
    • Our newest project is dealing with octal permissions. UPR0 (Unix Permission Review)
      • HINT: rwx = 421 = 7
      • Example: rwxr-xrw- = 756
    • The trick is that we can only do the assignment every 2 hours, which is slightly annoying. This hinders on my ability to pump out the assignment immediately.
  • Why was this significant?
    • This is significant because permissions are very helpful when dealing with files that need to be public, private, or group local.
  • What concepts are you dealing with that may not make perfect sense?
    • Everything is coming together nicely, still getting used to REGEX patterns, specifically grouping mechanics. \(\)
    • SED Usage: s/PATTERN/REPLACEMENT/

APRIL 27, 2016

  • What action or concept of significance, as related to the course, did you experience on this date?
    • We have begun our adventure on the wondrous “eoce” project. This would be our “End of course experience”. My goal is to make it through 1 per day, and that's what I've done so far, maybe 2 in one day and skip an extra one.
    • 0x0 - Digital Storage Conversion: This was was tricky to think about. My solution was to convert everything down to byte size, then back up to the size they need for output. This worked well.
    • 0x1 - Length Conversion: This used the same methodology as 0x0. I converted everything down to millimeters, then converted those back up to the output specified.
    • 0x2 - Unit Conversion (Optimized): I haven't gotten to this one yet, but I have an idea that involves ncurses and magic, prepare yourself.
  • Why was this significant?
    • The EOCE marks the dwindling end of the semester, and as such, these groups of projects display the knowledge (and power) that we have absorbed throughout these many weeks.
  • What concepts are you dealing with that may not make perfect sense?
    • C++ Syntax is a bit challenging, but it's not terrible. Going to have to get into this more next semester for sure.
blog/spring2016/dschmitt/journal.txt · Last modified: 2016/04/27 20:27 by dschmitt