Programming stuff
The next couple of weeks will be spent coding at work but unlike other programming assignments this one was not handed over to me but to my only remaining colleague, as the other one is due to leave next Tuesday. I will try to help her get to grips again because after University her programming skills were deeply buried underground. As usual at the beginning of new projects I go through the technology frenzy period which is an endeavour to learn new technologies for the sheer joy of learning them. This leads to overwhelming and also creates previously unforeseen decisions which need to be taken.
The big dilemma in implementing the online leave application system was whether to use an EJB logic tier or not. We have a very strict time-frame for the task because the first phase needs to be implemented by the beginning of January, so the simpler architecture was a viable option. However, after considering that this application is going to be used by the whole company, has complex business rules, and will most likely require heavy maintenance, we decided to opt for an EJB tier architecture.
This is the first time that I'm going to work with my mate on a 'real' programming project, so I decided to document and standardise my coding conventions. I remembered that I once found a document by Sun on the subject so I tried to look for it by incorrectly typing "java blueprint" in google, but I stumbled across something different yet equally useful. The Java Blueprint project is a sort of best practices tutorial that encourages good practices in J2EE programming, something I was in need of. I got immersed in the documentation especially in the sample project (Pet Store Application) and have spent the last of these four days reading and analysing the system, with the hope of learning something.
The pet store application is a demo of an online shopping pet store. I first download the J2EE 1.3.1 versions and while going through a whole lot of trouble with the classpath configuration, I decided to download a newer version. Browsing through the chaotic section of the java downloads I was forced to download version 1.4.1 which comes at a hefty 104MB, bundled with Sun's Application Server. This sluggish new version comes with a very friendly web server administration tool which is excellent to configure the server quickly not having to edit text files. This version uses a pointbase database engine instead of the traditional cloudscape engine that was usually shipped with pervious j2ee's. Pointbase is a 100% pure java database engine especially marketed for the Java Platform. For a database that comes packaged with J2EE it looks quite good and it comes with its own graphical editor obviously written in Java which again helps in getting to grips with the product quickly.
The two most prominent aspects about the blueprint examples were the usage of a web application framework (WAF) and the use of JSTL. Until now most of my Java web programming was simple, one man band programming with strict timeframes so I never had the chance to learn how to use a web application framework. I'm completely convinced about the advantages that it offers but I'm still undecided whether to employ one for this new project given the strict timeframe that we have. What makes the choice more difficult is that there are a million different WAF's out there, to the extent that there is a project called WAFER that tries to compare between the different implementations. I'm positive that the most renown one is Struts however it seems that Cocoon is another good competitor in the area. From the little code I saw which uses these frameworks, tag libraries are used in all JSP pages, instead of code scriptlets. Given the task they do it's obvious that taglibs are the right choice however until know I was comfortably implementing JSP with scriptlets. This practice is now risking extinction because the separation between logic and presentation that JSTL offers is brilliant.
Getting your hands dirty programming rekindles the battle of the IDE's. Since I adore installing and trying out software I installed two editors at the same time Eclipse at home and IntelliJ 4.5 at work. I've had more time evaluating IntelliJ and I was very impressed with the improvements of the latest version. This version supports most application servers featuring automatic deployment and plug-ins that make the program very extensible. I installed Eclipse out of curiosity about all the hype it generates. At first I didn't have any clue how to use the program so it looked pretty basic, providing the usual editor functionality. Today though I had some free time to fiddle around with it and I was awed. I went to two eclipse plug-in sites MyEclipse and Eclipse Plug-in Resource Centre and all of a sudden the program boosted itself thousand fold. Does anybody think there's an IDE better than these?
At the moment I'm still trying to figure out how to make best use of the program, and to help me out I found a series of 9 videos about Eclipse (Eclipse Video Courseware). Lately I've realised that videos have a great teaching potential. In fact I've learned most of Adobe Premier by the support site videos and last week I got 2 CD's of Linux videos that seem great. I think that comparatively videos are a faster way to learn the intricacies of software programs than books, because you're seeing the actual thing happening before you and you're more likely to remember it.
Leisure Stuff
To end a busy week on a humorous note we went to watch Bridget Jones: The Edge of Reason (review) starring Renee Zellweger, Hugh Grant and Colin Firth. Like most sequels the film was not half as good as the great original. The film continues exactly were it left in the first film but it takes some time for the story to get rolling properly. The best parts are all in the second half which manages to save the picture. 2 Stars.
Our travel nostalgia resurfaced but now we're taking a proactive approach and so we're looking for a new destination. We seem to have agreed that the next holiday will be in Africa sometime around May next year. At the moment our focus has been on the southeast part mainly Tanzania, Kenya and Madagascar.
Yesterday I was browsing through the National Geographic site and there was a small feature about Botswana a forgotten land in Africa. At the moment there are some great pictures on the site because there's a Best Picture of 2004 feature. Anybody who appreciates a beautiful photo as a desktop should take a look.
Ganis is back
After two weeks wandering around in the cold and rain my black cat returned back home. I'm overjoyed! At the moment he's sleeping in my lap.
In the last weeks I've put my developer's hat back on and I'm eating and breathing Java. After a long dispute we were instructed to write an online leave application program where all employees must be able to apply for their leave online. This application was triggered after some very nice guy from another department wrote an Access application for his secretary and claimed that it can be extended for the whole company. As usual all previous priorities got mixed up badly.
In an effort to streamline my coding practices I wrote a brief document on coding standards and programming conventions that I should follow. The document is mainly a cut and paste of the relevant parts from the referenced sources.
Punishment
To end the uneventful weekend we watched The Punisher (Review) starring John Travolta and Thomas Lane. Not paying attention to the introductory Marvel credits I thought that the film was going to be a 'serious' credible thriller but I missed badly. There is no mistaking the film for a violent comic story because it's absolutely nothing more. The pity is that John Travolta choose to play a major part in the film. 2 stars.
Sergio Muniz
Read the Sergio Muniz feature HERE
All ended well at the reality show of the year - Isola dei Famosi 2, the Italian verson of Celebrity Survivor. Sergio Muniz a Spanish model triumphed over Kabir Bedi and Toto Scillaci in the final round after spending 46 days in complete isolation. It was a great relief when the finalists were declared because from the 12 participants the three most sincere, truthful and correct people made it to the final. It's no coincidence that amongst the finalists there were no women given their extreme and in most cases exaggerated sense of rivalry, backstabbing and aggression. The winner was my favourite competitor showing an unprecedented sense of resourcefulness, courage, stamina and ability to live in solitude for a month and a half. Congratulations Sergio you're bold and beautiful.
Today I heard two interesting puzzles. Try to add the following numbers mentally in this order:- 1000, 40, 1000, 30, 1000, 20, 1000, 10. What answer did you get? If it was 5000 recount again.
Another one was: say "silk, silk, silk", now what does a cow drink? If you said milk try going to a farm and get your agricultural knowledge up to par.
Link Parade
20q.net - 20 Questions played by AI - masterpiece Wormsbuzz - Worms fever is on, and I managed to unlock the game with a download from here. IT Toolbox Blogs - You can spend a whole month reading here Cnet internet speed test - Check you internet connection speed (i'm running on 257k today) Getjealous - Travel website free hosting Software Enginnering Documentation - A number of templates, case studies and reports for almost all software engineering documentation deliverables
Open Water and co.
What a waste! We spent $20 to watch a horror home video on a cinema screen. The film was Open Water (Review) which guess what, is yet another shark horror movie. We meant to watch "Hero" but because of our obsession with worms we were late for the film and so we missed it. To give the devout credit to the film, it was much more realistic than all the best parts of jaws put together. The problem was that it is a very low budget bordering the amateur which is a waste watching it at the cinema. The worst part of the film was by far the completely out of context nude scene at the beginning which does an excellent job of priming you towards the banal ending. 2 stars for the suspense.
This week was document writing week. I had the Revenue Management document at work and my brother's SRS assignment at home. Ironically enough, both of the documents were not my job but as usual I ended up doing all the corrections and most of the document especially at work. My brother made a big improvement in his approach toward school work because he spent 3 whole days and nights working on the document. Until 5 days ago he couldn't bear spending more than an hour doing something. What's even more surprising is that he actually is paying attention to formatting and presentation, which was something he really had to work on. Again I cannot say the same for my work colleagues who were more interested in presenting my work than doing it themselves.
For the recommendation document I needed to compare two different systems with each other. I soon realised that in all the lessons I've been through in Computer Science nobody ever thought us how to evaluate systems or conduct feasibility studies. Go figure, in all my feasibility sections of the assignments it was always feasible to implement the project. Now I'm trying to research some metrics and diagramming techniques to help with system evaluation and feasibility study. I found this good paper entitled A framework for systematic evaluation of software technologiesby A. W. Brown and K. C. Wallnau which compares two different technologies and uses two great visual techniques; an onthology diagram and a spiral diagram which I don't know what's called. In my research I also found a good document which describes Revenue Management for those interested.
Unfortunately today we had a funeral of our friend's father who passed away yesterday at the age of 71. It was very sad watching him cry knowing that he's the most funny person and clown of our group. In the afternoon it was too windy to go anywhere so we remained at home watching a travel program called Alle falde del Kilimangiaro. At a certain point there were two features of holiday videos sent by the public, and my love got the brilliant idea of sending our video. I was very pleased with the idea knowing that she wouldn't dream of doing so if she thought the video was crap. The problem now is translating the video to Italian because the program airs on the Italian channel Rai Tre.
Back to coding
This week I planned to start working on the Bird Life ringing project after work. I gave up trying to do it at work because it is simply impossible at the moment. At home it's not much better because at 11pm I'd rather play or read then code. Today I had to postpone starting again because I've not received the files from work. I think I'm trying to excuse myself for not working. To rest my conscience I'm installing the latest development tools including Eclipse which I'm using for the first time.
Week Summary
This week I dedicated less time to the blog than usual because I decided to work at work, and play at home. My better half attended the Microsoft course for the whole week so instead of getting lonely I sunk my head in about five different project simultaneously and getting nowhere in all of them. At last the red headed newcomer, who possessed my old office, offered some words and it turned out that he's much better than the management tried to give the impression. He's a friendly down to earth guy who seems to have a considerable amount of experience in both the airline and computer business. On Friday we had a meeting regarding the Revenue Management system proposal and the COO trashed the proposal document. As expected I ended up having to write the thing myself, with a 30 page draft required next Tuesday morning.
The rest of my free time was spent nurturing one of my favourite vices, installing games and playing their intros. In a week I installed;-
Doom 3 Great graphics but the 1.3Ghz PC was far too little for the game's heavy requirements. The game is set in a futuristic Mars so it didn't appeal much. I uninstalled the game today. MVP Baseball 2003 This game was installed just after I returned from the holiday and it's the only one that I've been playing constantly. At last I learned enough baseball basics to be able to play the game. Just before the beginning of the real World Series I started a tournament with the Red Sox and I like to think that it brought them the luck they've been missing for the last 86 years. Total Club Manger 2005 Barley moved through the first few screens before trying out something else. It looks like a good game although it's definitely not in the league of championship manager. I haven't uninstalled it yet so it might stand a chance. Far Cry This game is not working well because the entire playing area is blue. I hope I manage to find what's wrong because I've got high hopes for this one. Worms 3D This is my girlfriends current sensation. We've play 3, 45 minute games since yesterday and from the 6 rounds played I only managed to win one. The 3D environment takes some time to get used to especially for fans of the older version, but its appeal is undeniable. Since she is almost winning every time this game is here to stay. Midnight Club 2 Just installed it and will try a game just after this post. Counterstrike Source My brother was brainwashed about this version of the most popular internet multiplayer game and I got carried away with the current. My first few games as complete newbie were very frustrating, but in my latest appearances online I managed to get 5 frags.
War is not over yet. Last Wednesday that blood hungry president won again and the world will have to suffer his decisions for the next four years.
Unless somebody convinces me on the contrary I've decided to forsake the travel blog in full format. Too much time has passed since we returned and work is pilling up so fast that by the time I finish writing the blog I'd be returning from another holiday. Instead I will attempt to write my travel experience in the format of a travel article.
Relaxed in Singapore
| On our second day in Singapore we retreated from the hectic city life and visited the Botanical gardens and Sentosa. To reach the Botanical Gardens the best solution turned out to be a taxi since the MRT stop is quite far from the gardens. By far the most interesting place in the gardens is the Orchid garden which hosts around 60,000 orchids. Here one can appreciate a wide variety of orchids as well as hybrid orchids which are pretty common here. We saw Singaporean national flower Vanda Miss Joaquim. | Orchids at Botanical Gardens |
From the Botanical gardens we went to Harbour View in the southern part of Singapore, to redeem the Canon voucher from their customer centre. I got a free additional battery pack, 3 Mini DV tapes and a tripod. The tripod was an utter waste because I had already brought one before going on holiday so I finished carrying an extra tripod throughout the whole holiday yet I couldnt bear the guilt of throwing it away.
Hazy Sentosa |
In the same complex of the Canon customer service centre there is the cable car to Sentosa, so we decided to give the artificial island a try. The cable car trip was barely worth it because it was spoilt by the haze coming from Indonesia due to forest logging. |
Were I still 10 years old I would have adored Sentosa, riding the free monorail to hop between the small beach, butterfly garden, Fort Siloso and the nature walk. In this part of Singapore the tourist promoters have a very high regard of their attractions, calling Mt Faber a mountain regardless of its miserable altitude of 116m, and the vegetation of the nature walk 'lush'.
Creating an artificial island like Sentosa is a sign that the government has concern and care for his people. To be able to control the people and generate revenue, fines and taxes are omnipresent, not to mention the government's exceptional flair for strange rules. The means seems to justify the end because Singapore is an efficient, clean and prolific country with flourishing business ventures. Another honourable feat is the way 4.1 million people manage to fit in 682 sq kilometres making it the most densely populated country in the world.
We returned back from Sentosa in the late evening and made the mistake of not stopping at the Harbor View stop. As soon as we arrived at the last stop we were stranded because there was no transport whatsoever back to the station. Before I was going to get shout at I approached a man to ask him how to get to Harbor View and he offered to drive me there. He was a godsend and after having dinner at an Italian fast food joint (to make up for the previous error) we returned back to the comfort of the A/C at our hotel with the MRT.
Video Taking Tips
- Do not zoom at anything and everything. If you want to zoom on something also take a wide angle shot of the subject so you can decide which is best at editing stage. Although subjects may seem small in the view finder they get bigger on TV. I have too much zoomed footage.
- Keep high zooms (x10+) very very low. Camera shake at this range is incredible.
- Keep a consistent turning motion, don't turn too fast or too slow.
- Get to use the tripod more often. Train how to turn the camera on the tripod without jittering the scene. It is also important to align the tripod well before shooting.
- Dare! Record loads of footage even when youd think its no good record just the same. At the caves in Mulu I though that the actual video was going to result in crap however it was good footage. Because I didn't continue shooting I lost the rest of the caves.
- While editing sound and removing stupid clips is easy, editing poor lighting was a bit too complex for a start. Pay careful attention to light because it will finally make or break your footage.
- Its a good idea to video guides talking so that at least you can capture the sound and explanation even if the guide is not presentable.
- When recording somebody talking pay attention to record close enough to the person to capture the audio correctly. Some good clips had to be discarded because the volume of the person talking was too low.
- A week before the holiday spend some time video taking to remember the importance of these points and avoid trashing 90% of the first 3 days of footage.
Video Editing
At long last I've finished the holiday video editing. Today I meant to start the actual DVD creation but I forgot my CD's in my girlfriend's car so I'm left with the blog to write. During my first steps at editing I inevitably went through those frustrating mood swings. One minute you want to smash everything in front of you, a minute later you feel like Quentin Tarantino until you actually resize the size of your monitor and end up walking towards the first aid kit to get a surgical blade. All in all I can say that I'm quite satisfied with the final result considering it is my first attempt. The video editing process went something along these lines:-
Selecting Software
The first step was selecting the video editing software. The PC platform is inferior to the Mac in this area, so the limited choice soon boiled down between Pinnacle Studio and Adobe Premier Pro. The first to download was Pinnacle so it got the first chance to impress. I managed to start capturing video after a few minutes but from then onwards it was a constant descent. Most of the seemingly interesting parts of the program were disabled and by the time Adobe was installed I had already ditched Pinnacle. Although Adobe is more complex it is more powerful and professional so I'm convinced that I made the right choice.
Video Capture
This step requires a HUGE amount of memory. For digitizing 5 hours of video I used two 40GB hard disks and had to connect another disk to store the rendering information. My computer is now dead slow and I think this will create some serious issues when I come to burn the DVD. The time spent freeing space, fiddling and begging for hard disks was very time consuming and a very bad mistake on my part. The few bucks I saved were lost in time and sleep.
Premier pro has a scene detection mechanism which automatically creates a new clip as soon as a time change (ex. Pause is pressed) is detected. This feature is very useful because I found it much more comfortable to work with many short clips then few long ones. The downside is that it goes haywire as soon as blank space is detected on tape, which happened whenever I did a rewind/play during video taking to check the results on the camcorder. Every time the scene detection mechanism of Premier Pro encountered this blank space a timecode error stopped video capturing. The solution was to rewind a few seconds back and turn off the automatic scene detection.
Scene Selection
Once the video was capture I had to filter between the good, the stupid and the bad. At first when the holiday nostalgia was at its peak, I watched the video being captured to help me choose the right clips. This was not a bad idea especially when editing the video immediately after the capture because it saves time when selecting which scenes are going in the final video.
When capturing video at night with no time left to edit the scenes, I preferred drinking barrels of coffee instead of watching the video capture going on. I'm so liable to change my selection criteria on different days that this approach helped to achieve a more consistent result.
In the beginning I watched each individual clip in the preview monitor to decide whether the clip was acceptable. This was not a very practical approach because when assessing individual clips I was loosing the complete context of the scene. What I ended up doing was drag the whole sequence of clips to the timeline and trim the clips accordingly on the timeline. This saves more time than first watching the clips in the monitor then reviewing them again in the timeline to edit them.
With people asleep in my room I sometimes had to watch clips with muted sound. This was beneficial in some cases because clips with a horrible sound like for example while on a boat or in direct wind didn't get trashed. When viewing these clips with sound you are unconsciously influenced by the bad sound quality and easily discard a good clip which an apt piece of music might heal.
From the first video shot I took I meant to make two versions of the DVD, a family DVD and a cool DVD (uncensored). Regardless of the countless number of times I thought about how cool this would be I didn't categorise the cool discarded clips. Needless say, the cool version is never going see the light because I'm defiantly not going to go through the whole video another time to find the not so socially acceptable clips.
Audio Editing
I think that its best to leave video editing as the last part of editing. In some cases you might want a particular audio sequence to fit exactly with video so trims to the video can end by in loosing synchronisation between audio and video.
Watch any TV feature and imagine how dull it will be without music. The same applies to video. Selecting the music clips was very challenging considering my musical tastes and the slow scenes of a holiday video, so I ended up listening to the radio most times of the day for inspiration. The final soundtrack is this:-
- Lenny Kravitz Fly away
- Deep Purple Smoke on the water
- The Rasmus In the shadows
- No Doubt Hey Baby
- Little Mermaid Under the sea
- The Beatles A hard day's night
- All Saints Pure shores
- REM The great beyond
- Christina Aguilera Dirty
- Relaxed oriental music
- Jamiroquai Deeper underground
- Smashing Pumpkins - The end is the beginning is the end
After the audio editing is complete all that is left is adding titles and clip transitions. Like all video editing packages Adobe has a large selection of video transitions to insert between clips however I took advice from other video editing tutorials and kept transitions to a minimum. As a general rule I added 'fancy' video transitions when changing locations and seamless transitions upon a complete change of environment or scene colour.
Preview
By now I was left with a decent version of the actual result. Until this phase most of the footage was viewed in a very small window at the top of the screen. Now was the time to resize and take a look at the bigger picture. When resizing the PC screen video camera shake multiplied and became so evident that I was despairing with the abysmal video footage I took.
Before taking the suicidal plunge I decided to export the whole sequence to tape and watched the result on TV. Fortunately the picture on TV was more forgiving than the maximised video on my monitor and the colours were much better too. While watching the pre production result I took some final notes for the finishing touches.
Conclusion
This beginner video editing experience made me appreciate TV features and documentaries much more. I caught myself paying attention to TV font captions, clip video transitions, background music and editing mistakes. All in all I think I like video editing and now I'm looking much more than ever for the next holiday. Somebody sponsor me please!!














Orchids at Botanical Gardens
Hazy Sentosa
Comments (0)