Coding Habits
You know you’ve been coding too much when you try and add a semi-colon after every sentence;
You know you’ve been coding too much when you try and add a semi-colon after every sentence;
On Thursday, Ubuntu prompted me, asking if I wanted to upgrade from version 11.04 to 11.10. I figured it wouldn’t hurt to have the latest version, so I clicked yes to the upgrade. It told me it was going to take 2 - 3 hours to upgrade, which I was fine with. In the middle of the upgrade, the screen turned black and a message told me that a file was corrupted. I started to panic, so I turned off my computer and turned it back on. Instead of booting up like normal, it brought me to a recovery mode screen. At first, I tried booting up my computer regularly, but that didn’t work. Then I tried booting it into safe mode, which brought me to a low-graphics version of Ubuntu, but I was never able to get past the logo screen. I started to panic even more because I had some unsaved files, including Java exercises and my Priceless Item stuff. I fiddled with the options for awhile, and tried booting up into previous Ubuntu versions, but nothing seemed to work.
On Friday, I asked my mom if she could help me recover some of my files before reinstalling Ubuntu. She took out my HDD and tried to hook it up to her Windows 7 computer, but Windows couldn’t read the HDD for some odd reason. We tried the same thing on my brother’s Mac, but it didn’t recognize the HDD, either. Then, I got a bright idea. I decided to download a fresh copy of Ubuntu 11.10 onto my 2GB SD card. Ubuntu has this neat feature where one can try out the OS before installing it onto the HDD. I plugged my SD card into my laptop and booted Ubuntu successfully. And what do you know? Ubuntu was able to read all of my files, so I backed up everything that I needed onto my 32GB SD card and then re-installed Ubuntu.
It recognized that I still had Ubuntu 11.04, and it asked me if I wanted to upgrade instead of deleting everything and starting over. To make a long story short, it froze before ever finishing the update. I finally said “screw it” to upgrading properly, deleted my partition, and installed Ubuntu 11.10 fresh.
I have no idea why Ubuntu acted the way that it did. I really hope I don’t have to do this every time I want to upgrade my OS.
I also want to mention something about Ubuntu 11.10 before I end this post. I like how they made the Software Manager more user-friendly and more-prone to being able to recognize .deb files.
One thing that I am not happy with is how they removed support for the official Sun Java 6 packages and you are now forced to use the OpenJDK packages instead. As a developer, I don’t appreciate this in the slightest. OpenJDK will always lag behind as well as not supporting all of the features of the official version. I looked up a tutorial, and I successfully installed the official version of Java 7. When I decided to open Eclipse, I got this vague error message about it not being able to recognize my JDK version. I got flustered and searched everywhere for a solution, but nothing worked. Not wanting to deal with it, I reluctantly re-installed OpenJDK 7 and then the Eclipse problem went away.
Lesson learned: always back up your stuff before upgrading to a new OS. Also, if the OpenJDK becomes a problem for me, I might have to look into different Linux distributions that support the official version.
Today, I had a Java quiz. It was extremely simple, assuming that I had a competent IDE to use. Eclipse? I wish that were the case; I would’ve finished the quiz in 5 minutes tops if I was using Eclipse.
Instead, I had to use this ancient, proprietary, IDE called “Code Warrior” that nobody has ever heard of and is a piece of shit. I can’t even figure out to make a new class file; it’s complicated and doesn’t even work the way that I expect it to work. Since I knew I was under pressure and didn’t have time to figure out how to use it, I simply deleted lines of my calculator program and edited in the new stuff that was relevant to the quiz. I’m all set, right? I wish it were that easy. Code Warrior does not have a compiler built in, it uses the god awful Windows “cmd prompt” that wants to be a terminal but fails so hard. Error highlighting, right? Every good IDE underlines incorrect code in red and gives a small description about it. Code Warrior has no such feature. It waits until you attempt to compile the .java file and then hits you with a barrage of error messages that make no sense. Yep, you guessed it. It’s the equivalent of writing code in notepad and manually compiling it using the words “javac example.java” and “java example.”
Actually, it doesn’t even do that. It compiles it to a .jar every time, which makes no fucking sense. Why on earth would I want my program to be compiled to a .jar unless I tell it to? What audience is Code Warrior catering in? What purpose is it serving? To be frank, nobody. I quickly Google searched “Code Warrior review” and the results gave me content dating back to 1997. No self-respecting programmer would use this instead of Eclipse or NetBeans (I personally do not like NetBeans, but at least it can call itself an IDE).
I did finish the quiz, but I almost ran out of time when I didn’t need to. I’m going to ask my teacher on Monday if I can use Eclipse in a polite manner, and I will state the advantages for doing so. I already know Java, and using Eclipse will help me get my work done quicker. There are literally no downsides to using an IDE that I’m comfortable using, especially under pressure. Also, I don’t exactly agree with using proprietary software, either.
If you ever have the unpleasant experience of using the Code Warrior IDE, I pray for your sole.
Sometimes it’s a pain to have Ubuntu as your operating system. Don’t get me wrong, I love Ubuntu, but whenever a new version of Java comes out, I have to wait until the repositories are updated, which can take some time. I keep trying to manually install the Java 7 JRE + JDK, with no success. I know I’m probably not going to use any of the new features any time soon (such as Strings in switch and multiple try-catch blocks) but the pain of knowing my version isn’t entirely up to date is too great to bare. I’ll give it time; Eclipse hasn’t even updated anyways, so I wouldn’t be able to use the features even if I wanted to, unless I go back to the days of regular text editor compiling. *shudders*
By the way, I’m going to shift gears into making my text adventure game. I wasn’t working on it before because I felt I needed more time to learn Java, such as i/o streams, complex GUI creation, exception handling, and building applets, among other things. I need to finish the script ASAP (which I’ll probably be working on all day tomorrow) When I start to work on the programming, one of the hardest problems I foresee having is being able to create items, which is typical for any text adventure games. So far I have two ideas on how I can possibly implement them:
1) Create a properties file that contains a list of every item, with values set to either true or false, that will be checked by the game to see if you actually have the item. The downside to this would be that users could easily cheat by editing the file.
2) Create an item object in the form of a vector (not entirely sure how I would do it) and then add a constructor method to a Location object so it can take an item an argument, which would lead to easy item creation in a specific area.
Whatever I do come up with, I just want everyone to know that I still plan on making the game, no matter how many struggles I have.
(Source: aguiney)