As I turned in my final assignment to Github (which by the way I finally memorized the commands for uploading!) I was pretty happy with how the course turned out. I learned a whole new operating system and gained familiarity with the terminal and its countless commands. I definitely learned enough to be able to hold my own in an entry-level job position.
I am especially proud of the group project that me and 3 other guys made (see the previous post for link). It is the most reviewed game on the Scholar forums and all the answers have been yes, yes, yes, yes, yes, etc. and everyone has had great things to say about it. Favorite comment: “If it was longer and you could get the copyright I’d pay to play this game!” It’s really encouraging to hear all the favorable reviews; it’s definitely inspired me to get back into the field of programming as my CPE focus and study up on it over break and perhaps expand this game or make my own!
My charge to the Unix class next spring: come to class and talk to each other!
Throughout the semester, we had an assignment to go Linux and Unix Users Group for credit. So I decided to go check it out the club. However, I was kind of over-whelmed by the information that they were discuss at that meeting. The environment made it feel like everyone in the room had to be adequate user of Linux or UNIX.
I definitely want to give the club the benefit of the doubt. I might have walked into an officers meeting or certain where veteran Linux or Unix users come to speak.
I feel like this club should I have separate meetings for Beginner and Expert users, just some new users like myself do not get over whelmed with new information. Or the club could set up workshops for setting up Linux or for working new projects.
Maybe I get the wrong experience with the club, but first impressions are tough to forget.
Is it just me or did the progression stop?
I installed Ubuntu, learned how to use the standard terminal, got familiar with the commands… now what?
The curriculum and online lessons did a great job in introducing me to Unix and how to use it and what it can do. However, how do I up my skills even further? Things like better terminals (Tmux?), remote access, greater customization, and more ways to draw me in are completely foreign still. I feel as though there are tools out there that can help me become a better Unix programmer but I haven’t been able to find them. Sure there’s the internet but it’s an even worse experience trying to sort through the garbage bloggers who are trying to teach random applications; it’s a pain to try to find good help.
So besides buying how-to books how do people get so good at Unix and start hacking away?
I mean you can only mess around with trial and error for so long, right? You have to run out of exciting new commands eventually too don’t you?
This semester went so fast and we are reaching the finals week soon. Our goal was to finish our Unix project as soon as we can so that we can study for our exams. Our project incorporates a mixture of command line interfacing and parsing data from on line. Our group is building a “fantasy football application” in Python. When the user logs in with his user name and password, the data from his fantasy football team will be displayed. This is done by parsing the data that is available on yahoo sports web page when a registered user logs in. The data is then displayed accordingly based on user preferences. We still haven’t finished the park of User interface through command line, but we are pretty much sure that we could finish this by this weekend. In addition, I am also working on the processes home work, but it seems really tough.
In ECE3574, we have finished our project on temperature calibration using message passing. I was not able to complete the whole thing even after taking a day of extension. Our next project is finding primer numbers using Qt designer. Hopefully, I will finish this assignment along with the Unix assignment.
I thought I would post my poems here so you could take a look if you wanted.
unix? you ask me
simplicity is the key
only what you need
Unix is not Windows
so it comes with many new woes
many new utilities
none that I can use with ease
virtualbox is even hard to close
Simple is the word
Only does one job very well
Why do any more work?
Unix was cool looking and different
but was difficult to understand
For doing everyday tasks,
were painful tasks in itself
But what is life without a few pains.
While writing the haiku and limerick for the assignment due tomorrow I realized a few things about the class and my feelings toward Unix. I’m very reluctant to learn new things about Unix because I’m so used to Windows 7. I don’t even want to learn Windows 8 because it’s a new operating system. While I realize that Unix and Linux can be completely customizable to your needs, the “default” package of most operating systems is enough for me. Most of the programs and packages we have had to install in Ubuntu have given me some form of trouble. My personal opinion is they should not make this course mandatory for CPE’s in the future. If you don’t want to learn a new operating system then it will be very difficult for you to learn it, and learn it well.
My latest project in ECE 3574 is about cooperative process. The purpose of our assignment to communicate between 2 different files which includes 5 processes altogether. Cooperative process is the idea of of passing/retrieving information within the processes. There are two ways that this can be done:
1) Shared Memory
In shared memory, all communicating processes must establish a region of shared memory. Each processes then reads/writes to this shared memory location. It is important to make sure that two processes may read and write at the same time. A classic example of shared memory problem could be encountered during a producer consumer problem. The producer produces while the consumer consumes the information. The best place to put the data would be in the shared memory location which could be accessed by both the producer and consumer.
There is no memory allocated in message passing. A small mail box with a corresponding mail box number is attached to the processes. The processes send and receive data through this mailbox. A communication link must be established for two processes to communicate. My current project focus of Message Passing which utilizes Posix Message Queues.
While doing research for the futures paper, I found some information about FTP. FTP is also called as File Transfer Protocol. We are aware that Unix is a server based operating system. There is one central server and the data of this server can be accessed by several other computers which have access to the parent server. Often times, the access is restricted by enforcing a user name and/or a password. Each computer is like a branch where the server acts as the root of this tree.
FTP is the way to transfer data to and from these server. It can be very beneficial in office where the main data might need to be accessed by all the employees. There is a list of FTP commands that could be found on Google. Some of these commands are:
DELE: Delete File
MKD: Make directory, etc.
All these commands are typed in the Linux terminal. There are several other ways of transferring files and FTP is one of the major and famous one out there.
Look at this link for several other FTP commands: