Ok, so some of you may not agree (yet) but if you know what’s good for you, you will soon enough! There is nothing better than Unix class, and honest to goodness, there has not been a better version of this class than the one we are currently receiving! I’ve taken this class years ago and dropped it due to too many credits and needing to relieve some stress. So what, you say? A legitimate response. Well, had I been in your position and learning all of which we have already learning as a sophomore or hell, anyone younger than my age and class, I would’ve been much better off in almost all my classes in the future. I can say that for a fact. I love this class right now. I know a lot of what we are learning, but that makes me excited for you all! I love seeing that the things I learned all during my co-op experiences are being taught in classes! I love that so much because you all will be able to take more advantage of your co-op and internship experiences and not learn things like git or GNU/Linux generics, but rather, learn all the specialties the company has to over you. I cannot wait to see what you all do in the future. But hey, I will also be the guy keeping you on your toes because I still know some things you don’t. If you want to know more, you now know where to find me.
Well. until next time everyone, stay awesome.
Current Tune (Song by Artist): “Wait (The Killabits Remix)” by Adventure Club && “Father Said (ft. Skrillex)” by 12th Planet
Current Preferred Language: Python Current Fun: Making some fun tunes with Ableton Suite 8 and blogging with blogs.lt.vt.edu
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!
So for our Intro to Unix final project, 3 other guys and I created a text-based adventure game based on the popular AMC TV series The Walking Dead. It was writting using Python and an expandable structure so that it can easily be added on to. It actually turned out really great; we’re all definitely proud of how it turned out. We accomplished every goal we set out to achieve in the beginning when we first met up.
Here’s the link to the GitHub repository where you can download a zip file and follow the README for starting the game:
Well, I did end up finding a good resource for anyone interested in programming but not sure where to find extra, concise learning resources. If interested, try Safari Books Online. It’s an online database provided by Virginia Tech. In fact, the school pays thousands of dollars, part of each student’s tuition, to have access to these resources. So if we’re paying for these databases it can’t hurt to actually use them!
All you need to type in the search box is what you’re really interested in. Just typing in “Python Programming” brings up results and titles ranging from “Intro to…” to “Expert Python Programming”; it’s perfect for any level of programmer. There’s tons of professionally done books on other languages from Java to Tcl and systems like the PIC microcontroller. This database has already sorted through the unworthy or cluttered resources that appear at the top of Google searches. You’re much better off finding serious help in this database than through a Google search.
TIP: When you get your required textbook list for next semester, look up the titles in this database. The book might be available for free and you could save yourself tons of money!
Our professor posted the last assignment for this class. This assignment is about writing an assignment that could potentially be posted as a 30 point assignment for the next semester Unix class. The assignment could be technical programming or just a written assignment. Providing solution was optional. I decided to make a technical programming assignment. I wrote an assignment that required to program that takes a character pointer and returns the character that occurred the most in the array. The main assumptions were that the array could be lower case and if there were more than one character that occurred the most the same number of times than the character that occurred the most first should be returned. I felt that this assignment is a good transition from python to c++. It is a good review of pointers and gets the students familiar to the ASCII table as well. What do you guys think?
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.
I have been testing out different Desktop Environment throughout the semester. Of all of the ones that I tried out, I seem to always go back to using Cinnamon. Cinnamon has a very simple interface that combines the usefulness of Unity and Simplicity of GNOME 2. Cinnamon was created to maintain the classic GNOME 2 look as well as be adaptable to the new features coming GNOME 3 and Unity interfaces.
Cinnamon was originally created for a different distro called Mint Linux. However, since Mint is based off of Ubuntu, porting the desktop environment to the Ubuntu wasn’t too difficult.
I think this desktop environment is the best way to introduce Linux to a new user because of its similarities to Windows XP/Windows 7. Some similarities like the task bar at the bottom of the screen helps new user break out of their comfort zones slowly.
I highly recommend anyone to give Cinnamon a shot. Just go to their website and follow the instructions to install.
As I mentioned earlier for our project we had to finish fixing the ship size and adding the multiplayer feature to the game. We are almost done with fixing the ship size. Once we are done with it, we will start on out next goal is to explore the world of networking. Since I worked on a project in which we programming a desktop game that functioned over the network, I feel somewhat confident that we might be able to use that thought process in this program as well. I think we need to explore chat server programs online. Since our grid is represented by a Array of string it will be easier for us to send data. I think the heart of our multiplayer feature over a network could just be as simple as a chat server. However, adding these features make a program complex. Since we are new to this idea, we are expecting to go through some tough time to figure this out.
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.