postheadericon Final Thoughts on Introduction to Unix

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!

postheadericon Final Project: The Walking Dead Text-based Adventure Game

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:

If you have any feedback feel free to comment below!

postheadericon Long-Forgotten Resource

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!

postheadericon Tough Next Step

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?

postheadericon “Everyone’s A Poet” Assignment

Here’s my Unix Design Philosophy Haiku for an assignment in my Unix class:

Please be transparent
Simple and clean it should be
Less for you and me!

and my limerick:

Too bad I did not know
That partitioning is slow
And shouldn’t be stopped mid-way
It may cause  a very, very bad day
’cause warranty laughed and said no

postheadericon Is There a Better Way to Run a Programming Class?

Last year in ECE2574, a C++ Data Structures class, there were 64 students crammed into a small classroom on the first day. Just two weeks later, there were no more than 15 students coming to class on a regular basis. The worst I saw was just 8 students. I thought the class was just too hard for some people so they dropped it. However, on the day of the final exam, over 50 people showed up!! I finally came to the conclusion that students, including me, don’t seem to get much out of classroom teaching of programming so they just don’t show up.

So is there a better way to keep students in programming classes engaged so that they not only come to class but participate and ask/answer questions?

Based on the programming classes I’ve been in, nothing has worked. Most professors accept that too but keep on going because they’re at least reaching a few students who are getting the most out of their [parent’s] $24,000/year payments.

My suggestion for programming classes: have a LIVE feed or terminal window that everyone can log onto/access and post questions or answers to coding solutions. To avoid fear of asking stupid answers, just first and last initials could be used to hide the identity of a shy student. Also, include color codes(red for answers, blue for questions, etc) just for fun and make it a little more user-friendly and fun to use!

Having a live feed that everyone can see and post too will keep the classes fast paced and won’t drag on and make kids feel like it’s useless to come to class. Instead, this new live feed will provide speedy interaction between students, other students, and their professor. As a result, classes can cover more topics and make sure no one is completely left behind.

So… anyone want to create that? I’m a bit busy to even google to see if an app exists already.

postheadericon Quiet Classrooms a Problem Campus-wide?

In my earlier post about shyness and its epidemic among engineers, I generalized the college of engineering only. I thought that, for the most part, all other majors were much more talkative, interactive, and generally more sociable both in and out of the classrooms. However, my ECE 2524 professor pointed out (after no one was responding in class) that the majority of classrooms at Virginia Tech were just as quiet(perhaps not as awkward though) as engineering classrooms.

In my experience, I’ve had only a handful of non-engineering related classes like Freshman English and Intro. to Psychology. During both those classes, my fellow classmates and I were much more talkative and engaged with the professors. I felt it was like that because it wasn’t a small room filled with 60 introverted engineers; it was a room with introverted and extroverted comm, business, and life sciences majors among others. Thus, the outgoing people helped make the introverts, like me, feel way more comfortable!

However, I’m sure there are exceptions; I just haven’t had enough time sitting in non-engineering classes to make a call to see if the awkward silences occur in majority their classes too, unlike engineering classes where I know no one wants to talk and ask/answer questions.

postheadericon Shy then Engineers or Engineers then Shy?

It’s become an accepted stereotype and is typecasted in television and movies and is even evident on our own campus. Engineers are shy. Engineers are introverted. Engineers don’t have many opportunities with the opposite sex. But which came first: the shyness or the career?

There isn’t nearly as much excitement on the first day of a new semester as there was my freshman year here at Tech. I no longer get to class early just to see who would come in and sit next to me whether they were great friends or friendly strangers. Since my courses consist of all computer engineering classes I know what to expect: around 40 guys and maybe 2 girls. Even stranger, no one will ever talk. Nobody attempts to make new friends or even answer questions from the professors! Sure there are exceptions, but for the most part, engineering classrooms are extremely quiet and incredibly awkward! Did the workload and stress from our pursuit of an engineering degree drive us to be this introverted and closed-off? Or has everyone in these classes been shy since they can remember? Is grouping scores of introverts driving each other further into their shells?

Personally, I’ve been trying to have a better social life but it’s been hampered by a junior level CPE workload. So the majority of social opportunities comes directly before, during, and directly after classes. However, it seems as though most are just fine where they’re at; they don’t mind if they go from dorm to class to dorm to West End to dorm to sleep to class to dorm to West End to dorm to sleep and so on. But why is that? Why isn’t there a visible social progression as classes go on?

So feel free to give your opinion on the origin of this stereotype in the comments below.

postheadericon Technical Textbooks or Lack-There-Of

Once again I’m amazed by Zed Shaw’s exercises for learning Python; you can find them for free here:

It’s a surprisingly very intuitive way to learn the Python language. From start to [I’m at the half way point right now 26/50], it’s been a great progressive increase in difficulty and even coolness! However, this makes me wonder why can’t more books or courses take a page from this guy’s book? So many, in fact too many, college textbooks are not effective at all as teaching tools. That’s why I enjoy taking programming classes, especially ECE 2524, that doesn’t require buying a $150+ book which may or may not be effective and efficient. Intro To Unix definitely has its syllabus nailed because I actually enjoy doing exercises from the class’s “book”. Every other class, however, is a whole other challenge!

My advice: rent books for just the semester from places like and never ever buy from the on-campus bookstore without checking prices online! Also, unless you just enjoy the convenience at the end of the year, don’t sell the books back to the bookstore; once again, check online to see what retailers are offering for your edition.

postheadericon Experience with Ubuntu installation on flash drive so far

I thought it’d be pretty cool to install Ubuntu on a flash drive instead of just using a VM. Turns out it is. After a couple hours of googling “how to install Ubuntu on a flash drive” and trying to figure out what I was doing wrong (I was missing a ‘./’), the OS finally installed on my new Kingston 16GB flash drive. It has all the functionality of a hard drive OS and can even save files permanently too.

So far it’s been pretty reliable. However, since it doesn’t have access to my Fujitsu’s RAM (can it?) it often slows down when you try to start applications ranging from Qt Creator to just the Terminal. It can get pretty annoying but once everything is open and running, it’s relatively smooth. If anyone else has any tips about having an OS on a flash drive feel free to comment below!

I’ll definitely update this if anything drastic happens.