Sunday, 16 September 2012

Semester 2

The last few weeks of semester 1 went by in a blur of project deadlines & exam revision. My lecture notes are a bit cryptic even to me at this stage so there's not much point in trying to write updates for each week. The projects & exams went well, so looking forward now to the challenge of semester 2.

Week 1 has already come & gone, so a quick update. The modules this time around are:

  • Web Application Development
  • Rich Internet Applications 
  • Project 
We also have an hour each Friday evening on CareerBridge - advice & techniques on building an effective CV, developing an online presence, networking; all things I need a bit of work on.

As the first week wasn't much more than introduction to the new modules, there isn't much to write about. There was at least one thing I learned though that I thought was interesting.  We were tasked in the Web App Dev module with prefixing a currency amount with the euro symbol by means of the CSS file. I was thinking that the euro symbol would constitute content as opposed to presentation, so why would it go in the stylesheet? The only way I could think of was to put the euro symbol into the xml file. Anyway, was advised by the lab assistant to look up the :before and :after selectors. Using these selectors means you can specify an element and add additional content, so that for example an element that appears in an xml file as <price>10.99</price> will appear in the browser as €10.99 when you use the following CSS code:
PRICE:before { content: "€"; }

Tuesday, 28 August 2012

Still here

Exams are over! They weren't too bad I think. Results due out next month some time. Couple of weeks still until we're back to lectures, and in the meantime I really want to get this blog up to date with what we did on the course during the last few weeks of Semester 1. I haven't taken a complete break from the studying - mostly looking at stuff I came across during the summer but didn't have time to pursue further. For the last week, I've spent a bit of time looking at hosting options for web sites - I've started a separate blog about that here. I'll come back to this blog in the next few days though.

Tuesday, 24 July 2012

Week 9

Ok, so belatedly continuing with the summaries of the weeks thus far. You (hopefully) will already have seen evidence of my amazing Javascript skills if you're reading this post. I was going to throw some jQuery in here too, but don't want to blow anyone's mind completely yet.

We started working with Javascript in week 9, using it initially to prompt the page user for some basic information, and moving on to produce output based on the user's inputs. This is basically what Javascript is for - to make the website more dynamic for the user by validating date entered on the client-side, changing or displaying page elements, or adding animations or sounds to a page. Having used it since on my client-side project, I have a better idea now of how it all works, but still feel it's an area I could improve on. Finding out the errors in your Javascript can be a difficult thing to do - Firebug is meant to help that process, but figuring out how to use Firebug properly for this purpose is something I've yet to work out fully.


From week 9, I also have lecture notes from the Intro to Computing module where we covered Application layers. An *EXAMS* note at the top of that section in my notes suggests that may be a topic to appear on the forthcoming exam paper - must stop blogging & get studying.

Productivity

I set up an account with RescueTime a good few weeks ago, but have been too busy/productive until now to look at their analysis. This is my productivity overview for the month of July to date.

My Productivity levels

So far this month, it calculates that I've done 96 hours, 44 minutes, which is slightly below average. But, my efficiency level is 77% which is better than 87% pf people using RescueTime. I suppose comparisons with others are kinda irrelevant as I'm just trying to improve my own time management. Nice graphs though!

Wednesday, 18 July 2012

Project Central

Ok, the submission date for this blog project has passed, but I figured I might as well keep it going while I'm still doing the course - at least for the rest of semester 1 anyway. I'll get back to the updates on the weeks of the course next time but right now we're a little snowed under with project work. The server-side is due this coming Friday, client-side was last week, while the blog for Intro to Comp was the previous week. Most of us who are still attending the lectures this week are probably paying more attention to their to-do list for the websites they're building than on the lectures. I'm actually looking forward to the exams after this, they can hardly be as pressurised as project-deadline days.

Friday, 13 July 2012

Reading Week

After the MySql exam on the previous Friday (followed by labs on the Saturday), week 8 was a reading week.  Time to catch up you would hope.  Unfortunately, I came out of the labs with a two-page "to-do" list that threatened to absorb all my spare time of the week.  Things got off to  bad start when I had to reinstall Rails on my home computer.  A lot of "cussin" ensued, then it was time to make a start on the Rails project for Server Side.  More "cussin".

The "pomodoro technique" had been mentioned in one of the previous week's classes & I thought to try it out.   It's a method of managing your time aimed at improving a person's mental agility while facing a body of work.  The steps are as follows:

  1. decide on the task to be done
  2. set the pomodoro (timer) to 25 minutes
  3. work on the task until the timer rings; record with an x
  4. take a short break (5 minutes)
  5. every four "pomodoros" take a longer break (15–20 minutes) 
Unfortunately, I usually found that I'd get so little of the task done in the first 25 mins that I'd end up working past that & end up taking a longer break after a couple of hours.  It may be something I'll return to though if this programming/web development lark ever takes off for me.

Thursday, 5 July 2012

SQL test

I forgot to mention in my week 7 update that our first continuous assessment exam took place at the end of that week. I think it merits a post of its own though.  We were being tested in the Introduction to Computing & Web Technologies module on our understanding of MySql queries.  The test format was "open book", meaning we were free to consult our lecture notes, or research online or in books for answers to the test questions.  I'd never done an exam in this format before & initially thought it would make it a lot easier.  At the end though, I felt it possibly made me too quick to consult the available resources, rather than spending a bit more time trying to figure out a solution on my own.

Prior to the start, we downloaded a sample database, which we then used to answer a number of queries, such as create a list of all orders shipped after a certain date.  I was happy enough with how that part of the test went, though looking at the results a few weeks later, I had made a few more stupid mistakes than I thought at the time.

The second part of the test involved writing queries for a database whose structure was described in a diagram. Again, I felt this was going well until the last question where we were asked to return details of all suppliers that supply a product with a productid of 33.  Both my brain & Google decided to give up on me at that stage, so I went for this answer:

select * from Suppliers where Products.ProductID = 33 Inner Join Products on Suppliers.SupplierID = Products.SupplierID;

when I should have used this:

select suppliers.companyname, suppliers.contactname, suppliers.contacttitle from suppliers, products where suppliers.supplierid = products.supplierid and products.productid = 33; 

It's still an area that I need to go back to at some stage to make sure I fully understand what happens in each query.  Since the test though, it's been project proposals & project work almost non-stop, so it'll be another while before I get to look at it again. 

Tuesday, 3 July 2012

Week 7

Week 7 & I was still plugging away at the exercises from the Learn Ruby the Hard Way tutorial. Exercise 26 provided a piece of code that contained a number of mistakes & required working through it to find the errors and fix them. The idea was to replicate real world scenarios where a programmer is not necessarily writing new code of their own, but instead is faced with code written by someone else that is far from perfect. The frustrating experience of figuring out what was wrong would be replicated again a few weeks later when starting on the Rails project for the Server Side module.

In Client Side, we came across some of the worst-looking websites on the internet. One of our tasks was to try to 'fix' the website of Valley Isle Aquatics, changing the styling to something that we felt suited the nature of the business involved. Again, there was a fair degree of frustration in figuring out someone else's code. I don't think I have an eye for design myself, but I reckon my overhaul at least improves on the original.

Before:

After:

Friday, 29 June 2012

Getting git

Seems I'm only as far as week 6 in terms of running through what we've been doing on the course.  That was the week I started this blog, and I had thought at this stage I'd be updating on each week 'as it happened' so to speak.  Anyway, week 6 was mostly taken up for me with trying to get a better understanding of git & github.  One website in particular proved very helpful in breaking things down into more understandable units: http://gitref.org. The section on Sharing & Updating Projects had to be consulted regularly lately once we started work on the Server Side project. 

In Client Side, we were using CSS float for positioning purposes.  This was what my first stylesheet using float looked like:

        #container {
            width: 90%;
            margin: 10px auto;
            background-color: #fff;
            border: 1px solid gray;
            line-height: 130%;
            }
        #top_banner {
            padding: .5em;
            background-color: #ddd;
            border-bottom: 1px solid gray;
            }
        #h1 {
            padding: 0;
            margin: 0;
            }
        #left_menu {
            float: left;
            width: 100px;
            padding: 10px;
            margin: 0;
            }
        #left_menu ul {margin: 0 0 1em 0;}    
        #para p {margin: 0 0 1em 0;}
        #para {
            margin-left: 125px;
            border-left: 1px solid #ccc;
            padding: .5em;
            max-width: 40em;
            }
        #footer {
            clear: both;
            padding: .5em;
            margin: 0;
            border-top: 1px solid gray;
            color: red;
            background-color: #ddd;
            }

At this stage, I'm nearly sure I understand all that. Progress!! :-)

Thursday, 28 June 2012

Sunday, 24 June 2012

Learning Resources

One thing I've come to appreciate while doing this course is the sheer volume of learning resources that are available in the Web 2.0 world.  Books with actual pages & lectures with real people still form the foundations when it comes to learning about a new subject, but there are now many more complementary options.  One resource I've come across lately is the iTunes university.  In particular, the RailsCasts podcast series by Ryan Bates is very good.  This is episode #310, Getting Started with Rails.


See more RailsCasts at http://feeds.feedburner.com/railscasts, or if you have iTunes installed, go to the Store & search for whatever you're interested in.  You'll get podcasts & iTunes U lectures from across the world.