User Tools

Site Tools


blog:fall2015:dm016807:journal

Week 1

C prog

Captain's log, we are en route to beginning our journey through C and C++. We press forward through a language of functions, where one must declare, define, and call the aforementioned in order for them to work in our programs. We have encountered strange data types of extraordinary power: char, short int, int, long int, long long int, float, double, and long double. The latter three being used where decimal's are needed. Though we may not yet have machines, we will still attempt to go where probably almost anyone who has signed up for this class, even those who dropped in week 2, or even individuals who have lightly googled the subject, have gone before. We do not know yet where this course will take us, but we move forward into the dark regardless, with our newly learned s/p/fprintf and stdin/out/err statements.

UNIX

This first week I was not of this course, mostly in part because I did not realize I would need it… again. Figuring out how to use the journal, navigate lab46, and checking new projects are becoming second nature. I am working on setting up the class IRC channel, subscribing to the mailing list, and getting used to the repository. I still find it a bit odd that these journal entries are due two days before the project, when often times they are meant to at least partially include things about the project you had worked on. I suppose it could encourage us not to procrastinate, or to revisit old entries to update or simply include updates in future entries. Just need to put the time in and it should all come together.

Week 2

C Prog

Houston we have machines. Standard I/O and Header files soon become a part of muscle memory soon after typing the words nano and a file name. Hands on learning with Lab46, with a variety of hg commands (status, add, commit, push, pull, log, etc.). We've begun learning a new way to do arithmetic, leading into our first project beyond Hello, World. Beyond that an introduction to base 2, 8, 16, and the traditional numeric system we know as base 10. 10 is no longer ten, but one zero, numbers can now also be symbols and no longer hold the same numeric meaning we once knew. Though since this code existed before I did, in some context I'm just now learning the truth. % is an escape character, which denotes a special character when preceding something. Simplifying a number like 110111100001 has never been easier now, being able to segment it off into four three digit segments to express it as 6748 in base 8, or three four digit segments into DEI in base 16. We've learned tricks like a base 2 number starting with a 0 is positive, and a 1 is negative in signed base 10. This coincides with how they line up with base 2 numbers on the table. With ASCII characters in the mix, attention to fine detail on quotes has never been more important. It's all confusing like most things language related the first time around, but it seems to get easier each day I see it.

UNIX

I attended my first class the day before our first assignment was due. Luckily it seemed like a good one to be at, with a lot of pertinent information for the task at hand. Figuring out how to navigate creating, compressing, etc was difficult at first. Once I learned the manual command it got quite a bit better. I was confused at first by the random symbols after having opened each file, until realizing if I sat back I could make out the portions of a horse. Unscrambling them wasn't an issue, nor putting them together into a text file, however when I went to make it into an archive and zip it, apparently I did it twice and caused lines through my stallion. I fear he may never race again. Tar seems to be a more efficient way, using less read/write than many other methods. Also with it being so close to the hardware, it's compatible on almost every device. Tar.xz seems to be a more modern format, which compresses better than gzip or bzip2. It does make me wonder the type of person who first programmed some of the functionality of UNIX, with commands such as touch and finger. We learned about using cat, /etc/motd, as well as wc, rev, etc. Quotes make sense, though back-quotes could be an oddball. Next week we get to mess with the hgrc and customize our setups a bit more to our liking. For now I keep looking at notes to do things, but it should come almost naturally.

Week 3

C Prog

Things are ramping up quicker as we move on through our 4th week of classes. We've gotten into a lot more code in the ways of if, else if, and else. Getting used to not using a semicolon now is new, but you learn quick since your code won't work properly if you don't. Imagine if my computer wouldn't turn on or my car wouldn't start if I hadn't done my homework (assuming the homework wasn't on the computer), it's a much bigger motivator. We got into the rules of how else cannot exist without if, if works when you have exactly 1 thing, else if works with 0 or more, and else is simply zero or one things. So if I want a cannoli, but there is only a salad drenched in ranch, else I don't eat, print hunger grows. We got into relational operators: instruction, fetch, decode, execute, store, and their relation in the instruction pipeline. Aside from almost always using fprintf to get used to it, we're now getting used to using == to mean equals instead of the traditional math expression =. It's just a different and technically more correct way to think of equals, as apposed to just “is.” Diving deeper we got into ways to write more efficient code using our new found friend if, using multiple parenthesis to group logical expressions or formulas with && and || or that may some day save memory in our future programs. It could make the difference in the long run if little Jimmy gets to play a game or program you helped write, if his computer specs are good enough. But thanks to your knowledge of for, while, and do while loops you've saved enough memory usage over the course of the code to make it all work for him. You're welcome Jimmy. All these tools, along with the incrementation notation which looks similar to what my grade should be (a++) allow us to do this weeks project. The initial logic and math involved was very straightforward from the prior squares project, however once you get to subtracting the largest fitting number multiple of 7, I actually had to stop and think. We figured out one way and learned a few more in class, however it is apparent there is a much easier method that only my inner child could deduce. I've attempted watching the Sonic the hedgehog Saturday morning cartoon and some episodes of Jim Henson's Dinosaurs to invoke him, but despite my glee the equation evades me. If only I had some icee's to melt down and pretend they were gummy berry juice to bounce around with, perhaps that could be the key to unlocking this memory.

UNIX

This week we got into memes, quotes, and wildcards. Somehow a full(literal) quote is only one quote, while a half quote is two quotes. How a half quote has twice as many quotes as the full quote and isn't called a double is initially confusing. It seems like there are a lot of terms that I've grown accustomed to based on how people use them in my surroundings, that in the UNIX world can mean fairly different things. Backtick makes sense at least. We echo'd memes, and denoted their variable access using the dollar sign. We also learned some of the key words/environment variables in UNIX like $USER, $HOME, $PATH. Much like Mario we bashed some stuff in our shells, and messed with alias'. Our good ole friend the PS1 and PS2 also made a showing, only this time not in it's console Dark Cloud playing self. Also figured out a fix to getting stuck while trying to do something to a series of > > >'s. My retention of the things I just did last week seem to fail me. I just need to continue practicing with different commands until I know what to type, what it is, and how to use it by heart. I've reached the project and messed with it a little, but haven't figured out the commands for all the different modification options. Manual is my friend, but sometimes I struggle to input the right command to look up and end up turning to Google. Google is not always my friend. I plan to look at and work on this more in depth tomorrow. I intend to tackle this hgrc file, and reclaim the use of my mouse. Not that arrow keys aren't fun, but the longer our code gets, the less fun it will become. Depending on the option, the effect it will have on the program can vary greatly. Currently I am still a little flustered with the system, but I'm sure we'll become old chums once I put more time into customizing it and making it my own. This project is good because it will force recognition with many of the commands involved, but until you grasp that it can be a real pain.

Week 4

C Prog

For this week we are essentially learning how to dig a mote with a shovel, and then next week we're learning how much more convenient and simple it is to dig it with a backhoe, assuming you're pretty spot on with a backhoe. Only instead of the difference being the cost, it's more about our individual knowledge/skill based on effort and education. In class we've moved onto the wonderful world of containers (or composite varibles). Such wonders referred to as the array, struct, and the vowel used less than y, union. Array's being homogenous composite variables, they only deal with the same data type, in our case mostly int's. Whereas structs being heterogenous can be filled with all different data types, and contain array's within them. Unions however are like the red headed in-law cousin of structs. Syntactically they're very similar, but no one interacts with them. It'd be like if you had to room with the aforementioned cousin anytime he came over, but there's only one pillow, and it's allocated to whoever was interacting/using the bed the most recently. Much like in the auto industry, the union is rarely useful in present day application, though it was created with good intent in a time when it was necessary. Back to the topic of shoveling, this weeks project is furthering from last weeks mental math exercise to now be multiplying by 11. The trick here seems to be how to have the program detect and respond appropriately for if the input is a 1, 2, or 3 digit number, with the input only being allowed to be a single integer value. The math is pretty straight forward, as long as you remember to increment the next number by 1 if needed. I find that conceptualizing the idea behind the project and the steps isn't so bad, but putting that into coding terms can be a bit of a trouble. Hopefully that's just something that will come with time (and more practice/playing..). As for the input, it seems like we could just set it up for 3 digits always, and if there's not they'll just automatically fill in as 0s which won't matter or show up anyway. This program could be extended to 4, 5, and so on fairly easily. There's a repeating pattern when you take two numbers, add a possible carry, and check if they're greater than 9 to see if you need to make the carry 1 or not, otherwise setting it to 0. As long as we add another variable to the last and first function, to make them the same so we can loop it (setting them to 0 so they don't impact the outcome), we can relatively easily convert this program to do bigger and bigger numbers. It seems like this program will need a minimum of 4 variables, and if we don't reuse them we could probably get halfway through the alphabet. Since we're doing most of the heavy lifting this week, next weeks project should be much easier, assuming there's no additional screwball thrown in, which there very easily could be.

UNIX

This week in class we reviewed different ways to list the word count of a variety of file names. The main focus was on the editor VI, and all of it's commands and insert modes. The most important thing we learned about VI, was how to actually get out of it, being :wq to save and quit or :q! to abandon ship with no hopes of saving anything. It seems like a pretty powerful tool in terms of efficiency / time saving, however at this point in time most things I have to type require to be in a .doc file, so it's not entirely for the lazy of heart. With the amount of time you can save, I'm sure it's worthwhile to open it and possibly have to modify a little to save it accordingly for whatever course or purpose, however change is scary. I like that you can use commands like 7dw to delete 7 words, p to paste below or P to paste above, and that anything you delete is basically cut and can be pasted wherever with ease. It's still a bit of a hassle now, but once familiar it seems much better than any word processing editor I've used. Despite being a dinosaur of a program, it still holds fare more available options for quicker and easier editing to any who have grown accustomed to it. As for this weeks project, I question if I have learned anything. If I have to type one more command and get back This is a simple text file. It contains ASCII text. I might have to aggressively lose half of the keys on my keyboard. The magic number doesn't seem to give me anything, and half the other file options don't seem to help too much. I'm sure this is probably a simple thing and I'm merely overlooking or just unaware of a command needed, but I've still got two days to figure it out. I know there's some way to get it to analyze an ASCII file to see if it conforms to some language, but I haven't figured out how to make it do what I want. Also since when I nano into it, the file says the same thing about it being ASCII, it could just be lying since there were a ton of hints/bluntly stated as to things not being as they seem. I'll have to cat around and compress and uncompress some stuff, as well as reading would probably be helpful. Next up will be the riddle.html file, which I will attempt to open up in VI or just cat. I still need to get file(1) under my belt, this could be the key to my success. Overall this is a pretty interesting project, if given the time necessary I imagine it's very doable. It's probably even easy if you don't overthink/overlook things. Only two weeks to go, and then we get a full week to play around to our hearts desire. It'll be interesting to see what all I can do by the end of this course, hopefully having made it there in one piece.

Week 5

C Prog

One more week until break week, and then I can sleep in for once. So far sleeping 3-6 hours a night and taking naps has worked, though I suck at this nap thing. Set two alarms for 20 minutes, fall asleep, wake up 2 hours later, feel terrible. Must be an acquired thing… As for class we've dove into functions, basically the process after the input and before the output. We've gone over returnvalues, function names with parameter(s) that are datatype variables, as well as the three steps to function success. Declaring the function prototype, defining it WITHOUT A SEMICOLION, and using the function in the form of a call. Diving straight into funcfun we practiced some of these new found functions. FuncFun2.c took us into familiar territory of pointers, but in a very unfamiliar way. We now saw how they could point to functions, which have to be of the same data type. We also got to play with cases for the first time, and also used break for the first time. The function pointer allowed us to use one print statement for several possibilties, saving both time for more efficient laziness and memory usage. Eventually we graduated up to FuncFun17.c where we learned that when Matt doesn't get his 2pm nap he becomes exceptionally troll-y. Creating such npc characters as mudkip, with structs mario2isthebestmario, and starfishlovesyou. The premise of functions makes sense, but it'll take more practice and familiarity with getting used to how to write it out. We're definitely starting to see how this language can be used to it's full extent, and it sort of feels like a glimpse of what c++ will begin to grow out of. Functions are just more useful for larger programs or more complex situations, where variables can be altered over the course of the program. As for this weeks project, we're expanding on our old friend multiply by 11. Now that we've finished our mote via shovels, we're learning how we can dig the same mote, only better, and much more efficiently with our new found backhoe, also known as the array and loop. There's some added difficulty with numbers up to 8 digits, but with loops and arrays it's not really any more work. Adding code to display more things can be a bit of a pain, but it helps to understand each step as we go. It's especially nice for troubleshooting errors in the code that compile, but mathematically don't add up. To fufill the word count quotient set forth, here are some wikipedia entires on the design and overview of the language of C: C is an imperative (procedural) language. It was designed to be compiled using a relatively straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal run-time support. C was therefore useful for many applications that had formerly been coded in assembly language, such as in system programming. Despite its low-level capabilities, the language was designed to encourage cross-platform programming. A standards-compliant and portably written C program can be compiled for a very wide variety of computer platforms and operating systems with few changes to its source code. The language has become available on a very wide range of platforms, from embedded microcontrollers to supercomputers. Like most imperative languages in the ALGOL tradition, C has facilities for structured programming and allows lexical variable scope and recursion, while a static type system prevents many unintended operations. In C, all executable code is contained within subroutines, which are called “functions” (although not in the strict sense of functional programming). Function parameters are always passed by value. Pass-by-reference is simulated in C by explicitly passing pointer values. C program source text is free-format, using the semicolon as a statement terminator and curly braces for grouping blocks of statements.

UNIX

Just incase you didn't feel stupid enough for trying to break down the 644 code into a series of 2s making it 322, or twisting the random gibberish of some files in a variety of ways to realize it didn't make a code, there's now a whole new puzzle box! I've learned from the first one Matt isn't as diabolical as he could be, yet, and that it's mostly just using what you can see infront of you, consulting the manual on said possibilities, and trying things out. Wemux has become a close friend to the class now, making it so I no longer have to look up from my computer screen to feign attentiveness. Our vi command library continues to grow, with such cool tricks as .,3co$ which allows us to copy 3 lines to the bottom. Generally almost all the commands seem to be able to work together, which makes mastering this text editor seem quite worth the challenge. We've now discovered the mystery of dinosaurs with hats, which is basically just velociraptors with hair pieces, though I guess that's not as catchy of a title. Customizing our VI has never been easier, with such commands as set number, syntax on, set cursorline, and set tabstop=4. By making a .vimrc file in our home directory, we were able to make VI look quite a bit more welcoming. Having color coded keywords in a nice desert fashion makes it much more enjoyable to look at, as well as readable. Smartindent allows us to be more productively lazy, as well as setting the shiftwidth and tabstop. This time I'll attempt to be a little less “what's the most ridiculous thing this could mean,” and try to just go by what i see, and what i can understand from that. There's more abstract thought this time around, which potentially means more headaches, but also more possibilities some of my ridiculous notions might turn out to be correct. This project as the last one, has taken a step back on spoon feeding, which should be good in the long run, but can be a real pain in the ass for now. The process page has now diminished to a mere two paragraphs of about one two sentences each. Now for the remaining word count to surpass 640 for this week, lets look at some Linux history by Paul Cobbaut: All modern operating systems have their roots in 1969 when Dennis Ritchie and Ken Thompson developed the C language and the Unix operating system at AT&T Bell Labs. They shared their source code (yes, there was open source back in the Seventies) with the rest of the world, including the hippies in Berkeley California. By 1975, when AT&T started selling Unix commercially, about half of the source code was written by others. The hippies were not happy that a commercial company sold software that they had written; the resulting (legal) battle ended in there being two versions of Unix: the official AT&T Unix, and the free BSD Unix. Development of BSD descendants like FreeBSD, OpenBSD, NetBSD, DragonFly BSD and PC-BSD is still active today. In the Eighties many companies started developing their own Unix: IBM created AIX, SunSunOS (later Solaris), HP HP-UX and about a dozen other companies did the same. The result was a mess of Unix dialects and a dozen different ways to do the same thing. And here is the first real root of Linux, when Richard Stallman aimed to end this era of Unix separation and everybody re-inventing the wheel by starting the GNU project (GNU is Not Unix). His goal was to make an operating system that was freely available to everyone, and where everyone could work together (like in the Seventies). Many of the command line tools that you use today on Linux are GNU tools. The Nineties started with Linus Torvalds, a Swedish speaking Finnish student, buying a 386 computer and writing a brand new POSIX compliant kernel. He put the source code online, thinking it would never support anything but 386 hardware. Many people embraced the combination of this kernel with the GNU tools, and the rest, as they say, is history.

Week 6

C Prog

Reminder, don't wait until after break to write the weblog for the prior weeks information. To the best of my memory, I believe we were going over using gd and feeling out how to maneuver the space we created to make various colors and shapes. We went over how to fill in shapes with different colors, and create patterns and basic algebra or trig in loops to create images. Array's will also be an important part of this I'm sure. The project of the week is to create a circle out of overlapping squares. Additionally we need to make a different colored boarder, that's not the same color as the circle, assuming the circle isn't every color available. The most difficult part of this project, and not because it's hard, but because it's something we've buried deep down and tried to forget, is the trig side of plotting points to create shapes, and how to get each point. Using our old friends of sin, cos, and tan, as well possibly radians or degrees and some other long lost formulas. I think once you get the first shape though, it becomes much easier to replicate and modify them, just with some tweaking to get use to where you want each thing in the space created. Overall this project seems pretty enjoyable once you get the concept and practice down.

UNIX

I think we worked on more scriptfun stuff in class. A lot more practice using the $RANDOM feature, and echoing out the numbers instead of just fprintfing like how we're typically use to. The terms are a bit different in script, aside from echo we also use read and fi to end the if loop. We made a random number generator game that lets you know that you're too high, too low, or correct in your guesses. The code allowed the user to know the number for the purpose of testing, but that's easily removed. We can also set the number of guesses allowed before the program terminates. A little more practice with breaks as well. As for the project we're getting to learn a little bit of HTML for this adventure for web hosting coding. We'll use these several web pages that we created to make an adventure of sorts out of it. It's up to us what theme to use, if any, and how random we want the 9 or more levels to be through the adventure. This will be one of the more interesting projects in terms of actually sharing it with others. By that I mean we're actually encouraged to share our programs and try them out, otherwise the only person to get to enjoy them would be Matt.

Week 7

C Prog

If I gcc a shell script for a third time, I might just flip a table. Chmod, chmod, chmod, chmod, chmod. Don't forget the u+x when necessary. Completed the a week and a day early, really only a day early, but good ole push-backs make it all the better. It was a fairly easy project in retrospect given most of the code, and examples. The only real annoyance is that with larger squares, and only using a point every pi/72 there's no easy way to make the final point on the right not look awful if you alternate your colors. There's just one box sitting on the rest, and the only way I can think to get rid of it is to either insert tiny rectangles to emulate 2 other squares overlapping with the appropriate colors, or add so many more points that they blend much nicer and aren't as visually boxy. This past week in class was a grab bag of various things to review/learn depending how well you've paid attention, and get comfortable with before delving into the world of C++. The next project is another mental math one, it feels faintly familiar to the multiply by 11 project we did before break. The main wrench in the works that I think is in this one, is this idea of pointer functions, and all the things that go into that. Let's just call it an interesting project.

UNIX

Same thing as prior, ingrain the different types of compilers so you don't lose any more code. that's simply not productive to our laziness. In class we've messed with more scriptfun shellscripts, making pseudorandom number generators and setting parameters for user inputted guesses with how many guess allowed / indicators of how close the guesses were. A lot more practice with loops and learning more about how to run commands outside of the usual text editors for ease of checking things/understanding. The two projects coming up are the html web adventure which isn't too bad so far, and then a unix data recovery project. The first puzzle box was a pain, the second one felt much easier aside from an extra secret space at the end of a file… This seems to have a similar feel, and will hopefully come more like the second puzzlebox than the first. Seems like it'll be a lot more practice in decoding, and more to the point of how to manipulate the different bases of 2, 10, 8, etc. It makes me curious how much time and effort is put into the really in dept data recovery, the stuff companies like Staples and Best Buy send out and charge hundreds of dollars for, if not more.

Week 8

C Prog

This week we have begun learning the joys of programming in C++. Realistically it's not that much different than C, and we're using all the same things we learned in the past and applying them accordingly. There are an assortment of new file extensions to choose from, .cc being the one I'll likely be using, and a new compiler in g++. There was a lot to learn in terms of public and private access, and various innuendos to go with them as such. The project for this week was extended from last week, in part because all but 1 person was still fairly far off from completion. Maybe two people.. one other was close. The mental math aspect of the project isn't anything new, and something we've transitioned nicely into as a constant reminder. However we sort of just dove into functions having never done a project with them before, with the added joy of pointers. Functions are more confusing due to how much the setup changes, where you define and call can vary, and everything seems much longer. I understand their importance, and the advantages they give to very long code with repeated actions, they're just currently unfamiliar territory still. It's no longer the very simple linear a = this, b = that, do this, do that, all done! Though we have been given extra time, and also this is something we have to learn to continue on, so we have no one to blame but ourselves if we aren't progressing. The next project looks to be a bit “easier,” in terms of how to conceptualize it and make it work. Also having just gone over cryptography in discrete structures helps.

UNIX

This week in UNIX, we looked at an abundance of ways to treat our ASCII cat in ways PETA would not appreciate. We learned different programs we could have running, how to kill them, how to freeze them, how to reanimate them (sometimes causing them to actually die, since they don't when frozen). Though I think technically they were already dead and just weren't visually represented as such until you tried to unfreeze them. We also worked on ways to grep things, like acquiring specific usernames and number of terminals open. The project for the week is a bit reminiscent of the puzzle boxes of the past. It's a data recovery exercise, which mostly involves our ability to utilize the manual and our knowledge to manipulate data. I think it'll be another one of those projects if you don't get right away, you'll bang your head until you do get it, and then you might bang it one more time for not realizing how simple the answer was. Class on Thursday was pretty much cancelled by NYSEG, so the entry's a bit shorter on relevant info for the week.

Week 9

C Prog

We have continued on with C++ learnings, with tuesday's class mostly being a review of the workings of a variety of permissions between parents and children, namely being that children do not have access to their parents privates. Past the review of rectangle.cc, with all of it's this →, return, setting and getting of the public and private types, we now have digit.cc. We left off after setting up how to increment our digit based on bit, decimal, value, etc. to have decrement left over for Joe. However despite being in class past the scheduled time, we never really ended up writing much new code and more so just going into other ideas based around it. As for the lab this week it's a bit more interesting in my opinion because we're dealing with very simple ciphers. In this case, a caesar cipher to encode and decode with. From hearing what we needed to do, it sounded extremely simple, though on closer investigation that is not so much the case. It still feels easier than our last project though, so that's something. I think since this has like a real world spy feel, despite it being extremely dumbed down and simplified, it makes it a bit more fun.

UNIX

In UNIX we went over some more commands you can use in vi, and some in nano, to make life a little easier when coding. Most of Thursday's class was more of a review for people who had finished last weeks project, because some people had still been struggling with how to do it, or understanding what they did to do what they did. It definitely felt like the type of project that you could pretty easily throw your keyboard and go to a bar after trying to think on it alone in the dark for a couple hours. Luckily there's power in numbers. Even if some of those numbers lead you astray with a bunch of simple arithmetic to figure out values and places you don't need. This weeks project is calculating the week of the semester based on user input for the name of the semester, start and ending dates, list of days class does not meet and day to check for the semester week. There's a lot of information at hand, but it doesn't seem conceptually all that awful, maybe that's because of what we had to deal with last week. By contrast this seems fairly simple, and it's just a little bit of a headache to figure out how to set it all up to recall and read properly, but once you get into the flow it should be easy to finish out.

Week 10

C Prog

Just one more week, and then there's a break. You can do this. And then there's two weeks, and the final experience and personal know how stuff. You're screwed. As for class this week, we worked more on digit.cc, learning more in the workings of c++ and how much more we have to write to it than c. Matt did mention the possibility of the void digit :: decrement() being on our end of year experience thing, make a mental note of that. Maybe even look into working on it ahead of time, you know, to make it that much easier. The project continues to grow with all the various get and set base, sum, carry accessor functions, while decrementing and incrementing the stuff. As for the projects, they continue to get more complex as expected. Need to put more time into them , only 3 weeks of class left, slacking will quickly snowball downhill. The last project was mostly confusing in figuring out how to use the !=EOF, getting information from cypher.key files and setting that up as a default if no cypher key was given from stdin, fun things of that nature. I understood how the last project worked out, and could look at code to recognize what was happening, but writing it from scratch typically gave me a flight response. I think working it out on paper first, like is typically asked of us in the project, helps a lot. Must submit next time.

UNIX

This week in UNIX we continued to increase our knowledge of basic but useful command line terms for catting and grepping. We even took at look at seding. It was part review, and then moving forward, on things like finding words with no lower case vowels by typing cat words | grep '^[^aeiouy]*$'. This goes from the start of the line to the end of the line, making sure that aeiouy are not any of the included, with the * being 0 or more of the previous (or not of). Another good example was to find all the words with the start and end with a vowel, that are 2 or more words. We did this by using cat words | grep '^[aeiouy]$.*[aeiouy]$'. Again this looks for words that at the start(^) have a lower case vowel, are at least two letters(.*), and end($) with a lower case vowel. The project we have this week is an extension from last weeks, working with the calendar and figuring out what semester it is based on the week given. This I will begin working on shortly, days before it's due, as is customary of my people. We trans procrastinatory people can't help it, and any nay sayers will be abruptly reminded to check their privileged on twitter as such.

Week 11

C Prog

So this is it, this is what it all comes down to. This week we finished off more in the bag of tricks, basically just trying to finalize things we've done and adding on a few other things for scripting/C++. It seems like students and staff alike are ready for it to be over, so to be honest it's harder to pinpoint what we did each day. The last project was a nice one to go on vacation to, and I finished beforehand to load up on bonus points which will hopefully alleviate some of the previous screw ups in terms of points. My brain is mush and this final experience project things will probably be the downfall of it into an even more pureed form. Overall it's been a good semester, I think we learned the majority of what we were meant to. I dread to think of what I'll have to attempt to recall from the weeks prior the break… Oh well it will all be over soon?

UNIX

Same thing as above, blah blah blah everything is almost over and very few people are operating on anything other than sheer forceful will. I feel I've learned quite a bit over this course, and it's a much different setting than C. It's less piece a, apply in project b, piece c, apply in piece d. Not to say all of C was that way, there was a lot of go find stuff in the manual or google yourself moments, but UNIX seemed to have way more here's piece a, now do project theta. It took a bit more collaboration and abstract thought to accomplish the goals. Hopefully the final experience project will be just as thrilling, though I fear I'll miss the grade school html coding adventure. I am curious as to if we could pluck students from another college in the same / similar programs and see how they've learned and applied their knowledge vs ours. These next two weeks will probably fly by, aside from the few hours of bashing my head against the keyboard while trying to complete the final project. Soon we'll be back to mindless self indulgences and not having to put on pants for hopefully days on end.

Week 12

C Prog

So this week we were introduced to our End of Course Experience and FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU

UNIX

UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUnnily enough I'll need to put a lot of time into it. 19 credit hours didn't seem so bad until now, when everything is being piled on. It makes me wish we started in early August and finished finals the week before the Thanksgiving break. I assume they keep summer the length it is to allow for summer classes and to reduce the amount of time students can forget things from fall to spring… but who knows with how these systems work, assuming there is a logical explanation. If only we could be graded on everything before the break in UNIX… yea, that'd be good. It's nice to know students aren't the only ones struggling to stay on topic and focus'd though.

blog/fall2015/dm016807/journal.txt · Last modified: 2015/12/07 22:12 by dm016807