Not too much happening with Unix this week. No python assignment this week and finished most of project two for ECE 3574 last weekend. That project was quite annoying seeing that book didn’t make much sense with most of what it wanted you to do. After seeing the TA, I realized how many flaws there were in the books spec. Constructors missing members that they needed, parameters that aren’t specified as to what they are to do, destructors with nothing to destruct, are just a few things among many of the problems with the spec. I guess the only good thing about it is that the program can’t be graded as harshly because the spec is so ambiguous. Glad to be done with that one though, hopefully the next one is better.
As for ECE 2524, not sure what the next assignment will entail but I’m not looking forward to it after the exercise on Wednesday. I don’t really understand the protocols at all, and I have no idea how to implement them. I have no idea how to go about creating the project like what was mentioned in the exercise. Hopefully that assignment will make more sense when the spec comes out.
Had my first issue with Ubuntu today, I guess moreso with the VirtualBox which crashed for the first time. Luckily managed to recover everything. Still having issues getting it to have the correct resolution within VirtualBox though, I don’t remember how I got it into widescreen form last time.
Python proved to be more difficult than last weeks assignment. Getting the parser to work along with the fileinput was more challenging than it originally seemed. At first I had a hard time figuring out how to handle each optional argument in the parser. Eventually figured out you can literally say if argument… and handle it. A lot more intuitive than I thought it would be. After getting that, it still wasn’t working because the optional arguments had dashes within them like –ignore-blanks. Turns out Python converts these dashes to understrikes so the statement became if “ignore_blanks”. Then the fileinput tried to take these optional arguments as files which caused more issues. Finally got all of that working and then learned about the shebang too.
ECE3574 continues to have an overwhelming amount of work. Project 2 is some exercises out of the book that are extremely annoying. The exercises require you to implement the functions listed in the book, and you have to figure out what the book wants you to do with each function and what they want you to do with the parameters passed to each function. One of the exercises you have to use some of the source code given and it’s extremely hard implementing classes and functions that you didn’t design. It would be a lot easier just to write everything on my own rather than trying to figure out how their stuff works and then incorporating it. Gunna have to go see the TA just to understand what the book expects you to do in certain parts. Sure hope there won’t be any more assigments out of the book.
Just finished Homework 2 in Python and figured it was time to write another post. I have discovered that I do not like Python very much, while syntactically i like that you don’t need squiggly brackets, and you simply do tab which is what you would normally do any other language anyway; I do not like having a debugger to step through the code. It’s really hard to figure out where an error occurred and which line is causing something to do go wrong. Also not being able to step through and watch the values of variables makes it hard to tell what’s going on. Doing the homework took me quite a while longer than I thought it would, 1. because there is no debugger, and 2. because all the documentation I have found for Python isn’t very useful. While I was trying to look up some of the functions to use they are not very clear how they work. For one function it said it returned a “tuple” which I understood to be three different parts, but I had no idea how to access those three different parts it created…what does it store those parts into? With no useful examples I merely had to search for another way to solve the problem. That’s my work with python so far, but I’ll go ahead and explain a little bit about the qt programming I have been doing in ubuntu as well.
So QtCreator turned out to be more useful than the text editor for python, but its still not nearly as helpful as visual studio. It took me probably a little over an hour just to get things working properly. First off I had to change run settings to output the run to the terminal rather than the rather useful output at the bottom of the screen that takes in no arguments. After figuring out how to pass arguments from the command line to the terminal within QtCreator, I tried to debug it and realized that the debugger had some sort of error which I believe has something to do with outputting to the terminal. After googling some solutions for another half hour, I eventually got it working after modifying a couple files. Once that was out of the way, I was able to get to the heart of the programming and I found that Qt has some nice member function for its types. the QDate type was particularly useful for this assignment which was to create a birthday reminder program. One function which saved me a lot of time was the function for QDate isvalid(). That actually checks the date to see if its an actual date that exists and it saved me a ton of time by not having to write something like that myself. Overall the program turned out to be a little easier than I thought it would be, but it still took a really long time to complete. And that’s about all for this week.
Alright so I guess it’s about time to start the first entry to this blog. This class is my first experience in Unix, and so my first objective was to install Ubuntu. Since I already had a virtual box running on my laptop, I figured that would be the fastest ad easiest way to get Ubuntu up and running. After downloading the ISO file and creating a new partition in the virtual box, all I had to do was simply install it. Once it finished installing, I played around with learning what everything was; I was surprised to see products already installed that were so similar to Microsoft Office. So far everything has been running smoothly, and I haven’t had any problems.
I began going through the lecture and exercise for week 2 today and found the exercises to be very intuitive and easy to complete. Probably took only about 15 minutes to complete and definitely worth not having to go to class on Monday. Also started looking at the commands to learn for Wednesday. Some are very self explanatory, while others took a little bit more time to understand as some commands can be used in different ways to do multiple different things. I’m also programming in Linux for ECE 3574 in the qtcreator. I may also write about some of my experiences with that throughout the semester as they relate to this class.