February 03, 2004

Microsoft using Mac G5 to develop games ?

I would connect today's Merc article Microsoft leaks details on Xbox Next...

Three IBM-designed 64-bit microprocessors. The combined power of these chips means the Xbox Next will have more computing power than most personal computers. Earlier versions of these PowerPC chips are used in Apple Computer's high-end G5 PowerMac machines now.

with the story of that Microsoft contractor who was fired in october for posting pictures of Mac G5 delivered at Microsoft loading docks on his weblog.

The Mercury story says:

Internally, Microsoft has begun developing game prototypes, and it is using G5 systems to do so.

So that was what these G5 delivered in october were used for: developing XBox next generation games.
Will we be able to run them on our macs ?-)

Consequences of this would be good for Apple and Apple users: Mac OS X is a great platform for development, business use, and personal use (iLife apps) but the game library is very small today.
My wife and I both have powerbooks (me the 17'', her the latest 15''), but I was intending to buy a PC, a Tablet PC or an XBox for the kids, for the games. I guess I'm not alone.

From a business point of view, it is one more signal that Intel has some trouble ahead: AMD is making dents in desktop and servers, and now IBM in game consoles.

Posted by chanezon at 11:21 AM | Comments (1) | TrackBack

If you want to play with Syncato on Mac OS X, use Syncatomatic !

Tonight was my second attempt at installing Kimbro Staken's very promising Syncato

The first time I started by downloading all dependencies and trying to install them manually, and stopped real quickly: mind you I did this during the day and had to resume real work :-)

Tonight I successfully installed webware, configured it for Apache, read the README for Syncato and the FAQ... but failed to get libxml and libxslt setup for Python.
Python on the mac is a real maze: you have Python 2.3 installed, but in an unusual location so you have to build libxml2 and libxslt and even though Jon Udell succeeded in doing so, he forgot how he did it :-(
Trying another trick to make my life easier, I had used fink to install Python 2.2, libxml and libxslt, but it didn't work for syncato.
Also the excellent FinkCommander doesn't work with Perl 5.08, which came with Panther.
Being more a java than C/C++ guy, I don't like to spend my leisure coding nights mucking with Makefiles and environment variables !

I was ready to call it a day when I stumbled on
Rick Bradley's marvelous Syncatomatic: from the README

The syncatomatic is just a Makefile -- it lists the dependencies between
software packages along with the rules to be used in building them.

The syncatomatic builds a self-contained instance of the Apache webserver,
along with all the libraries and python modules required to run Syncato
under the Webware application server. If you have some of the components
installed already you can tell the syncatomatic and it will try to use

Packaged along with syncatomatic is 'wget' -- a command-line web download
tool (that we make no claim to having written). Since finding the proper
download sites and version numbers for the pieces of software required can
be painful as well, syncato automates that process as well.

With any luck (okay, with a lot of luck) you'll run a configure script and
then call 'make', go out for lunch (or for the weekend, depending upon
your processor speed), and be ready to play.

It's kind of wasteful since I laready have most of this stuff installed on my system already, but I'm willing to give it a try: third attempt.
I just launched it and it seems to run OK.
I'm going to call it a day and check tomorrow morning if it built the full salsa :-)
If it fails I'll try to follow Udell's route !

Mmmm... doesn't work: syncatomatic fails at getting xerces. It tries to download xerces 2.3 source code, which is not there anymore on apache mirrors.
When I replace it by xerces 2.4 in Makefile, it fails later:
/bin/sh: line 1: cd: /Users/pat/Applications/syncatomatic-20030929/src/xerces-c-src_2_4_0: No such file or directory
make: *** [/Users/pat/Applications/syncatomatic-20030929/flags/xerces-c-src_2_4_0.done] Error 1

This kind of build file dependent on online resources that disappear overnight is disturbing: I hope we'll avoid that kind of issues with maven repositories in the java world.
Note to self: send an email to the Apache repository project mailing list to ask them if they took into account the fact that artifacts need to be as long lived as the potential builds that use them, ie forever, or at least following a policy that is longer term than "we just keep the last version" !

I guess I'm back to square 1.
Trying to follow Udell's route, and Kimbro's advice on how to build libxml2 Python bindings on Panther.

Installing libxml2 version 2.6.5 worked fine.
doc/libxml2-python-2.6.5/examples] pat% /usr/bin/python tst.py

Just don't forget to use sudo make install, because it needs root access.

But then making libxslt fails.
> ./configure --with-python=/System/Library/Frameworks/Python.framework/Versions/2.3/

checking for libxml libraries >= 2.6.3... configure: error: Version 2.5.4 found. You need at least libxml2 2.6.3 for this version of libxslt

I installed 2.6.5 but someway 2.5.4 is recognized.
Maybe I need to remove the old library from my system.
How do I do that ?
Maybe that was what Jon Udell doesn't remember !

Looking at /usr/lib and /usr/local/lib
ls -la /usr/lib/libx*
-rwxr-xr-x 1 root wheel 957704 24 Sep 08:44 /usr/lib/libxml2.2.dylib
lrwxr-xr-x 1 root wheel 15 10 Nov 13:55 /usr/lib/libxml2.dylib -> libxml2.2.dylib
-rwxr-xr-x 1 root wheel 731 13 Sep 02:30 /usr/lib/libxml2.la
[chanezon:~/Applications/libxslt-1.1.2] pat% ls -la /usr/local/lib/libx*
-rwxr-xr-x 1 root staff 2548340 3 Feb 02:33 /usr/local/lib/libxml2.2.6.5.dylib
lrwxr-xr-x 1 501 staff 19 3 Feb 02:33 /usr/local/lib/libxml2.2.dylib -> libxml2.2.6.5.dylib
-rw-r--r-- 1 root staff 3094412 3 Feb 02:33 /usr/local/lib/libxml2.a
lrwxr-xr-x 1 501 staff 19 3 Feb 02:33 /usr/local/lib/libxml2.dylib -> libxml2.2.6.5.dylib
-rwxr-xr-x 1 root staff 838 3 Feb 02:33 /usr/local/lib/libxml2.la

and checking in /sw/lib
ls -la /sw/lib/libx*
-rwxr-xr-x 1 root admin 742808 2 Feb 23:25 /sw/lib/libxml.1.8.17.dylib
lrwxr-xr-x 1 root admin 19 2 Feb 23:25 /sw/lib/libxml.1.dylib -> libxml.1.8.17.dylib
-rw-r--r-- 1 root admin 971188 2 Feb 23:25 /sw/lib/libxml.a
lrwxr-xr-x 1 root admin 19 2 Feb 23:25 /sw/lib/libxml.dylib -> libxml.1.8.17.dylib
-rwxr-xr-x 1 root admin 716 2 Feb 23:25 /sw/lib/libxml.la
-rwxr-xr-x 1 root admin 2279420 30 Mar 2003 /sw/lib/libxml2.2.5.4.dylib
lrwxr-xr-x 1 root admin 19 16 May 2003 /sw/lib/libxml2.2.dylib -> libxml2.2.5.4.dylib

This is where the comes from !
Remove all these files
still problem

use the ./configure option

./configure --with-python=/System/Library/Frameworks/Python.framework/Versions/2.3/ --prefix=/usr/local --with-libxml-prefix=/usr/local --with-libxml-include-prefix=/usr/local/include --with-libxml-libs-prefix=/usr/local/lib

This time it works !!!
doc/libxslt-python-1.1.2/examples] pat% sudo python basic.py

Now let's try out syncato.
Works !

Except that if you click preview before an initial Post you get an error.
I guess this is a bug.

3:40 am: time to go to bed.
Next time, I'll install dbxml: right now my syncato weblog runs on the file system.

Posted by chanezon at 02:14 AM | Comments (5) | TrackBack

February 02, 2004

A View Source on Tim Bray's Ongoing

From Tim Bray's Ongoing, in the "view source":

<!-- Generated from XML source code using Perl, Expat, XML::Parser, Emacs, Mysql, and ImageMagick. Industrial strength technology, baby. -->

Yeah baby :-)
This reminds me the discussion at Tristan's Standblog [fr] about the suitability of tools imposing various level of technical knowledge for various types of users (the post is in french).

Posted by chanezon at 11:08 PM | Comments (1) | TrackBack