Archive

Archive for the ‘Media’ Category

Festen & Kenny

September 17th, 2006 Francis No comments

I’ve just got back from my melbourne trip. While I was in melbourne I managed to get tickets to ‘Festen‘ which happened to star Jason Donovan at the local arts centre about 5mins walk from my hotel. The play was based on the original film which was released in 1998:

The Father turns 60. His family, which is a big one of the kind, gathers to celebrate him on a castle. Everybody likes and respects the father deeply…or do they? The Youngest Son is trying to live up to The Father’s expectations. He is running a grill-bar in a dirty part of Copenhagen. The oldest son runs a restaurant in France, while the sister is a lawyer. The older sister has recently committed suicide and the father asks the oldest son to say a few words about her, because he is afraid he will break into tears if he does it himself. The oldest son agrees without arguments. Actually he has already written two speeches. A yellow and a green one. By the table, he asks the father to pick a speech. The father chooses green. The oldest son announces that this is the Speech of Truth. Everybody laughs, except for the father who gets a nervous look on his face. For he knows that the oldest son is about to reveal the secret of why the oldest sister killed herself.

It was quite a good show, I especially liked how they represented everyone getting ready for bed. They had one bed centre stage which was used by all the characters in the scene at the same time but acting out their own little scenes totally independantly… worked really well :)

On the way back on the plane the cabin crew announced that the film was about to start and I overheard a passenger saying that it was a really good film, so I thought I should tune in… The film is called Kenny and was about Kenny Smyth who delivers pora-loos. He’s ignored and unapprciated, but its hilarious! … It was really bizare! on a plane at 30,000 feet, trying not to laugh. In the end I just gave up trying to hold it in, the rest of the aircraft was laughing so much! Toilet humour at its best! From what is says on IMDB it doesn’t have any release dates outside Oz at the moment, but I hope it does! Its the second film in as many months that has come out of Australia that has been great.

Categories: Film & Video, Fun Stuff, Media Tags:

The ideal Digital Compositing Laptop.. the long way around!

September 2nd, 2006 Francis No comments

As people may know I don’t complain much… if at all but here it is. My first complaining blog entry (ok excluding the Lacie incident which I can say is now all sorted and i’ve received back a fixed lacie drive!.. love you lacie!). Ok where to begin:

It all started one dusty day in April. I embarked on a research project to find the best laptop to do digital compositing and digital effects. It needed to be a laptop because I knew I would be travelling quite a bit over the next year or so and I wanted to had a bit of a beast to process all the high-end graphics. The first decision was do I go with a Mac or a PC… in the end I decided to stay with a PC because I knew how to use it :) ok probably not the best argument but hey!

The Research:
My list of requirements was this:

  • The system needed to run Shake for Linux; this is a digital compositing package which I will be using the most
  • The system needed to run Maya for Windows
  • The system also needs to run Adobe products ok enough to do work on them… so After Effects, Premiere etc
  • Built in microphone for conference calls
  • Bluetooth for linking to my mobile

The main thing which I knew was going to be an issue was the graphics card. After looking at the technical specs your basically locked down to an Nvidia Quadro graphics card, there was basically an alienware MJ-12 or a… alienware MJ-12 the only problem being that it didn’t have built in bluetooth, but hey I can live without that.

End of May: The purchasing:
I knew that I was going to Australia at the end of may, so I looked into seeing if it was cheaper to buy the laptop in australia or the UK, because alienware have a website in the UK and Oz. Now the Australian website didn’t sell the MJ-12 laptop so I went onto the UK website and changed the delivery address to australia. When you do this all the prices change to dollars and it became VAT free. I checked the import duty to Australia and it was 10% so I made 7.5% saving already, and also the price was a lot lower so I made in all an £800 saving. Some eStores have difference prices for products depending on where they are being shipped, so if they want to get into a market they drop the price.

I mulled over if I should get it went back to the site and suddenly when I changed the delivery address to Australia it changed the price to… wait for it… Euros!?!?!?!! ok it was working with dollars the week before I’ll ring them up. So I rang them up basically saying I can pay either in Oz dollars or pounds but not euros otherwise I would get charged 2.5% in bank charges. First of all I was fobbed off that there was a problem with the website. I rang back a couple of days later and still a problem. So I ask them if I could buy it over the phone and pay using pounds, they said they would find out and ring me back… they didn’t … so I ring again and again each time being old something or other, in the end I gave up and ordered it on the internet using Euros… I rang my bank just to say that a large transaction was going through and it was a mail order which wasn’t going to my house in the UK. They said that would be fine and they would authorise it. Just to be on the safe side I ring them up a again and ask them if there was anything on the system and they confirmed that I had asked for this transaction to be accepted.. cool!

So on 28th May 2006 I purchased the laptop, knowing I was going to be in australia in a couple of days time for just over a month, plenty of time to ship the laptop.

On the 30th May I get an email asking me to ring up and confirm my order, which I do and they say that they have processed the order and everything if fine, I ask when it will be dispatched and they say its about 7 days sometimes less.

31st June:

I get and email saying:

“The bank will not allow us to perform an AVS check (a name and address check on the card). The country you are resident in does not allow us to perform an AVS check as either they are a data protected country or will not check the details over the phone for security reasons”…

Interesting! its a UK bank card… all banks that I know use AVS and the country is the UK?!?

1st June @ 15:53 (isn’t skype great!):
I give them a ring and ask them whats going on. They say I need to photocopy both sides of my card, and a card statement or an offical letter from the bank. I said it was a british card and its been authorised and I can’t see how it could have POSSIBLY been declined. Me now being in australia, I just didn’t think about bringing a bank statement with me, silly me! So they want a photocopy of my card! BOTH sides after thinking I decide that they aren’t getting it… I can’t even get to my bank statements anyway. So I know i’ll ring the bank just to check whats happened. I ring the bank.. they reply saying that no transactions have been declined at all. In fact no transactions from anyone in the last couple of days declined or otherwise. Right… so what your saying is Alienware isn’t telling the whole truth…

3rd June @ 10am:
I ring alienware and manage to persuade the person on the end of the phone that they can charge my card with the delivery address details and it will work FINE!… and after a bit of persuading they do it… and guess what … it WORKS!

I took a look at the alienware website and they have a nice little page which tracks your order status. It says on Pre-processing.. it hasn’t even got to the card charged bit, I wait a day or two because it may just update at night or something so it could just be out of date. I say I need it quite urgently and they put the order on priority.

5th June:
Its still on the pre-process stage. I ring them up to be told that the status page is not linked to there system and has to be updated manually and sometimes this doesn’t happen… GREAT! But you must be nearly done because I was told it would take 7 days to dispatch? and I am told its been delayed because of missing parts. Great only 2 weeks before I leave Oz!

13th June:
For the last couple of days it says its been saying that payment has been received but not a lot else. I give them another ring to check the progress and they say they have received the parts today and they are building now and it should be dispatched on friday! yupiee!!

16th June:
I ring up to check the progress of the order and its been shipped! I ask for shipping ref and it was on DHL Express so I would get it on wednesday for my flight on the friday to New Zealand for a filming project that I needed the laptop for.

I track the shipping online and see it going from Dublin to London to Sydney…

19th June (5days before flight):
I check the DHL website and it says “Clearance delay” … clearance delay? its in sydney but its stuck in customs. I ring up DHL and ask what that means and they say that its been delayed because it has missing paperwork! ARGH! and could take up to 3 days to be approved. ARGH! I ring up alienware, they ring DHL and fax over the paperwork.

20th June:
I go to the depot and pick up the laptop as I need time to install things on it before I fly to New Zealand. Yupiee!!! I have a laptop!

I install things on it…

I start doing some graphics work and try and increase the resolution… strange I can’t get higher than 1440×900. But the laptop I ordered was 1920×1200… they have installed the wrong screen! ARGH! no built in camera, no Wide UXGA 17″ screen.

22nd June:
I can’t bare to ring Alienware so I send them an email saying about the problem with the laptop… I get no reply. But I need to use the laptop but I make sure I keep the plastic over the screen.

8th July:
I send them another email… still no reply…

12th July:
I ring them and ask what I need to do, they ask me if I notified them… which I did and after AN AGE they find my emails…

After communicating with them some more I they ask if I want a refund as its cheaper than sending the laptop back to them. Which I would love to do but unfortunately I need the higher res and better screen so that I can see the colours better for my digital comp / graphics work. The screen and the graphics card was the only reason I got the laptop in the first place. So I suggest to them that I send it to Australia as they are based out there… Each time they say they will call me back .. each time they do not.

One point I ring them to be told by a sales or receptionist that they are all in a meeting… ALL of customer service!!! how bizarre!

29th August:
I ring them and I get someone who says that someone else is now dealing with my call, but he’s unavailable but will call me back by the end of the day. So I ask her to DEFINATLY send me an email by the end of the day or ring me even if nothing happens. You never guess what happens… yup… nothing… I even say that I will be contacting Trading Standards on wednesday next week if this hasn’t been cleared up.

3 months and 3 days since I attempted to purchased the laptop online … and counting.

Categories: Digital Compositing, Film & Video Tags:

The Caterpillar Wish Australian film

June 17th, 2006 Francis No comments

As I’m in sydney I thought i’d take the chance to take a look at some Oz films, its also Sydney Film Festival down here… so expecting the worst I headed to the cinema. In Oz they seem to show a lot more home grown films than in the UK. I’m not 100% sure that its not because of political reasons, so I went in expecting a “the government has told us to show at least 10% of our films as Oz films as this is all we could find” type film. But I was presently surprised. The acting was good (mostly), the cinematography could have been a bit better in places but overall a really good piece of work! Better than The Da Vinci Code and that had a blockbuster budget! Well kept be more gripped anyway, prolly because i’d read the book before but hey! :) .

You can take a look at the trailer at the Caterpillar Wish website. Just hope its one of the very few Oz movies that gets out of the country. But so far no release dates, maybe see if I can salvage a DVD when/if it gets released.

Categories: Film & Video Tags:

5000×2000 pixels high-def for cinemas

June 16th, 2006 Francis No comments

Last year saw and upserge in people going to the cinema in the UK, while our US counterparts have been seeing a decline… but don’t worry there is a new cinema on the block! (or idea at least!). Three german companies have come up with “Cinevision 2006″. It runs at a 10 megapixel resolution thats 5000×2000! and you thought your 1080p high def home cinema was good!

Just take a look at the quality and the size of the guy in front of the screen! So when’s it coming to the UK? :) give IMAX a run for its money, ok maybe not :)

Cinevision 2006

Just have to be a bit more careful on the rotoscoping! people will REALLY see your mistakes up big! :)

More Cinevision 2006 photos can be found here.
You can see more information of the Cinevision 2006 here.

Categories: Digital Compositing, Film & Video Tags:

Code Reviews are so useful

June 13th, 2006 Francis No comments

A was talking to a project manager friend a couple of days ago and he was saying how the company he was working with at that moment was being your typical small development company. Little documentation, having to fix the same bugs over and over again and general code thrashing. I mentioned Code Reviews and he hadn’t used them as a means

Knowledge transfer (training):
No one developer knows everything or maybe only a couple of developers know how the system works inside and out. The code reviews can act as a way of spreading the knowledge of the system around the room. Making other developers aware of new updates to the system and how they work. So if something does go wrong they at least know roughtly where to look.

For example if you have an expert database guru or someone that is more knowledgeable on systems security, their input can increase the understanding of the other developers and help pull the no so knowledable developers up…

Even just developers talking and saying “Oh I would have fixed that problem but doing x y and z” increases understanding so that next time maybe they will try to tackle a problem in a more efficiant way.

Risk Management:
There have been very few companies that I have worked for where development documentation of a system has been “uptodate”. The only documentation that every seems to be the most correct is the user documentation, internal documentation? well thats another thing altogether. The moment documentation has been written it usually becomes out of date in no time at all. So in the end only the developer who developed the software unit/class etc knows really whats going on and therefore you get the all eggs in one basket problem. This was very real to one company I worked for when a developer went on holiday and wasn’t contactable. In a code review everyone see how things work.

… the list goes on and on. Code security, other developers seeing a potential security hole in anothers, more manageable readable code etc…

Ok now the nitty gritty, how to do an effective Code Review…

Firstly I don’t like the phrase “Code Review” it usually scares off developers…. So your going to look at my code and criticise it! I’ve called it a Weekly Project Review or Development Review in the past.

I’ve always done a review in the form of a meeting:


REVIEW MEETING STRUCTURE:
The reviews i’ve had in the past we have given specific roles to people in each review meeting:

Moderator – Their prime role is to keep the review moving fast enough to be productive but slow enough to find the most issues. They would also distribute design or code to be reviewed and an inspection checklist, setting up the meeting, reporting inspection results and following up on any actions.

Author – Quite obvious, the coder of the code :)

Reviewer – Anyone who has an interest in the code. The reviewers take a look at the code before the meeting and discuss any bugs or questions during the meeting.

Documentor – This could be the role of the moderator if the group is small, but should not be the role of the author or reviewer (as its got a bit of a conflict of interest). The documenters role is to record the bugs/issues and the assignments of any actions during the review meeting.

Management – No way, this is purely a technical review so the focus is technical not political. Managers could receive a review report (list of actions from the review or notes on the checklist) very simple report which can be written during the meeting. But this shouldn’t be used to evaulate developers in any way.


REVIEW RULES:

I’ve followed a number of rules in the past for the review:

* To have checklists which focus the reviewers attention on areas which have been problems in the past.

* The emphasis is on bug/issue detection, not correction.

* Reviewers prepare for the review meeting beforehand and arrive with a list of issues/questions.

* Information is passed on to the next review to improve future reviews (eg: adding/removing questions on the checklist)

* The meeting is for technical people and not management.

* Under no circumstances should the review results be used for performance appraisals, its just like killing the goose that lays the golden eggs. It doesn’t make sense anyway performance should be based on final products/projects and not work that isn’t finished. Another reason why there is no management :) It just means everyone is a lot more free to say what they think.

* The meeting should have a minimum 3 people and maximum of 6 people; any bigger and the review gets too big to manage and ends up becoming a hindrance.


GENERAL PROCEDURE FOR THE REVIEW:

Ok in the past i’ve broken reviews down into 9 possible stages:

Planning: The author gives the code/design to the moderator. The moderator then distributes the code to the people they think should review it including the checklist which focuses the attention of the reviewers so they don’t waste too much time looking at the code.

Overview (optional): The overview is used only if the reviewers aren’t familiar with the project. The author will spend some time just describing the project. This is generally a dangerous practice because the reviewer could end up glossing over issues. The design or code should speak for itself, the overview shouldn’t speak for it as that’s what the whole exercise is all about.

Preparation: Each reviewer works alone to become familiar with the design or code. The reviewers use the checklist. For every 700 lines of code the reviewer “should” spend about an hour but its really down to what works best in the organisation.

Review Meeting: To start the review meeting usually the author reads the code/design. They will explain all the logic including each branch loop and each logical structure/object etc… while they are talking the documenter records any issues/bugs but all discussion of the issue stops as soon as they have been recognised. The documenter also notes the type and severity of the issue and the review moves on.

As I said above the meeting needs to keep moving otherwise you’ll loose concentration. So, depending on the project this shouldn’t take longer than 30mins/1hr. Everything needs to stay focused, I worked in one place where the group was banned from even discussing weather an issue really was an issue because they assumed that if one person is confused enough to think an issue existed then it was an issue and so the design, code or documentation needs to be clarified.

Inspection report: The moderator creates a review report usually during the meeting that lists each defect including its type and severity. At this point you could just put them straight into a bugtracking system while in the meeting as this will save time, and the report can be a list of these bugs. This therefore helps to ensure all the issues will be corrected and can also be used to develop the checklist which will in time highlight problems in coding etc and can help when creating risk registers… it can also give a good indication on the number of issues/bugs found. From the report you can find out the time spent on the issues over time which can be used to prove the usefulness of a review by giving hard data otherwise you are just left with saying reviews are good … because they are! This is also a good guide to see if they are working or not. Some people generally prefer end testing rather than reviews and it maybe that you will have to modify or even abandon the reviews. It depends on if it works in your company.

Rework: The moderator assigns issues/actions out to someone (usually the author unless its a larger project) for repair and the assignee resolves each defect on the list.

Follow-up: The moderator just checks to see how the issues/actions are being carried out.

Third-hour meeting: The code review or review is just that… a review so the people in the meeting shouldn’t be discussing solutions, but of course we will, so its better for those who wish to discuss different solutions to do this at another meeting either straight after the review meeting or at another time, this also allows it to be a bit less formal and get more people involved .

Fine-tuning the review: Hopefully over time the checklist will become more refined and things will be added and things will be dropped. We should find the same common issues appearing on the checklist and we can work on refining how we work to fix them. The checklist should be short and sweet so max of one page.

The Checklist:
As mentioned above this is used to track common issues so the developers use this as a guide when developing. It shouldn’t exceed more than one sheet of paper, an example of one is below, based on a PHP project:


Code Review Checklist
1. (Are there line numbers on all code printouts?)
2. Are the standard headers / footers being used?
3. Are functional javaDoc / phpDoc comments being used?
4. Is there enough documentation to work out what the system is doing?
5. Is there enough error handling, relating to the importance of the work?
6. Does the code follow naming conventions?
7. Does the code follow formatting conventions (bracketing)?
8. No Magic Numbers/Text
9. Any duplicate code should be put in a separate module for reusability.
10. Removal of code which is not being used.


An Example of the Review Notes:
This was of a unified login system. A simple system to allow a single point sign-on to login to an ASP and PHP based system:

Code Review
23/03/2004

Uni-Login Script Review

Moderator: Mr X
Author: James X (PHP), Peter Y (Architect)
Reviewer: Alistair X (Senior DB)
Reviewer: John X (Java Developer)
Reviewer: Simon X (Technical Documentation)
Reviewer: Tim X
Reviewers: Please make sure you prepare for the review meeting beforehand so you can become familiar with the code and arrive with a list of issues/questions and make use of the Checklist below.
Author: In the meeting you will be expected to read the code/design and explain all logic including each branch loop and each logical structure/object.

Code to be Reviewed:
http://internal-cvs/cvs/cvs.php/Common_SQL/LMSUniLogout.asp
http://internal-cvs/cvs/cvs.php/Common_SQL/LMSUnifier.asp
http://internal-cvs/cvs/cvs.php/Common_SQL/LMSkeepalive.asp
http://internal-cvs/cvs/cvs.php/forumsUnifier.php
http://internal-cvs/cvs/cvs.php/account.php

Related Files:
S:\web-sw development\Documentation\Code Reviews\Code Review Checklist.doc
S:\web-sw development\Documentation\Code Reviews\Uni-Login Script.doc

Results From Review:
ForumsUnifier.asp
ACTION:
Missing Header/Footer
ACTION: ASP Comments (including related files) missing
ACTION: Use include to lmskeepalive.asp rather than static code

LMSUniLogout.asp
ACTION:
Header/Footer missing
ACTION: Point to gatekeeper (update link)

ForumsUnifier.php
ACTION:
Header/Footer Missing
ACTION: Not enough documentation
ACTION: Remove code which is not being used (Line 15,17,34 to 40, 41)

account.php
ACTION:
Header/Footer needs to be updated with latest versions, with more information
ACTION: Line 247: Needs a header refresh to index.php and remove acountDetails() reference and function.
ACTION: PHPDoc comments missing.
ACTION: Line 97 – 99, 229 comment removal
ACTION: Lines: 127 to 171; Remove echo’s and drop out of php instead.
ACTION: Line 113; Remove magic numbers
ACTION: Line 114, 113; Remove rand functionality
ACTION: Line 212; replace “relevant” with “NCALT Systems”
ACTION: Line 218; change to “Back to NCALT.com”

CheckList Items Added:
9. Any duplicate code should be put in a separate module for reusability.
10. Removal of code which is not being used.

Duration: 1 Hour

Categories: Java Development, Web Development Tags: