Thursday, September 19, 2013

Comp1050

Newcastle University is.. cutting edge.

Where else do you learn to code xhtml 1.0 strict by hand in 2013?


Saturday, June 29, 2013

First semester of Software Engineering

First year of software Engineering at Newcastle university

So first semester is over, finally. And here are my unsolicted thoughts on each of the courses that make up first semester of Software Engineering (except for Math1110, I needed to do the foundational Math1002 first)

Elec1070
Lectures:
Generally excellent, the material was explained in detail by the lecturer, and the course seemed relevant.
Tutorials:
Largely covered the theory shown in the lectures. These were slightly less excellent, though still good.
Assignments: Well thought out and challenging, but not in a unachievable manner if you kept up with the course. The final assignment is unlike anything I've ever done before, and quite rewarding when it works.
Exam:
Also challenging but fair.
Overall: 9/10.
This was easily the best course of the semester. Despite being a somewhat challenging topic, the course notes were excellent, and was kept afloat by the commited and knowledgable lecturer. The only way to possible improve the course would be to perhaps slightly reduce its scope so the topics can be covered in more detail, for example, covering assembly language I thought is largely unimportant given the purposes of the course.

Math1002:
Lectures:
The lectures started off being complete rubbish. The lecturer would seemingly babble on to himself while completing several apparently unrelated mathematical problems, frequently getting the wrong answer. After he requested student feedback on his teaching, he lectures dramatically improved. While the lectures still weren't particularly good, the fact that he was willing to listen to feedback and actively work on his lecturing is a point to be proud of, and something that you wont often find.
Tutorials:
The style of these was to break up into groups and as a group work on task sheet. This was an ok format, but working in a group allows some students to slack off. This was followed by a quiz at the end of each tutorial. The quizes were always well thought out and of appropriate difficulty for the course material.
The course coordinator also went out of his way to record talking PDF formats where he went through and demonstrated the solutions, which was an incredibly useful thing to have when you had difficulty with a topic
Assignments:
There were two longer answer assignments. These were also well thought out for the difficulty level of the course
Exam:
Was largely multiple choice with a longer answer in the back. I was somewhat disappointed that despite my effort in the course, someone could potentially get lucky and achieve a similar mark by guessing.
Overall: 8/10:
The early lectures let down the course somewhat, but the dramatic improvement along with the other excellent aspects of the course mean it was overall worthwhile to undertake

Geng1803
Lectures:
These were at 8am on a monday. Taking into account that this entire course is basically foisted upon students in order for the degrees to satisfy Engineers Australia's requirements, they were ok. The course however is seemingly irrelevant to Software Engineering.
Tutorials:
These were problematic. We had a tutor who despite his age and experience, seemingly embodied the "I'm here to get paid." mentality, often providing unhelpful answers for our questions and assignment feedback. Our group assignments were also always marked in increments of 25%, despite the possible assignment marks not being out of 4, which indicates he offered minimal scrutiny to the work before marking it.
Assignments:
This course is famous for the much hated groupwork. The fact is, groupwork is easier for the lecturer because its less to mark and organise. He further insulted us by constantly telling us that it was for building teamwork skills and other things that have nothing to do with reality. If he was serious about building teamwork skills, then the groupwork would be limited to second year courses where the uncomitted students have dropped out - out of six, we had two students basically not do any work.
Exam:
A giant multiple choice test which asked irrelevant "spot the grammatical error" and "Calculate the net present value of this project from an alternate dimension where accountants dont exist and Engineers are actually responsible for carrying out the financial calculations of multi-million dollar projects" questions. Once again, i was disappointed with the amount of preparation I put into the course, only to be faced with a multiple choice answer.
Overall: 5/10
This course is well hated for its groupwork and the fact that it takes place at 8am on a monday. These aren't valid reasons to dislike the course - there will always be lectures early in the morning, and there will always be groupwork in your life. What are valid reasons to hate this course on the otherhand, is the fact that the groupwork has been used to allow the course to be incredibly lazy, despite being relatively expensive. These suspicions are further confirmed by the Tutor's teaching skillset being limited to basically putting in an appearance at the scheduled tutorial time and no more, and the exam being multiple choice so a machine can mark it. On top of this, the entire course almost didn't acknowledge the existence of the Software Engineering discipline, which made my cohort take it even less seriously.
To improve the course, I'm not sure what I would do. I honestly believe the course's very nature is flawed and should be a separate subject that is far more discipline specific, and in second year.

At work, I was talking to a guy who had taken Seng1110, introduction to programming, and had never programmed before. He had dropped out, citing that the lecture slides make no sense, and he couldn't even compile a simple program because nobody had shown him how, and the lecturer, nor the tutors had demonstrated it.
So now, we get to by far, the worse course of the entire semester, which is even more surprising even that the course was apparently revamped from last year.

Seng1110:
Lectures:
The apparently zero effort that went into the course is evident in the lecture slides. They are literally the teaching material from the prescribed textbook, with "university of Newcastle" watermarked on them. In .ppx format, the lecturer didn't even bother to convert them to PDF to make them easy to view on mobile devices, despite ostensibly being a programming expert. Furthermore, she failed to program a single line of code. That's right kids, the lecturer for this introduction to programming course, did not write a
single line of code for us, nor compile anything. Infact, it's quite possible she was several aardvarks stacked together in a human suit, because she demonstrated virtually no assumed skillset of a Software Engineer.
Tutorials:
These were also incredibly lazy. We were herded in groups of about 60 students into a single room with two tutors, and then told to basically, by ourselves read and follow a sheet of instructions. No wonder students who had never programmed before had such trouble, they were being asked to peform tasks that they had NEVER SEEN DONE.
Assignments:
The assessable items of this course were probably the worst part, and consisted of a mid semester and two programming assignments. A word to describe the assessable items of this course would be "thoughtless." The midsemester exam yielded an average mark of 64%, which she seemed really please about. Considering there were many people like myself who could already program all achieved marks of around 90%, this means that other students who were at her mercy to learn how to program from scratch probably received marks of 40%. The fact that she told us that this was a good mark demonstrates how out of touch with reality this lectuer is.
Furthermore the programming assignments were atrocious. For example, both assignments said "It's up to you to determine what information is missing and find out". That's right, she actually wanted us to go on the forums and ask about an assignment that it was her job to set up. She then uploaded a bunch of forum question and answers, which contained NEW AND KEY INFORMATION ABOUT THE ASSIGNMENT. My suspicions that the assignments were thought up by her in a single night just before bedtime were strengthened when, after programming them, the assignments turned out to be way, way beyond the scope of the material we had covered, and were easily more work than all the other assignments from the other subjects COMBINED. I'm pretty sure it's against the university policy to hand us incomplete assignment specs. And to add insult to injury, when we received our marks back, the marking criteria actually contained criterion that were not in the original marking criteria. Awesome.
Exam:
Once again, thoughtless. There were spelling mistakes in the exam, and she gave us code examples in some questions that actually answered later questions unintentionally. How stupid is that? Also, there were certain questions that did not even appear to be in english, and lower mark questions that turned out to be much more work that questions worth more marks!
Overall: 2/10
The fact that this course is supposed to be important and foundational to Software Engineering, Computer Engineering and Computer Science, and has potentially left many potential programmers with a very bad taste in their mouth makes me even more contemptuous of this course. I can't even recommend any way to improve the course, because in its current form its unsalvagable. Removing the lecturer and completely dumping the course and its content is the only way to go.

Overall, I enjoyed my first year of software Engineering, with the unfortunate exception of Seng1110. Next semester I get to enjoy Math1110, Math1510, Comp1050 and Seng1120.

Wednesday, June 19, 2013

Fruit Ninja

Have you ever noticed how Fruit Ninja, a game my mother thought was interesting (she just got her first iPad) is absolutely infested with intrusive ads that confuse her, and then after buying the $3 version, it is still absolutely infested with ads?

Yet the app store doesn't offer refunds, and doesn't let you trial the full version so we had no idea it would be a complete waste of money? Classy.

Thursday, June 6, 2013

I'm not dead

I'm not dead. It's just been a very full on semester. I'll probably write a silly review of the entire first semester of Software Engineering. But for now, I have exam study to do.

Sunday, March 17, 2013

Mature Aged Students

Dear Mature aged students,

Please stop acting like you're the lecturers best mate and constantly talk to them about shit in the middle of the lecture, just because you're the same age.

Love,
Matt.

Monday, March 4, 2013

And Then He Got Sick

That would be right, I haven't been sick for about 8 months, and then starting yesterday (First day of Uni) I suddenly sound like Tina Turner and have felt fluey and gross all day. I'm skipping my 9am Math1002 lecture this morning because I feel so crappy (Even though I keep looking at the clock thinking "I could leave right now and still make it..."). At least today I only have one lecture to worry about - tomorrow my day is 8 - 4. I'll be living it up on Panadol and No Doz.


Friday, February 15, 2013

And Then He looked at an LG Nexus 4, Galaxy S2 and Nokia N9

Mmmm... Sparkles.

I FINALLY got my Nexus 4.
And yes, I own a lot of phones. It's kinda like a hobby. Ignoring dumb phones, I have

Samsung Galaxy S2
Samsung Jet S8000
LG Nexus 4
Motorola Defy
Nokia N9 in Smurf Blue®
iPhone (The ancient 3GS model)
Palm Pre (RIP Palm)

And a Nexus 7. But I'll talk about that another time.

My previous phone was a Galaxy S2, which I bought when the white variant first came out, and I paid $670 bucks for that baby. After owning and using the S2 daily for almost two years (which for me is a LONG time) I eventually became somewhat dissatisfied with it, my main complaints were:


- Junky Build Quality:
Despite it's high price tag, the S2 feels like it's made from discarded Chinese takeaway containers. And people aren't kidding - the back is comically thin and fragile. Not to mention that silver rim around the outside, (You know, the part of the phone most likely to receive scratches), was black plastic with an extremely thin chrome layer on top. This meant once the thin chrome layer scratched off, there were noticeable and unattractive black patches. The little silver speaker strip on the front is also slightly misaligned. And having 8.0 MEGA written on the back of your phone makes is so 2006, in a tacky, undesirable kind of way. Overall it felt like a very cheaply made phone.

- The Software:
TouchWiz is pretty terrible. Despite the phone being one of the fastest on the market at the time, it felt slowed down, and I hated virtually every single "feature" of TouchWiz, especially the iPhone-aping iconography. I tried to live with it for a few days, until it became painfully obvious that Samsung interface designers don't really understand… anything. It seems to be a disturbingly constant theme that custom builds of android only ever add crap and unwanted features to it. Once I made the decision to root and flash the ROM, it took me days to do, courtesy of Samsung making the process as difficult as possible - and I know what I'm doing. And not only that, Samsung released like two updates to their of-questionable-quality Android build, that were extremely late, and as an extra slap in the face, the Ice Cream Sandwich version was made to look and behave as similar as possible to the Gingerbread version, as if you hadn't gotten an upgraded OS at all.
When I first began shopping around for a ROM, I discovered that although Samsung outwardly supporting Cyanogenmod, they made zero effort to release drivers for the phone, so the Cyanogenmod team had to wait until a beta build of Touchwiz came out before they could start work on their own build. Lame. Dont think your drama ends with flashing your phone however, running Cyanogenmod is a constant life of checking new builds, updating, putting up with bugs, restoring all your software by hand yada yada yada, and lastly, the latest Cyanogenmod builds are getting bogged down with stupid shit like the incredibly lame loading screen, useless settings items, unwanted included apps etc etc.

- The Battery Life:
Was pretty bad. It had a fast, 1.2 Ghz dual processor onboard. What exactly are people doing with their handsets that require a dual CPU? I had to constantly recharge the phone every 9 or so hours which is super annoying when I start uni at 10, get home around 5 and then need to go to work at 8. My Nokia N9/Palm pre easily outlive the S2 when it comes to battery life (And build quality…. and software…). I'd rather have a slower, single core processor and better battery life.

- The Super AMOLED+ Screen.
This is the biggest area where I got burnt. Just as a backstory, I owned a Samsung Jet S8000 back in 2009 (Which ran an even worse non-android TouchWiz that got NO updates despite some very annoying and serious bugs), and that had an AMOLED screen. It was nice too. AMOLED screens were new back in 2009 and were arguably superior to their LCD counterparts.
The Galaxy S2 however, has a 480x800 AMOLED screen stretched across 4.3 inches. which though may have been ok back in 2009, was pretty poor in 2011, and in 2013 just looks crap to every other high end phone I've seen. The LCDs of high end mobile phones today have met, and long surpassed any AMOLED screen I've seen from Samsung (And I've extensively used my housemate's Galaxy S3).  What makes an AMOLED screen so rubbish?

a) They have limited resolutions (i.e. Samsung achieves the not particularly impressive resolution of the S3's screen by using a pentile matrix. I'm not sure I believe people when they claim that the pentile matrix makes no difference at such a high resolution. I can spot a pentile matrix instantly, their hallmark feature is blurry text that when white has a slight red tinge on one side and a blue tinge on the other)

b) You can't see them in any kind of sunlight. Seriously, take a Samsung out into the sun and take a look.

c) Every single AMOLED screen Iv'e seen has strange banding issues with solid colours, especially grey (this including the screen on my N9 and the S3)

d) Longetivity issues. My S2 has developed weird colour spots. For example, the black bar where the android status bar usually is? If I turn my phone side ways, there is now a big blueish smudge where the status bar normally is. I've also noticed the screen has become less bright than when I bought it.


So I was eager to replace the phone. I didn't want an iPhone again because I feel Apple hasn't done anything interesting with iOS since version 2, and after my dramas with custom Android builds, I swore I would never buy a non-Nexus android device ever again. I didn't want a Nexus S, because it was also made by Samsung.
Then, Google announced its next Nexus device and it was… a damn Samsung.
My best friend bought a Galaxy Nexus to replace his ageing HTC Hero. The build quality and screen were just as bad as my S2, and the battery life was noticeably worse. This definitely confirmed that i was not buying it.

The next phone I briefly considered was a HTC One x, but after using my friends one, it was too heavily skinned, and HTC doesn't have a very good track record with updates.
I also even looked at a Galaxy S3 after my Father and housemate got a pair but
- The screen, although higher in resolution, had all of the previously mentioned issues of my S2
- the build quality of a Galaxy S3 is even worse than the S2. Samsung must be making a killing on these things.
- It's ugly. At least my S2 was a reasonably attractive phone. The generic rounded off edges, tacky fake brushed metal back, and bizarre key layout with the disconsolate home key make for an eyesore of a device. And the DAMNED CHROME RIM is still there! 

Finally, Google announced the Nexus 4, which promptly sold out in 15 minutes in Australia, and wasn't back in stock for three months. I waited so long before I could buy one (I even considered allowing myself to be price-raped for one by a dodgy eBay seller, but my faith and resolve were strong!), and finally last week they came back into stock, and despite Google warning 2-3 weeks for shipping, I got mine 5 days after I ordered it. Pretty impressive.

What I like:

- It's very fast, and yet the battery life is decent.
There is no lag, anywhere at all. It doesn't feel that much faster than my S2, but that phone had a crazy fast processor for its time. The 2 gig of ram is a noticeable improvement, despite having a tonne of apps all working at once, the Nexus 4 does not slow down at all.

- The back is very cool
Its classy. Don't think it's all glittery like a disco ball like in the pictures, the tasteful shimmer is actually very understated and only visible on certain angles.

- STOCK Android with updates from GOOGLE ;-]
As far as I'm concerned, any issue you might have with a Nexus device is nullified by not having to deal with the fragmented disaster that is non-Nexus Android builds and their often non existent updates.

- The build quality absolutely shits all over the Galaxy S2 and S3
Doesn't' feel plasticky at all. No creaks, no manufacturing defects, no cheap plastic case. The edges are actually rubberised like my Thinkpad. The edges of the front glass are curved which leads to a… sensuous experience when you swipe on it. It speaks volumes about the different philosophies of the two phones, the Galaxy S2 is clearly just a product to make as much money as possible for Samsung. The Nexus 4 feels like Google wanted people to come away with a good impression of Android and of the company. They succeed.

- Beautiful screen
Perhaps not quite as fantastic as the HTC One X, but damn close, and damn better than the S3's screen.

- It's cheap.
I paid AUD $400 for mine . That's crazy (although I should note that the phone does not include any headphones). Makes me slightly annoyed when I think about how much money Samsung is probably raking in from their phones.

- Notifications
glancing at an LED notification light    >   checking your phone by turning on the screen every 15 minutes

What I don't like:

- The camera 
If I had to point out one area where my much maligned S2 excelled, it was its camera. The one on the Nxus 4 is good, but my S2 takes better pictures. The flash is also slightly brighter on the S2 and more diffused, so you don't end up whiting out your photo subject. I've included some comparison shots between my N9, Galaxy S2 and the Nexus 4.

- The speaker
The speaker is absolutely terrible. I'd go so far as to say the notification LED is essential because I constantly miss notifications from the Nexus 4, even with the volume turned right up. is very quiet and not really much use. For example, it is overwhelmed when I try to listen to a podcast in my quiet room from the traffic outside.

- Glass
Don't get me wrong, it's a way better built phone than my S2, but I dropped that thing four times that I remember, and aside from chipping the bad quality plastic, it was mostly fine. If I drop this phone, which is heavier and has a glass front and back, it's toast. I think the Nokia N9 is the way to go. Its slightly better build quality comes from it's unibody polycarbonate construction and limiting the glass to the front. Even Apple doesn't use a glass back anymore.

- No removable battery or SD card slot
But according to iTeardown, the battery isn't actually that difficult to replace. I'm not stinging over the lack of SD expansion either.

- The Buttons
The side buttons are deeply recessed and quite stiff, this makes them not only difficult to find the button with your finger, but difficult to press. Also there is no camera button. Once you've had one you instantly become annoyed at any phone you use afterwards that lacks one.

Here are some comparison pictures from the All set to AUTO. The order for each picture is: Nexus 4, Galaxy S2, and Nokia N9

MODERATELY LOW LIGHT (The Bag):
Nexus 4
Galaxy S2
N9


The best photo by far was taken by the N9 which has very little noise, and deals with the large spread of contrast across the whole image very well. 

The S2 has slight colour balance issues (it looks red), whites out the carpet on the right side near the window and has a large amount of noise in the picture, seen near the wall behind the bed.

The Nexus 4 isn't too far behind, it doesn't deal with the contrast range very well; the picture is missing much detail and is too dark, the carpet is out of focus and whited out near the window, and also displays sharpness issues seen on the chest of drawers. It also has colour balance issues, the couch is not the correct shade of blue like in the N9 and S2's pictures, although the colour balance isn't as bad as the S2.

The Best: The N9 by a long shot
The Worst: Unfortunately, the Nexus 4, trailing behind the N9 and S2.

EXTREME CONTRAST (The Window)
Nexus 4
Galaxy S2
N9


The N9 took the best photo by far, which not only captures the correct colour green of the trees outside, but contains the most detail for inside the room. It is the only one of the three to capture the curtain ruffles, has the peace lily in the most detail, has the basket with perfect sharpness, and is the only image where you can actually tell there is another plant on the far left.

The Nexus 4 was next, it has incorrect colour balance for not only outside the window but the couch yet again, but good detail can be seen on the pile of dirty clothes, and it captured the basket in ok detail, although a little over sharpened. It was the noisiest image.

The Samsung Galaxy S2 took the worst picture, displaying colour balance issues on the couch and the trees outside. It was also moderately noisy, and over sharpened the dirty clothes, the windowsill, the leaves of the peace lily, and over sharpened the basket so much that it looks like it's made out of mesh.

The Best: N9 again, showing Nokia's camera chops
The Worst: The S2, but it's only just behind the Nexus 4

OUTSIDE WITH MOTION

Nexus 4
Galaxy S2
N9


The Nexus 4 took the best outside photo. It is the only one to capture the patch of blue in the sky, has the most detail of the power lines, has correct colour balance for the greenness of the trees, and everything in the image is sharpened well in in focus, especially the antennae which is by far the best of the three

The next best was the S2, capturing the most detail on the facade for the entrance to the houso dumps, good power line detail, and good motion capture. However, the camera displayed green colour balance issues, but only slightly.

The worst surprisingly was the N9, where virtually nothing was in perfect focus, very little detail of the facade was captured, the motion was slightly blurrier than the S2, and 90% of the power lines were not captured. It had the best colour balance of the facade however.

The Best: Nexus 4, but only just in front of the S2
The Worst: N9. But then again, not that terrible.

SO OVERALL
In the market for a new phone? The only issues that should give you pause in my opinion are the next to useless speaker and its fragility. But look at the big picture: For a bargain price, you get one of the fastest phones available on the market, a device that while fragile, is beautiful to feel and kicks the teeth in on any Samsung phone quality wise, and is pretty much guaranteed to be rocking the latest and greatest Android. What's there not to like?

--Matt