Monday, 31 January 2005
The Maya API Tutor
Here are some of my notes on various resources I use when learning the Maya API:
I noticed through HighEnd3D Forums that Robert Bateman, a teacher at National Center for Computer Animation, has updated his well known Maya Exporter Factfile to now include even more notes on the Maya API. Since it's fairly few programmers that care about this API it's also hard to find good documentation on it. That means that these notes is of even greater value when updated.
Other resources for learning the Maya API is through David A. Gould's book Complete Maya Programming (Volume I) - An Extensive Guide to MEL and the C++ API. David A. Gould is a Technical Director at Weta Digital and worked on Lord of the Rings. You can read a very nice interview of David A. Gould here. I'm glad to see that he's now working on a followup Complete Maya Programming (Volume II) - Practial Maya programming for games, film and video scheduled for release early this year.
Another resource is Bryan Ewert's notes. It doesn't seem to be so much updates here anymore, but most of the information should be present. One of the newer resources is Zhang Jian's notes, a freelance Chinese Technical Director. His notes provides various useful tutorials and samples so if you're new to the Maya API you should really try his tutorials.
The latest notes I've found is some notes from Michael B. Comet, a former rigger and pipeline integrator at Blue Sky Studios now earning his living at DNS Productions.
Sing When You're Winning
Yes! Norway has beaten the World and Olympic Champions Croatia in handball this evening... And I was actually practicing my singing skills with my girlfriends choir "Morsommere enn pent".
Now to the geeky stuff: I was seeking for a tool to generate PHP classes from a WSDL-file today and came over Cerebral Cortex, a promissing coding framework for PHP 5 written by Davey Shafik.
Also got a tip about a fancy JavaScript menu called ypSlideOutMenu. I got some feedback that it wasn't working that well in Opera on Linux, but it seems to work ok in almost every other browsers. Looks cool! Try it out.
Sunday, 30 January 2005
End of the weekend
I had a great time last night playing Bohnanza and Trivial Pursuit 20th anniversary edition with some friends. Today my girlfriend and I went to the cinema to see "Alt for Norge", a documentary about norwegians and Norway's short history. The movie had some funny points but overall I think it was very disappointing after the expectations I got.
Saturday, 29 January 2005
The Pling Project
Yesterday I wrote the first working version of a new little network monitoring tool in PHP 5 I call Pling. Today I put together a project page for this tool. I started this little project since I need a little tool to monitor a bunch of service and don't like the beast Nagios. In addition I'm learning how to write deamon's in PHP 5 with the Unix-style Process Control Functions.
Thursday, 27 January 2005
Some more literature
Got some more books here the other day. Here's what I'm reading at the moment:
|
|
|
Tuesday, 25 January 2005
Interview with ProLEARN
I was interviewed by ProLEARN today. They wanted to test out questions on a computer engineer that just had got a job. Luckily I got a bottle of wine afterwards :)
Friday, 21 January 2005
An enterprise web solution in PHP 5
I got inspired partly from my current job and Markus Baker's latest article "Shedding a Tier" in the January issue of php|architect to look into a complete enterprise solution for PHP 5 consisting of a 4-tier solution with clear seperation between the infrastructure (databases etc), the domain model (a business logic API), the application layer and the presentation layer. The following suggestions make sense to be used in large scale web applications. In example solutions dealing with everything above 20 tables.
Now let's get to my choices to handle a 4-tier solution. Let's start at the top. I'm already looking into PRADO as a genuine event-driven web application framework for PHP 5 (read: grand prize winner in Zend PHP 5 Coding Contest). This framework adopt good ideas from ASP.NET's web components that abstract you as a web developer from the nitty gritty HTML and JavaScript code you find yourself writing over and over again for each application. In addition it also have some very nice validator components also adopted from ASP.NET that automagically generate both client-side validation code (in terms of JavaScript), and server-side validation code. This heavily increase your development speed on robust input validation. The framework also contains a newly added internationalization (I18N) and localization (L10N) support mostly inspired by Java's internationalization. As far as I have tested and seen this framework in action I have only one thing to say: very promissing! Ok, it's a fairly new framwork, but I've actually tried it out for some time now and realy see what it can do for me as a rapid application development (RAD) tool in PHP 5, so I'm quite excited about it.
Now we have a good framework for our application and presentation needs. But we need some kind of Object Relation Mapping (ORM) tool or Data Access Objects (DAO) as it's also called. After done some research in this field I was standing between PEAR::DB_DataObject - the PEAR official ORM tool, MyObjects - a new ORM tool specially designed for PHP 5 together with MySQL and Propel, a full-service object persistence and query toolkit for PHP 5. After looking a bit more into these tools I choose Propel as my ORM tool. The query part is handled through Creole, a database abstraction layer for PHP 5 and a subproject of Propel. Creole is based loosely on Java's JDBC and provides us with a fully object-oriented interface to our backend database. Also notice that Propel depends on Phing - a project build system for PHP 5 based on Apache Ant.
Suprisingly not I'll choose MySQL as my intrastructure beneath all these tools. Just because this is the DBMS I prefer to use.
To sum it all up we'll get something like this illustration:

Hopefully this should be enough to maybe pull some triggers on you to check out these projects a bit more. I won't get into more details right now since both PRADO and Propel both have enough documentation on their home pages to get you started. If you're like me you should also look into the examples shipped with both projects, they are good to practice on. I hope to come back with more information about this suggested enterprise solution if I'll use it some way in the future.
Digg within weblogs
Suddenly discovered a new search engine today specially designed to search within Weblog's. With BlogDigger you can specify your search by searching on audio, video, images, bittorrent or text blog's.
I also come over a new promising magazine called Free Software Magazine. Check out it's first issue which is also free here.
Thursday, 06 January 2005
Ruby on Rails
Ruby on Rails is a open-source web application framework for Ruby. Check out their little showoff video :).
Monday, 03 January 2005
Search within source code
Sunday, 02 January 2005
Take a break
Have you ever been programming hour after hour in front of your computer and thinking: "just have to nail this bug" or "just have to implement this new cool feature"? Many times you get lost in some kind of strange problems and what you thought would take just a few hours took you half a day. It's important to take small breaks. Richard Hult from Imendio has written DrWright, a small tray application that reminds you to take regular breaks from your computer. It's included in GNOME 2.4 and above as "Typing break" under "Keyboard preferences".
Advanced
PHP Programming
High Performance MySQL
PHP 5 Power Programming