User Tools

Site Tools


blog:fall2015:pgrant3:journal

September 7, 2015 UNIX

From starting this course, and knowing almost nothing about UNIX based Operating Systems, I have learned a lot of the basic commands that enable one to move around in a command line environment. Examples of this include listing files in your current working directory, logging onto lab46 via SSH, especially on a Windows based machine. I have learned how to move files, copy files, create files, as well as delete files from the command line. One of the most interesting things that I had learned was during a class period in which we went over the basic history of the different operating systems, into the current ones that are utilized. I had no idea that UNIX based Operating Systems played such a major roll in shaping the way that users interact with a computer in today's world of touch screen devices. All of this is significant to me due to the fact that I have had almost no previous experience in this environment. At this point, I feel that I can easily navigate and handle different files, as well as examine file permissions, with no help.

September 14, 2015 UNIX

This week I have learned how to create files and directories, how to set permissions, and how to move files in the OS that I have permissions to move, all through the command line interface. I feel comfortable doing all of these things. At least I thought I did until I attempted to do this weeks project. I can't even get it off the ground by locating the source files that we have to modify. I can list (ls) files, copy (cp), move (mv), files, and I understand that a command needs to be followed by parameters to feed the command. I figured out how to look into the commands manual, at least to my knowledge, by typing in the command followed by –h. I'm not sure if this is the most optimal way to review a command and its uses as well as parameter requirements. Further than that, as far as projects go to look up things that are supposed to help me, I am unsure. Something that I know I have a firm grasp on though, is setting file permissions of files that I am able to, as well as viewing the file permissions that are set, all in octal. My first priority at this point, is to become more familiar with the basic commands that UNIX based systems provide for the user. After I am competent enough with those, I would like to learn things that will allow me to personalize my desktop, especially in the OpenBSD operating system we use in class. I would like to add a clock system to the desktop, as well as other basic applications.

September 17, 2015 UNIX

I can now look up manual pages for commands rather than just using the limited help feature. I am comfortable looking through files with the 'cat' command, and modifying their contents, while storing the modification in a new file, using the > or » to overwrite or append. We touched on variables as well as alias(ing)?, so I am excited to toy around with those concepts. Lastly, for today, we went over wildcards. I am going to have to take a closer look at them in order to understand them better, or more appropriately, to apply them in a more efficient manner as I couldn't come up with the proper solutions in class, but I understood what the solution did after it was shown.

September 23, 2015 UNIX

After practicing more with wildcards, I am comfortable utilizing them in order to list files based on certain parameters. Such as if it starts with a vowel, if it is a certain amount of characters, if it contains a vowel, and more. This week I found the cus0 project, that was due today to be extremely difficult. I stared at it all day, finally figuring out what I was doing. The files that I copied from the public directory were configuration files that are already set, at least to my knowledge, through the group. Editing them was much more difficult than I had anticipated, because I was hardly aware of how config files even worked prior to this project. I may have messed up a little bit, because instead of just renaming the source files, modifying them, and saving them as a new name, I actually just saved them as config files to my home directory, which will overwrite the config files that are set for the group. At least that's what I read should happen. I struggled with the project because I am unsure of what a lot of what was in those config files even did. I definitely need to take a look into user configurations more.

September 24, 2015 UNIX

After saving three of the configuration files to my home directory, and logging into the lab46 pod in class today, I saw how much I altered. It proved to be inconvenient. I ended up deleting two of them, and preserving the modified .bashrc file I overwrote. Through fixing the .bashrc file, which was different than the original one, without any of my modifications, I learned a lot more about config files. That, as well as learning vim, which we also started today, sparked a big interest in UNIX to me. At this point I'm editing my .vimrc file in my home directory in order to add a little more flavor to the text editor. So far I have lines numbered, and a color scheme for C syntax. I plan to go further into the customization, as well as redo my window manager config file.

September 28, 2015 UNIX

With regards to the answers that were asked for on pbx0, after copying file.txt from the public directory, and using the file command on it, file.txt was an ASCII file, which is what I would have guessed from viewing it as well. However, I now understand that unlike in windows systems, he .txt file name extension has no bearing on the filetype of the document. Also, when you compress the file using gzip, and use the file command on it again, it will tell you that the compressed data was the original file name, and the command will output the last modified date and time. If one specifies the compression method, being fast or best, it will display that information as well.

I found pbx0 to be challenging and fun. Now knowing that we will not have procedural instructions to complete a task, solving a problem seems more rewarding. Through this project I have become more familiar with the file command and its different uses, to see what you may have to do in order to appropriately view and modify the file. Also, encoding and decoding was new to me. I learned what the purpose of encoding a file may be, as well as how to decode an encoded file, so long as the encoding method was through uuencode.

October 5, 2015 UNIX

After getting through pbx0, and experiencing the accomplishment that I felt for solving it, I thought that pbx1 was going to be almost the same thing. I was wrong. I have been working on it for a while now this week and I've been stuck at the same part for a while. I know that the answer is right under my nose, but I just can't see it. I have gotten to the point where I convert the hexadecimal file into ASCII, and it reads, “the password you seek is: It's a bat! Sweet moustache!” I see that this refers to a password, and I have attempted to figure out which one, and if its a reference to something else, but I am stumped at this point. It appears that there are four parts left to the puzzle box: next, and I feel like that line has everything to do with me getting to the next step, but as I had said previously, I am not sure yet.

Something that I found was interesting on the endeavor of pbx1 so far was having to modify file permissions when we called on uudecode, in order to be able to see the file that it created, upon decryption. After realizing that what we needed to do was modify the file and change the permissions from 000 to something more appropriate, I spent more time than I would like to admit looking for alternative routes on google. Also, I found it really interesting that we had to use C code in order to solve one part of the puzzle.

We also covered vim a lot more this week as well, as well as beginning shell scripting. I'm trying to become more efficient with vim every time I open it up and use it. I fight the natural urge to just spam the arrow keys and exclusively use the 'i' key for insert no matter where I am going to type. I am getting comfortable with more commands every time I open it. It feels good becoming more proficient with it, and the time saved not having to type as much feels really good as well. With that being said, I sat down and went back to the Vim Adventures games' website and played that for a while. That really got me used to some of the basic commands. It was a shame though, that I was just getting into it, and after about a half hour I had completed all of the content that it offered for free. Apparently one has to pay money to use the whole game, and even then I think I remember it being a monthly subscription. I don't think I would ever do that, but I did appreciate the time I did get to spend on the game.

We began covering shell scripting last week, in one class I believe. I am excited to learn a lot more about that, as I think thats where you start to be able to do some really cool things, as far as making some tasks more simple, and even completely automated.

October 19, 2015 UNIX

I have continued my exploration of vim through my iMac at home. I was not aware that it came stock on mac machines, which is nice. After attempting to code and script on my mac via vim, I learned that you can get extensions for vim that allow it to become and IDE. I very briefly looked into this, but it looks like it would be extremely useful to my needs. After using vim rather than a different editor, I have grown used to it. Especially since I am mainly on a laptop at my house, because my computer is being repaired, not using the mouse is extremely convenient. I will definitely have to look further into turning vim into a fully functional IDE.

The new project we are working on has us creating a web based text adventure style game, with different pages that link to one another. I took an html class in high school, but forgot most of what I learned in it. After looking at resources online, it didn't take me long to remember some of the basics. Also, when we were essentially making an html parser this past summer, we ran into a lot of start and end tags. So this project is refreshing, while challenging. I can't seem to be comfortable with using html exclusively, it just looks too plain for me. So in addition to getting a refresher on html, I am trying to gain a basic knowledge of CSS. This is totally new to me, but I enjoy learning it. More so because I am stubborn in wanting my web based text adventure to look like total shit.

With regards to shell scripting, I have let it take a back seat to working with proficiency in vim as well as the current project. I get a little class time with it, but I haven't really worked on it during my own time, which I need to do, desperately, as if I don't do it on my own, I will not retain it. As I said before, it looks really interesting to do for customization and automation purposes. I am really glad I decided to buy a mac rather than another windows machine due to the fact that it resembles a unix system much more so than windows. It allows me to see things practically outside of lab46.

October 26, 2015 UNIX

My web based text adventure is going well, I have the ground work laid out on paper, and know exactly how I am going to finish it. Prior to this project I was not interested in learning front end web development, but it is more interesting than I thought that it would be. For the project I was just linking images from the internet into my webpage, but I don't feel like that is what we are supposed to do, since we need to include the image files in our submission. I need to figure out how to get the image files that I am using into my lab46 folders. I guess doing what we were told in class to move files from our desktops and laptops would work. I will probably try that. I'm excited to wrap this project up. Having the extra week was nice, but now that I have waited a little longer than I should have to finish it up, I am left with even less time to start and complete the next project.

We looked at shell scripting more in class, and I have been playing with it out of class. However, I could not successfully create a script that can give the user a count of how many terminals each user logged into lab46 has open. I think we are going to go over it tomorrow in class though, so I am eager to see how it was done. My biggest issue with shell scripting is definitely going to be remembering all of the unix commands that are available for us to implement, when applying a solution to a problem.

November 2, 2015 UNIX

After completing the wpa0 project, I have learned a lot about changing web pages based on directories that the source code is located in. That was my biggest issue when working on this project. It took me a lot longer than it probably should have figuring out which way to write out the address of the files that I was trying to display. Part of the reason that it took me so long was because I was over looking basic syntax of HTML. I would be missing simple things such as a “ before an “a” tag. After completing this project I was extremely satisfied with my end result. Way more so than I thought that I would be.

The next project that we are doing seems difficult in the way that the puzzle box projects were. We are given a file and we have to use the tools at our disposal to resolve the problem. After looking at it for a few hours and tinkering with it, I didn't get anywhere. I need to sit down and really focus on this one. Some commands that I am using don't seem to be working, when it seems like they should be. Also, we have to log every command that we use in solving this project, and that is different as well. I am excited to actually start logging the correct procedures in order to complete this project. At this point I am not very far at all.

November 9, 2015 UNIX

I successfully completed udr0. As I said in my previous entry, I had spent quite a bit of time poking at it, just looking for a place to start. After being shown a hex editor in lab46, the address and the length of the pieces made more sense. We were introduced to a table of contents that gave us the information that we needed in order to grab each of the three files that we needed to arrange to view the image, which was the end state of the project. Admittedly, I ended up doing way more math and conversions from octal and hex to decimal than I really needed to. But it got me on the right track. After realizing the simple way of doing it, by skipping to the address and grabbing the length of the contents with the dd command, the first half of the project became trivial. It just took me a lot longer than I would have liked to get there. After putting them all into one file and seeing that it was an RLE image, converting it to the correct format and resizing it to fit the requirements was a breeze. I think that this project was definitely harder than the puzzle box projects were, for the sole fact that it was extremely difficult to find out where to even begin.

The next project we have due this Wednesday has us writing a script, which I desperately need more practice with. I haven't started this to the point have should have at this point, but I am excited to begin and become more familiar with scripting.

I ended up downloading a Unix based OS on my home computer called Fedora. Attempting to set up my own flavor of Unix Operating System is turning out to be enjoyable. Not quite as relaxing as I would have hoped, but relating what we learn in class with something I can do in my personal time to enhance my experience on my desktop is satisfying. I was looking into attempting to use Arch Linux to really have control over the specifications that I will utilize when I'm on my personal computer, but I think I have quite a bit to learn before I break an operating system that I attempt to use.

November 16, 2015 UNIX

I have started working the logic on for the project that was extended a week, due this Wednesday, rather than last Wednesday, out on paper. Logically, I can figure out the direction that I am going with this project. I have found that actually working out a solution on paper, for logical reasons, outside of syntax, is better for me than just diving headlong into a project which is what I usually do. My biggest issue going into this project is definitely syntax of scripting. Bash scripting is definitely a language to learn on its own. When we are in class it seems to make so much sense and seems easier to me, but when I try to do things on my own I seem more lost.

As far as working on my own, I couldn't stand trying to do thing that I wanted on certain operating systems, due to their stance on not allowing proprietary software. I wish I could do more on the desktop I currently have, but my hardware seems to restrict me.

December 7, 2015 UNIX

After finishing sfp0, I can comfortably say that I am almost a little bit comfortable with scripting. I may be giving myself less credit with respect to my current knowledge of bash scripting, but that project was a doozy. As I have stated in previous opus entries, my knowledge in bash was no where near a level that I feel like it should be at. After this project I am a little closer to that marker for myself. I pretty much waited until the last minute to cram my head full of bash knowledge. Luckily, I finished on time and had a working script. There are definitely better ways I can approach problems, but giving myself enough time to successfully attempt a more efficient, but complex solution is important. I cranked out over 200 lines of bash script in order to meet the requirements, and I feel like that is almost counter productive.

After looking at the end of course experience, I am glad that I took the last assignment as serious as I did. It looks like that is a significant portion of our final project set. I will probably go through all the previous projects as well in order to refresh myself. At this point I am one hundred percent confident that I can successfully complete all of the personal portions. The part that makes me a little more nervous is the in person assessment. Mostly due to the fact that it is unknown in terms of what we need to do before we start it. Also, the fact that we can not use any resources to aid us, and to act as a buffer is a little nerve wracking. All in all, I am confident, though.

September 7, 2015 C Prog

Prior to this course I had no knowledge of memory management when I would write a program. I have learned, in the C programming language, how much memory each variable requires when it is declared. I more so now, than previous to this course, understand the significance of header files and the functions that are potentially utilized from those files. I have learned how to look at the header file and determine which function I am able to call into my program. Everything was going well, and then I was introduced to pointers. At first, I was able to write a basic program to point information to another variable. It wasn't until I actually had to face memory management that I was stumped. I am motivated to continue to learn about pointers and the power behind them now, to really unlock what the C programming language is capable of.

September 14, 2015 C Prog

Throughout this week, I had to take a close look at pointers and really focus on what they are doing to finally understand what they do. I can confidently say that I understand them enough now to actually say I understand them. That a pointer points to a physical memory address in the machine, rather than a set value that we give it, and every time we run that program, the address of the pointer will change. We touched on bitwise operators, logical operators, and if statements. I understand if statements, and the logic needed to allow certain functions to happen in a written program. I also understand that if statements are powered by logical operators to allow the computer to recognize if a condition is true or false. However, bitwise operators are going to be more difficult for me to grasp. Using a bitwise operator in order to prove a condition true or false is not something I am used to. We used a bitwise & in order to determine if a number was positive or negative, by comparing all bits in the number to a zero, beside the least significant bit, which was compared to a one. I am not confident yet that I could use bitwise operators, outside of that instance in order to prove conditions true or false in a conditional statement. I am excited to discover how that can be accomplished. I also found an algorithm that will allow one to square any three digit number ending in five, following our squares project. If you take the first two numbers out of the three, square them, and add the original first two digits to that new number, and then put a 25 at the end of it, you can square any three digit number ending in five, without actually using a calculator and manually squaring the whole number. I haven't sat down and mulled through what you would have to do in order to square a four digit number in that manner though.

September 17, 2015 C Prog

I understand loops more than I had ever thought I would or, ignorantly, thought I would need to. Approaching problems before, when I needed a loop, I would always default to a while loop. I understand when to use for loops, such as when you know how many iterations of the loop you would like to run. Also, I encountered a situation when I was doing the DOW0 project where I was attempting to use a while loop, but the condition I was evaluating had a variable that I had not initialized prior. This variable was going to be initialized during the loop, so instead of setting a value to it, I used a do, while, bottom driven loop to perform the task, and then evaluate. I am a lot more confident in my ability to know when to use what sort of loop.

September 21, 2015 C Prog

We started going over how to find digits in a number, mainly using the % operator to find the remainder, and putting that into a loop with a counter variable. This was different because of the way in which the position was defined within the string of integers that made up the whole integer. After I was comfortable with that, I learned how to print a specific number of elements to memory, using snprintf, as well as sprintf functions. After being comfortable using both of these, and looking at the C standard, an attempt was made to create a function that would allow us to create strings, for the purposes of comparing them within the language. In order to create a function we had to look at arguments in C, and when / how to use them. I definitely need more practice using them in the ways that they are available, but I have a beginning understanding established of them. The declaration syntax, and what is required. The definition, and what is required in that. And lastly, the function call, to actually utilize what you have created. At this point I feel that we will be able to accomplish some pretty cool things with the C language once we learn how to create and utilize functions that we have made. After being comfortable with different iterations of functions, I am excited to create our own libraries, as well as use libraries that are already established.

September 28, 2015 C Prog

In the past week, I haven't really delved into functions as much as I thought I would have. I think that I am going to wait until we cover it in further detail in class. So far, I have made progress on mbe0, and am comfortable with my ability to finish it timely. However, the restriction on using arrays and loops is certainly not convenient. At this point, especially from what we have been doing the past few weeks in class, its hard to fight the urge to declare an array when using multiple variables of the same type, as well as not using loops in order to simplify a problems solution. I feel like I am typing a lot of things, that I otherwise would not be typing.

After reviewing the pattern that is used in order to multiply a one, two, or three digit number by eleven, as mbe0 asks us to do, one can definitely see a pattern develop. This pattern could easily be implemented into four or five digit numbers.

The only part of the project that I seem to be having trouble with is determining if the input is one digit, two digits, or three digits. I can separate every digit of the input, and operate on it, giving a correct output of the operation, but that is only one way of doing it. The project states that the program must determine if the given input is one, two, or three digits. I need to look into that further, in order to have multiple options when approaching similar problems regarding reading input from a source.

At the end of the day, I am getting a lot more comfortable with the mindset of looking at a problem, and breaking it down into smaller pieces, and working through one thing at a time. Before, I would just rush and half way understand something, before trying to implement it further, into something I barely understood. That, as well as finding patterns in order to implement a solution to a problem, make me confident that I am heading in the right direction, mentally, for this course.

October 5, 2015 C Prog

This past week we have looked at functions again, and in greater detail. I've been toying with the idea of continuing a previous project that I had worked on. That being a casino sort of program. Since we have learned functions now, I feel that it is a lot more feasible. However, when I plan it out before taking it to my keyboard, I feel like it would be more beneficial, especially for my sanity, to wait until we go over creating our own libraries in order to accomplish this program. There are a lot of moving pieces that need to go into it, and I'm excited to soon reach a point where I can make a dynamic program.

Aside from that, I have been working on completing the current project due, mbe1. This time we could use arrays and loops in order to satisfy the algorithm. Coming into the project I was certain that it would be easier, and much shorter than last weeks. I was wrong however. Introducing loops into the project makes the middle of a repeated operation easier, but you still have to account for the first iteration, that is under different circumstances, as well as the last iteration, which will be under a different set of operations. I was trying to put these in the main while loop that I was using, but that didn't seem to be working logically. I was writing a lot more code to account for those instances rather than if i just took them out of the loop.

After coming in close to finishing the project, I have found that if you want to complete many tasks, of the same nature, using a loop is definitely more viable. Like the case for this week, where we went from having to account for a 1, 2, or 3 digit number, to up to an 8 digit number. If you have a few steps, that could differ from one another in certain cases, as we did last week, it seems to be simpler and more straight forward to just use a procedural style to your code, rather than using so many loops. Again, I am comfortable with my knowledge to complete this task.

Something that I have been thinking about as well, when looking for side projects outside of class to do, is looking online. There is a subreddit, and I say that because I'm sure whoever reads this will know what Reddit is, called dailyprogrammer, where one can go to do different challenges. These challenges are ranged from easy to hard, with medium in the middle. I look at the ones that are graded as easy, and they still seem too complex for me to grasp. I have a hard time knowing what resources I should be using when I'm doing specific tasks. It seems my knowledge outside of just using stdio.h and stdlib.h (for the exit function) is limited. Being able to solve problems, by expanding my knowledge at the same time is something that I need to get better at. So far, I can solve problems that are inside of the scope of what I'm familiar with. That might sound a little weird, but I think it makes a little bit of sense.

I have made it a goal of mine to attempt to solve at least one problem on that website, that is of easy grade, each week along with the current projects that we are doing. I think if I do those two things in conjunction with one another, I will see my skills develop more rapidly.

October 19, 2015 C Prog

After many hours of attempts, I finally got mbe1 to a point in which I was totally happy submitting it. I got all of the kinks out over the course of picking at it for three days. At a first glance I was sure that it would be more simple than mbe0 due to the fact that we could now use loops. Oh how wrong I was. This week we started using the gd library to print images. It was good timing for what my goals were for the week. Last week I had mentioned that I wanted to get used to, and get more experience using libraries to solve problems. I started a project outside of the currently due one, cos0. I am attempting to make a program that allows the user to essentially fill in boxes on a template in order to create their own pixel art. So far, I believe I am using the wrong functions to display the image I am trying to, but I am learning a lot in the process.

On this week off I decided that I needed a break, so I did something that was a little different. I started learning a little bit of C++ through some resources I found online. I was recreating an old 2d game with the SDL library, called Cave Story. I got the basic window set up with closing mechanics, as well as an fps set. I figured out how I could get an image to the screen, using png files that I converted from the games original source code. I hope to finish this relatively soon, but after the initial push to get something to the screen, making the sprites move, and animating everything became too difficult at that point in time. I sort of burnt out with it. When we start covering c++ in class, I hope to be able to gather the tools to finish the recreation of that game.

October 26, 2015 C Prog

This week we are supposed to start covering C++, and I am excited for that. I have completed cos0 and ended up turning it in pretty early. I didn't do anything fancy with it, even though looking back it wouldn't have been that much more work. But I got it done and got it in which I am happy with. The solution was not very long, and after getting it, I can't believe that it took as long as it did for me to finish it. It was really good practice for me to use function in external libraries. It forced me to look at the documentation and see what different things did, and how to implement them, via arguments. Along with using functions from external libraries, learning how to link libraries, especially when one is not on lab46, is something that is invaluable, even though it seems like a basic principle.

The next project however, seems like it really stepped up difficulty wise, to me at least, compared to our other projects thus far. We have to create our own functions to solve a problem. Going into it, I cruised for a good hour knocking things out. I was set, and I was excited that everything was going so well. I created my first function within it, then a second extra one, outside of the recommended ones. I was on a roll. That is until I was creating a pointer function. I'm not really sure how you say with they are. I was using one to create an array, not realizing while I was doing it that you can only return one thing from a function. So if you want a function to create an array, in order for it to run smooth during compile time, you have to point it to the first memory address that you allocated and filled with a value, in order to return the correct values from the function. Prior to this project, and this major learning experience that came with it, I was still apprehensive about pointers. I understood that at a conceptual level. But at this point, I am comfortable with implementing them in my programs. That is most likely until the next project.

November 2, 2015 C Prog

We delved into C++ in further detail this week, and looked at classes with respect to parent and child classes. The syntax is beginning to make a little more sense to me, as far as utilizing classes. I feel like I need to do a project that uses them more in depth to really understand how to do it on my own. We went into public, protected and private with respect to those things. I learned that children classes, and nothing else can access the private parts of the parent class. When I was attempting to learn C++ over the break we recently had, I was following a tutorial on recreating a game called CaveStory. Through this I was introduced to classes and header files and how to utilize them after creating them myself. Also, calling classes through the syntax “Graphics::graphics”, and utilizing pointers like “this →” didn't make sense to me at first. I didn't really understand what I was doing. So I stopped doing that and decided to wait until we started c++ in class to get a better understanding of what I was doing, so that I could actually learn from it and attempt to recreate another instance of it. After being introduced to those concepts in class I am a lot more comfortable utilizing that syntax in practice. I am excited to learn more about it and expand my knowledge.

As far as projects go, I am not worried about the current one due on wednesday, with the encoding and decoding, and I have written a similar program before during the problem solving final exam. And a Caesar Cypher, which is what we are utilizing, in my opinion is not that difficult to implement. This is speaking from the perspective of having just finished the other project that is due on wednesday, where we utilize functions and pointers to implement an algorithm to solve a specific subtraction problem from left to right. After I got the core concepts of pointers and their utilization in function definitions, work resumed smoothly. At the end of the project I was getting stuck with the input not being registered when the value was over 10 digits long. It would stop counting after that and just say that 10 digits were entered. I figured out that I was using the percent d modifier, rather than what I was supposed to, with the percent ul modifier for unsigned long int. After I corrected that, the program ran correctly for every input value I gave it for up to 18 digits. So I am confident that I will get full credit for that assignment.

November 9, 2015 C Prog

I definitely should not have underestimated this project that is due in two days. Firstly, I completely overlooked the fact that we are required to use fgetc() to grab characters from stdin or from a file, instead of fscanf() which is what we have used all semester up until this point. So far, fgetc() has no problem grabbing characters from a file and terminating, but when I use it on the command line, it grabs the characters and prints them out like I want it to, but it just prompts me to write more, rather than reading a null terminator character, which would be ideal for it to do. That is currently where I am stuck, which is lame because that is relatively early in the project. However, I have figured out what algorithms I am going to implement in order to accomplish a the required task of a Caesar Cipher. At least, I certainly hope so. I will probably have to fix quite a few logical flaws when I get to that point.

On my own time, I am taking another look at the Cave Story game that I was attempting to recreate in C and C++. After going over syntax changes, that aren't really that different from what we have been doing in C, I feel a lot more comfortable tackling this task. I understand now more than ever how important baby steps are when you're trying to create something that is large. Certainly more large than what I have been exposed to thus far.

November 16, 2015 C Prog

I ended up finishing the sam0 project on time. When it came down to it, I was not sure that I would be able to do it. At first I was looking to attempt to implement functions and solve it that route, but I ended up breaking it in to too many functions to do. That project taught me that sometimes, especially for some things that can be solved in only a couple logical steps, don't need four functions to operate. I got it nailed down eventually into the main function. The only thing that I found wrong with it was that instead of using ctrl D to exit out, it segmentation faulted on ctrl D. This worked for me. That was the only way I could get it to work for me, and at the end of the day, the main problem the program was sought to solve, was successful. I was happy with myself also, because of an algorithm that I figured out, that worked with the issue at hand. I modified my basic caesar cipher algorithm to allow it to go in a negative direction as well. This was the first time I had figured something out on that scale myself on paper.

For the project that is due this week, as usual I feel like it should be working, but it seems not to be. I think that I need to learn the functions that I am attempting to use. Once I get clarification on them, I am certain that the logic and code, for the most part, will be correct as is. It has been interesting learning how to look at programs with regards to handling bytes that make it up, rather than the ASCII content that makes it up. This introduced me to several new ways of thinking in regards to solving problems when dealing with files.

December 7, 2015 C Prog

I have done a lot with respect to programming in C and C++ over the past two weeks, especially over the break week. I find the projects that we have for this class almost easily do-able, and I am really happy with where I stand, at least as far as C goes. Over the break I resumed recreating the game CaveStory in C++. This time though, I actually understood, for the most part what was going on. At this point I am just going through a guided tutorial of sorts, as I do not know the least in structuring a major project, especially a game that renders images the screen. As of now, I can get a character from the sprite sheet I have to run around fluidly on the screen, with a refresh rate established in the window I have created. I am working through getting the background and levels rendered behind the character. The biggest thing I have learned aside from the programming knowledge, is that even the most simple ideas, can take a long time to flesh out, and be multitudes more complex than they originally seem.

As far as the end of course experience goes, I am more than confident that I can complete the projects without too much hassle. That includes the in class portion where we can not use outside resources. I guess all of the time I put into this course throughout the semester has paid off. I feel that I actually understand and can apply what I have learned in this course much more so than others due to my passion for learning and being completely interested in the material.

blog/fall2015/pgrant3/journal.txt · Last modified: 2015/12/08 03:56 by pgrant3