User Tools

Site Tools


haas:spring2015:unix:projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
haas:spring2015:unix:projects [2015/03/04 13:56] wedgehaas:spring2015:unix:projects [2015/04/19 14:01] (current) – [Projects] wedge
Line 11: Line 11:
   * [[/haas/spring2015/unix/projects/pbx1|pbx1]] (due 20150225)   * [[/haas/spring2015/unix/projects/pbx1|pbx1]] (due 20150225)
   * [[/haas/spring2015/unix/projects/udr0|udr0]] (due 20150311)   * [[/haas/spring2015/unix/projects/udr0|udr0]] (due 20150311)
 +  * [[/haas/spring2015/unix/projects/udr1|udr1]] (due 20150318)
 +  * [[/haas/spring2015/unix/projects/udr2|udr2]] (due 20150408)
 +  * EoCE - bottom of Opus (due 20150514 by 4:30pm)
  
  
  
  
 +
 +
 +
 +======Week 12======
 +  * EoCE(s) have been deployed to your Opus. Check there (be sure you are signed in to the wiki, otherwise it will not show up). The link and project page here will not longer be active.
 +  * Reminder: no class this Tuesday (April 21st, 2015) as I will be away at a conference.
 +  * Please do keep e-mailing me questions.
 +
 +======Week 11======
 +  * I have put together the End of Course Experience (EoCE) for the class. This is your final assigned project for the class (and is assigned in lieu of a final exam). When I finish all the other EoCEs for my other classes, the project link above will disappear, and your pertinent EoCE(s) will appear at the bottom of your Opus (so when it disappears from here look there).
 +    * It is open resource, but closed person.
 +    * You are expected to work on this by yourself (you may ask me for clarification).
 +    * It, along with anything else outstanding that you'd like to receive credit for (even if just for consideration), please have submitted to me in the proper places by 4:30pm on Thursday, May 14th, 2015.
 +======Week 10======
 +  * A couple people have experienced problems updating their Opus (a failure "cannot reach" type of page appears, as if the connection was dropped). As best as I've been able to tell, this is some sort of upstream issue, possibly with a content filter (it only seems to impact the UNIX class, or people talking about scripting and providing syntax, and has been occurring about this time in the semester for more than a few semesters now). We spent some time talking about how to establish an ssh tunnel to piggyback opus-oriented traffic onto your existing ssh connection.
 +  * Covered signals and process management, looking at:
 +    * ps
 +    * jobs
 +    * top
 +    * whowatch
 +    * kill
 +    * jobs/fg/bg/CTRL-z
 +      * you can attempt to launch a job in the background by suffixing an '&' to the end of the command-line
 +
 +======Week 9======
 +  * **udr2** has been extended over break. It has been positively confirmed that asking questions and spending time playing with these concepts leads to success: at least one person has completed **udr2**.
 +    * I made a tweak to **bgrep** to allow for better start of address reporting on displayed results. Let me know if anything seems out of whack.
 +
 +======Week 8======
 +  * **udr2** is out.. continuing our data recovery and exploration theme, we enter the realm of data acquisition and analysis.
 +    * As I've said all along, the sooner you start on this, the better.
 +    * So far, nobody who hasn't asked me questions has gotten through udr1 on their own... not that it is hard, we just make it hard (mental blocks). I've been e-mailing back and forth with the successful project performers since before the weekend. Just saying...
 +  * The big stumbling block is conceptual: not understanding the difference between text and binary data (not understanding that all text is binary data, but not all binary data is text). Not realizing that one cannot effectively use text processing tools on non-textual binary data (I cringe everytime I see someone straight catting or nanoing/vi'ing data.file)...
 +    * Reading through the project (heck, reading in general) is important.
 +
 +======Week 7======
 +  * **udr1** is out! It continues our UNIX file innards explorations, along with providing you an opportunity to review UNIX file permissions.
 +  * Once again, the intent is to get people to ask more questions.
 ======Week 6====== ======Week 6======
   * Class was canceled? Yeah, campus closed, apparently- although you wouldn't have known that by the dedicated group that hung around for the typical class time. We cleared up a few questions on **udr0**, and then reviewed wildcards again, and started exploring some organizational aspects of **C**.   * Class was canceled? Yeah, campus closed, apparently- although you wouldn't have known that by the dedicated group that hung around for the typical class time. We cleared up a few questions on **udr0**, and then reviewed wildcards again, and started exploring some organizational aspects of **C**.
Line 30: Line 71:
  * To execute: ./hello  * To execute: ./hello
  */  */
-#include <stdio.h>  // referencing the C library stdio are the standard I/O operations+#include <stdio.h>  // referencing the C librarystdio is the standard I/O operations
  
 int main() // everything needs a starting point, in C, that is a function called main() int main() // everything needs a starting point, in C, that is a function called main()
Line 43: Line 84:
 } // close code block } // close code block
 </code> </code>
 +
 +Memory variables are merely variables whose purpose is to contain a memory address. If we want to see what is inside the memory address contained within our memory variable, we have to dereference it, with the <nowiki>*</nowiki> operator. Note our addition of **i** to message within the parenthesis... we are numerically adding numbers to the address, BEFORE we dereference it. This is known as **pointer arithmetic**, and can be used to enable rather slick solutions to problems.
 +
 +The key takeaway here is that, even if you don't know C enough to write a program on your own, you should be able to identify organizational structures, and even tweak minor things to enable the program to perform in a more optimal way. There are manual pages that can be referenced for many STDIO C functions (including **fputc**), and I would highly recommend perusing some of them to get a better handle on what is going on.
 ======Week 5====== ======Week 5======
   * Between the most excellent puzzle boxes and your ongoing explorations in general, you're likely chomping at the bit for increased excitement. I am not one to let you down! Fresh off the project assembly line, I give you **udr0**, which has us solving problems under a UNIX Data Recovery theme.   * Between the most excellent puzzle boxes and your ongoing explorations in general, you're likely chomping at the bit for increased excitement. I am not one to let you down! Fresh off the project assembly line, I give you **udr0**, which has us solving problems under a UNIX Data Recovery theme.
haas/spring2015/unix/projects.1425477411.txt.gz · Last modified: 2015/03/04 13:56 by wedge