« Archives in May, 2011
29
May

Untitled 2 – Letting it out

Hello all.

I don’t know how to begin this, so I’ll just jump right into saying I’m depressed. The past couple of days have been like hell for me, but I’m not entirely sure why. I’ve spoken with friends, and actually gotten into a little arguement with one. Thankfully, they seem to cope really well with my sort of arguing. But, in case they can’t (I know you’re reading this), I’m sorry for pushing my opinion. That’s not me, so I really am. Another one’s also tried really hard to make me feel better, which I appreciate a lot.

Last night I decided to share a photo of my ex and I that was taken back at the start of last year, when we first met in person, on Facebook. I was hoping this would make people, including my ex, see how much I care about her. Unfortunately, I got nothing in response (except a comment from one friend that was up at the same time as I was, and that I was discussing it with). This morning when I checked, and saw that my ex was online, it made me think that she was ignoring me or just didn’t care. Which cut really deep. So I just decided to give up trying, and turned off Facebook chat.

Today, since turning off chat, I’ve mainly just played Minecraft. I’ve been carving out a 3×3 grid of 5x5x3 rooms, going down into the Earth below. It’s actually kinda helped keep my mind off some things. But I’m still finding it hard to cope. I tried listening to music while playing Minecraft, Solitaire, and talking to friends, but that hasn’t really helped too much.

I miss my ex. A hell of a lot. But I don’t think she notices, or even cares. It hurts a lot to think that she may have moved on, when I’m still suffering really badly. Makes me feel like crying, to be honest. To those that think guys shouldn’t cry, why don’t you try being dumped by the one person that means the world to you? She still means that much to me, even though she doesn’t talk to me. I’m scared that I may never hear from her again.

The past two months have been a real rollercoaster. It’s had its ups, when my ex has spoken to me and laughed with me, and it’s had its downs, when she’s disappeared and I’ve gotten worried or when she’s just completely ignored me. I don’t know what’s coming next, but I don’t know whether I want to find out.

I’m just gonna end this here. Thanks for reading.
Robert

27
May

Weekly catchup – Week four

Hello again, everyone. Welcome to week four of this series. I can’t believe how long it’s been since I started this. Lets get straight into it, shall we?

Monday: Another early morning. Gotta love them. This week in CNA the lecturer continued on about the data link layer and different technologies used within the internet. That’s as much as I took in as I chatted with the guys around me. SEGP, on the other hand, I paid a fair bit of attention in. We had a guest lecturer from a small company in Adelaide, who talked about the company and a little about the industry then answered questions posed by us. It was a very interesting lecture. After we’d finished asking questions, we got pizza that our normal lecturer had gotten for us. It was very tasty. After this, I just went home and worked on my PT assignment.

Tuesday: I got woken by a text from a friend that I had organised to catch up with (again). After getting that text, it took me just over half an hour to get ready and leave for university. That would have been the quickest I’ve ever gotten ready for anything. At university I caught up with the friend and gave them a quick tour of the first three levels of Innova21 (the new ECMS faculty building), then went to the SE lab with them to do some work. I’ve learnt I’m never to give a tour again. In the SE lab we just chatted with a couple of the guys that were in there, and did some work until my friend had to leave. At that point, I just started working on my PT again until my group’s weekly meeting. When (most of) my group had turned up, we organised what classes we were going to review for our individual assignments (code review) while also working on the actual code for the project. I feel we’re getting really close to finishing it, if it isn’t finished already. Then a few of us went to our lecture for the day, CA. It was on storage and IO, which was so boring that we left midway through the two hours.

Wednesday: I had half organised the day before with one of the guys in my group to go in early-ish and work on the code review and the actual project, but in the end I just stayed in bed until about 10. It wasn’t a good day, in my mind. After getting up, I worked on getting more of the coding for the group project done, and also worked on my PT. By the end of the day I’d gotten it all done, which I was happy with. Only got 25/28 on the automark for it, though. But I wasn’t too fussed.

Thursday: I woke up later than I should have, and got into the group meeting (with the lecturer) late. Fortunately, nothing was really talked about, so I didn’t miss anything. After the meeting we just worked on our code reviews and getting more of the code fixed/finished. Then we went to the PT lecture. It was supposed to be a lecture on optimising code, followed by a review, but only the first part of the lecture was completed. This made me, at least, a little happy. Didn’t have to stay for the whole two hours. The lecture itself was very, very boring, though.

Friday: Today was sort of like Wednesday, in that it wasn’t a good day for me. I didn’t get up until quarter to 11, and have done basically nothing all day. I’ve played a little Minecraft, though. It’s kinda funny, there was so many bugs after the release of Beta 1.6 that the team making it had to release four bug fixing updates (Beta 1.6.1 to Beta 1.6.4), and it seems to be there’s still some major bugs somewhere in the code making strange things happen. Fortunately the game still works, so it’s not too bad.

That’s about it for this week, I think. Thanks for having a read.
Robert

26
May

Untitled

Hey all.

I was watching tv last night, just surfing through the channels, and I stumbled upon The Butterfly Effect. Even though it was already half way through, I decided to keep watching. Seeing it got me thinking about things in my own life, and wondering what would happen if they were different. For example, almost two months ago my ex broke up with me. I know I made mistakes in the relationship, but how would we be if I hadn’t? Or what other mistakes could I have made that would have lead to the same conclusion? I don’t think there’s any real answer for these questions, apart from just not knowing.

That being said, what’s wrong with making little mistakes in relationships? I feel there needs to be at least a little conflict in a relationship, so that the couple can “grow” and become better people. I don’t feel that society feels the same way anymore, though. They seem to take it for granted that they can always act happy and get away with it.

I’ve been getting conflicting views on things lately, mainly to do with relationships. One of my friends has been trying to help me move on, which I appreciate, but I don’t feel that it’s very helpful when I don’t particularly want to move on. Another of my friends, a somewhat newer one, is going through a similar problem to me with their (currently) ex, and we’re helping each other to stay positive. That said, we both still miss our (ex) partners, and want them back in our lives. Whether that will happen, we don’t know.

In the last year, I’ve changed a lot. A heap has happened for that to happen, including the breakup. Since then, I’ve started this blog (obviously), which I’d never even thought about doing if I didn’t have to deal with that. I don’t take my laptop to university as often as well, which surprises even me. I don’t feel I’m the same person I was a year ago, because of all the changes in my life. It’s actually kind of scary to me.

I don’t know what else to say at this point, but also not sure how to end it. So I’ll just say thanks for taking the time to read this. If you have any questions, post a comment below or get in contact with me however you can.
Robert

23
May

The music of a Reaper

Hey all.

I just thought I’d put out there the current playlist on my mp3 player (no, not iPod – I’m against the Apple revolution). I have condensed the list down to only the songs I actually listen to. Feel free to comment with any recommendations for me, or links to videos of songs (if I don’t already have a link).

Enjoy guys and girls.
Robert

22
May

Weekly catchup – Week three

Welcome to week three, all. I’ll just jump right into my week, shall I?

Monday, just the usual early morning again. This week, CNA was more on the Data Link Layer (DLL). I actually don’t remember what we learnt, how awesome am I? The CS forums say it was on Ethernet/ARP and PPP (point to point), though. So I guess that’s what we learnt about. SEGP was kinda interesting (not). I believe I nearly fell asleep before the lecture even started, so go me. Anyway, the lecture was on “Sociotechnical Systems”, which is to do with the hardware/software interface and how users will use our systems (from memory – don’t quote me on it). After these two fairly boring lectures, at home, I remember working on my PT assignment (number 5). I don’t think I got it working, though.

Tuesday, another spectacular day. I went in early to catch up with a friend again. Always good to do that. After we’d had lunch and chatted for a while, she had to meet up with another friend, so we walked back into uni and went our seperate ways. I went up to the SE lab for my group’s weekly meeting (an hour early), and chatted with one of the guys in my group that was already there. The meeting was the usual. We organised what we’re doing and how we’re gonna do it, then split up and worked on seperate things. I worked on my PT for the rest of the time at uni (didn’t bother with the CA lecture), and I actually got it working (after putting my non-working solution through automark and finding out where it was wrong). So I was able to get my full marks.

Wednesday was just as good as last week (not). All I had was the PT tutorial, which wasn’t bad actually. DK really knows how to make lectures and tuts interesting. This week’s tut was on sorting algorithms (from memory), and sorting large amounts of data. That night I had my slot car racing. I didn’t do too badly. Out of 11 of us, I came 7th after the first set of races and 4th after the second set. Was a fairly good night, but went kinda late for me (was dead tired by the time I got home). Plus, I had a lot on my mind.

Thursday started with another 11am meeting. They’re getting so short now, it’s just ridiculous. But we talked about the Software Test Document (STD – we already know the jokes, so don’t bother people), and whether our template seemed correct for our project. Apart from some small changes we need to make (or our testers need to make), the lecturer said it seemed fairly right. In the two hour break before the PT lecture, one of the guys in my group and I went over to Rundle Mall to buy a laptop. That was fairly interesting. After buying it, we just went back to the SE lab at uni and worked on PT assignment 6 and 7. Assignment 6 is REALLY simple. It’s just implementing one method for reading in the lines of a file, one method for using heapsort to sort the lines, and another for using quicksort to sort the lines (see my last post “How to: Quicksort“). I wasn’t able to get quicksort working before the lecture, but I did have heapsort working. The PT lecture was quite boring, as usual. No point even trying to remember what it was about, cause I honestly don’t remember.

Friday. What to say about Friday? My day off, of course. I worked on getting quicksort working, which I did, then started on assignment 7. It’s a lot harder than I thought it would be. But I’m getting 13/21 at the moment, so I’m not doing too badly. That’s really all I did on Friday. I may have also played some games, but that’s really it.

Well, that ends another week in the life of me. Hope you all enjoyed.
Robert

20
May

How to: Quicksort

Hello all,

Welcome to the first of my how-to series of posts. This post I decided to explain how to write a sorting algorithm (using psudo code), in particular Quicksort. As a bit of background, Quicksort was created in the 1960s by Tony Hoare and has time complexity O(nlogn) which makes it one of the fastest sorting algorithms available to software developers (and, in fact, mathematicians) along side merge sort and heap sort. Unfortunately, it has worst case complexity O(n2) which is on par with the ‘bad’ sorting algorithms like selection sort and bubble sort, but this only happens for already sorted input data. I chose this algorithm because I have been learning it as part of my university degree in a course called Programming Techniques.
Now, onto the code:

void QuickSort(int *array, int low, int high){
   if high-low <= 0 then return;
   int pivot = findPivotPoint(array, low, high);
   int part = partition(array, low, high, array[pivot]);
   QuickSort(array, low, part-1);
   QuickSort(array, part, high);
}
 
int partition(int *array, int low, int high, int pivot){
   while low <= high do
      while array[low] < pivot do
         low = low + 1;
      done
      while array[high] > pivot do
         high = high - 1;
      done
      if low <= high then swap(array[low], array[high]);
   done
   return low;
}

You may notice the call to the undefined method “findPivotPoint”. This is because the choice of pivot point is not strictly defined. You can make a choice of the first element (or low in the passed parameters), the midpoint of the array ((low+high)/2), or even the median value in the array between low and high (which would be estimated in another method). The most valid choice, as proposed by some computer scientists, is the median value.

Now for an explaination of the code. If you don’t want to know how it works (which should be none of you), you may stop reading now. Otherwise, read on.

The first line of Quicksort is the base case for the recursion. Basically, if there’s no elements to sort, then don’t sort it. Makes sense, doesn’t it?

Partition is what does most of the work. The first while loop finds the next value that’s greater than the pivot value (which should be on the right of the pivot), and the second loop finds the next value less than the pivot (obviously should be on the left of the pivot), and then swaps them so that they are on the correct sides. It does this until it’s fixed both sides of the pivot.

Quicksort then recursively calls itself twice, once for both sides of the the position reached by partition after it’s major loop. The process of sorting the array then continues on with the shorter arrays.

That’s about it for Quicksort, and this post. Thanks for reading (if you got this far).
Robert

15
May

Weekly Catchup – Week two

Welcome to week two of my Weekly Catchup series. This week I’m going to mix it up a little, and try to be less ‘factual’ and more ‘fun’ (as I’ve been told from feedback).

Well, I’ll start off with Monday again. Was another early morning (as usual). Had my two lectures for the day, which weren’t too bad. Just did the usual sit and half listen to the lecturers yabber on. Also chatted with some of the guys about assignments and, in CNA, about the routing lab. Also, we found out that the SEGP design document (refer to my last post ‘Building the Elevator‘) would have been due that day, but had been extended to Wednesday. With that info, one of my group’s members decided to go home before SEGP and work on the document. During SEGP, our team leader also left early due to feeling sick. We felt for him (promise). As a side note, our lectures were on Ethernet (CNA), and Software Evolution (SEGP).

Tuesday, I actually got a fairly good sleep in. I didn’t wake up until about 8:30, which is when I was wanting to get up. I got into uni fairly early, though. So i went over to the SE lab to look at Facebook (what else?) while waiting for the group meeting. During the meeting, the fire alarm went off! That was quite interesting. So, we all evacuated and went over to the clubs society to continue our meeting. We actually got a fair bit done and figured out for the design document. After the meeting, only two of us went to the lecture for the day (CA). That was boring, as usual. Just more on caching. Admittedly, it’ll be helpful for our assignment, but it’s really not that interesting.

Wednesday I couldn’t get as much of a sleep in as I did for Tuesday, because I had my CNA routing lab assessment. This was quite interesting (not). The demonstrator was fairly strict on what the routing table should have been, but I still got full marks (after fixing up my table). Admittedly, the fixes made sense, but it was still annoying to have to fix it up. After this lab, I just went over to the SE lab again to chat with a couple of the guys. Then decided to just go home (and not attend my two tuts). At home, I found that my family had barely missed out on catching the postie, who had a parcel for me. So I had to organise with my dad to get to the post office sometime to pick it up (for more on this, see Friday).

Onto Thursday, had the 11 am group meeting, which was fun. Just before the meeting started I went into the SE lab to print off the agenda, then got a call from our team leader (and chair person for this week) saying that he’d only just woken up. He sounded tired, and a little sick (to be honest), so it was all good. We still went ahead with the meeting, which was fairly short. After, we went into the SE lab to make sure we all knew what we had to do before this coming week then just went and did our own things. I ended up just helping one of the guys with his PT assignment. In the end, we got it working for the one test case given to us, but not working for automark’s tests (how exciting!). I also took a look at previous exams for PT, which were very interesting (sarcasm intended). We didn’t bother with the PT lecture either, as there was no real point. It was more on sorting, though (from what the PT course page said).

Finally, Friday. My day off (YAY!!). I spent most of my day working on PT (trying to get it working on automark), but was unsuccessful. I did get more marks, though. Around 4 my dad got home from work and took me over to get my parcel from the post office. Turns out I could have just given him the slip saying about the parcel and gotten him to get it by himself, but oh well. Got home afterwards and opened it to find a shirt with Topgear’s The Stig on the front, over the words “I Am The Stig”. This gave me a laugh. Admittedly, I’m not THAT into Topgear (that would be my sister’s area), but I still liked it.

There’s another week done with. Thank you all for taking the time to catch up.
Robert

11
May

Building the Elevator

As some of you may know, I’m in my third year at university. One of the courses that I have to complete this year is called “Software Engineering Group Project”, and consists of the whole group of software engineers splitting into groups (this year having two groups of sizes five and six). In our groups we were given the assignment to design and build a simulator for a new elevator control system. This project came about because the lecturer (and almost all staff and students that use the elevators in Innova21 – building at University of Adelaide) believe the current system is a load of rubbish, as it can skip floors where people are waiting to get on or stops on floors where noone is waiting.

My group, called Inception, is the smaller of the two, but we seem to be the team that are closer in terms of being able to joke around while also being serious about the project (feel free to correct me if I’m wrong, other group). At our weekly meetings, we’ll usually start out by joking around or finding out what we’ve been up to (away from university), which I feel loosens us all up so we can work better. We’ll then usually move onto working on the current document or planning different parts of our system before quickly moving onto joking around again (as I said, closer team).

So far we’ve completed three of the four documents that are required to be done, and we’ve coded a little of our actual simulator. We have designed the simulator so that you tell the system how many floors and elevators there are in a welcome/setup screen, then click start which changes the screen to show a view of a floor in the simulated building (which can be changed) next to a view of the “inside” of one of the elevators (which can also be changed). You can then run a realtime simulation from there.

The simulator is being coded in Java (as we all should know it, and simplifies creating a Graphical User Interface – GUI). So far we have part of the GUI created, but very little of the actual control system done. Finishing these two part of the project is the main priority for three of the group. The other two are working on test cases for the fifth document, and translating those test cases into runable tests for the simulator.

This project has come together quite nicely, and I feel I’ve gotten to know some great people in my group. They’ve all made me smile and laugh at least once this semester so far, so I’m happy to have them working in the group with me.

Thanks all.
Robert

06
May

Weekly Catchup – Week one

Hello all,

Welcome to week one of a new series of blogs I’m planning on trying to do. It’ll involve things that happened during the week for myself, aside from anything that I feel needs it’s own post (game reviews, etc.). I don’t know how this will go, but we’ll soon find out.

This week has, obviously, been filled with university, as it was the first week back for term 2. Monday I had to get up early (6 am!!) for a 9 am start. First lecture was Computer Networks and Applications (CNA), which isn’t too bad as a course. Admittedly, it is hard to always pay attention to the lecturer, but the assignments so far have been alright. But I digress. The first hour of the lecture was about Internet Control Message Protocol (ICMP), Simple Network Management Protocol (SNMP), and tools for these. The second hour was then an introduction to the Data Link Layer (DLL) in the protocol stack. My second lecture was Software Engineering Group Project (SEGP/SEP). This 2 hour lecture (which was shortened to around one and a half) was on Software Testing, which is as boring as you’d think it is. The lecturer in this course is very good at keeping our interest, though, so it wasn’t too bad. The rest of this day I just spent at home playing xbox (from memory).

Tuesday, day two, I got up somewhat early (around 8 am) to meet up with a friend. We spent around an hour just chatting on the lawns next to the Torrens River (out the back of Adelaide University). It was nice to just relax out there, have lunch, and watch people walk by. After this, I went to the SE lab to check Facebook (what else can I do on a computer at uni?) and wait for my group meeting at 1 pm. Once everyone had turned up for the meeting, we got into talking about what needs to be done for the Software Design Document (SDD) and what tasks we all needed to accomplish for it. After the meeting, some of us went to our lecture and others went to do assignments. The lecture was Computer Architecture (CA), which isn’t that interesting. From memory, since lecture 1 for this course, at least half the people enrolled don’t turn up (which is understandable – we can learn the whole course from the textbook). This lecture was on the Memory Hierarchy and Caching, which will be very helpful for the assignment (we are required to add caching to our Instruction Set Simulator (ISS) we made last semester).

Wednesday was an average day. I got up around 8 again, but didn’t go into university until later. The only thing I had was the Programming Techniques (PT) tutorial at 1 pm, which is run awesomely by David Knight (DK – funniest lecturer EVER!!). This week’s tutorial was on sorting algorithms (sounds interesting, eh?). After this tutorial, a couple of the guys I know in the tut, DK and myself stayed outside the tutorial room for 45 minutes to talk about PT, sorting, and other computer science topics. This turned out to be a very interesting discussion. I just went home after this. After dinner I had my 1/52nd scale slot car racing (run by a retired primary school teacher that lives out the back of my family’s house). It was a fairly fun night, as usual. Out of 11 racers, I came 5th after the first set of heats, and 2nd after the second set.

Thursday I had another meeting to get up for, this time at 11. This meeting was with my SEGP group and the lecturer (the usual weekly meeting to discuss our progress). This didn’t take overly long (at most 45 minutes). After this my group went into the SE lab to talk about what we still needed to do, then some went off to their other lectures and others stayed. This whole time I had fun trying to reinstall my Virtualboxed Ubuntu. This was an enjoyable experience (not). After a while I just gave up and did the little bit of work that we’re supposed to do for the CNA routing lab assessment, then just sat chatting with the guys that stayed after the meeting. I then had the PT lecture, which was even more boring than the tutorial the day before. This lecture was on Software Contracts and Program Correctness (sound boring now?).

Friday, my day off (and today), was pretty average. I got up around 10 or 10:30 am, played some portal 2 (with the director’s commentary turned on), had a late lunch, and did little bits of my CA assignment. Now, I’m just typing up this post for you all.

Well, this is the end of my week, so I think i’ll end it here. Thank you for taking the time to read this.
Robert

01
May

Portal 2 (and COD: MW)

Yesterday my father and I decided to go out for a little shopping, to spend a little of my birthday money. With my money, I decided to get two games, which are Portal 2 and COD: Modern Warfare 2. Once getting home, I started the install for portal 2 (which took about an hour) then had a bit of a play of COD: MW2.

COD wasn’t too bad. The storyline is somewhat interesting, and follows on fairly well from COD4: MW. I’m thinking I started playing on a level a bit too high for myself, though (Regular – should have gone with Recruit), but that’s not too important. I’ll get through it.

After dinner, I played a bit more COD while Portal 2 was (still!!) installing, then moved to the PC once it was complete. All I can say is that it’s EPIC!!! It ties in the storylines of Portal 1 and Half Life very well, including references to Black Mesa and The Borealis (a ship that was said to be lost by Dr Kliner in Half Life 2: Episode 2). The Puzzles are somewhat harder this time around, and a lot more dynamic than in the original Portal. It took me 5 hours to complete the game, but may have been less if I had looked at the harder puzzles a little more logically. I still enjoyed the game very, very much.

For those looking for games to play, I recommend getting Portal 2. It’s worth every cent.
Robert