OSX Leopard, App Engine and Python's PIL libraries

Running Google App Engine on OSX Leopard is fairly straight-forward except for the fact Leopard does not ship with the Python PIL imaging libraries. One way of resolving this problem is to use MacPorts to compile your own Python 2.5 libraries. Install MacPorts and then from the Terminal run:

sudo /opt/local/bin/port install py25-pil
sudo /opt/local/bin/port install py25-socket-ssl
sudo /opt/local/bin/port install py25-hashlib

Finally edit the /etc/profile file...

sudo nano /etc/profile

...and add the following entry at the bottom:

export PYTHONPATH=/opt/local/lib/python2.5/site-packages

If you want the App Engine launcher to recognise this new version of Python open the application's preferences and set the path to the python2.5 executable (see screenshot).

 

HP LaserJet 2840 recommendation from Mike

If anyone is in the market for a multifunction device with a colour laser printing, scanning and fax capabilities, Mike Clements has a good recommendation, the HP LaserJet 2840. This printer is not for the average home user, but if you run a small/medium sized office this printer delivers functionality and features at a very competitive price.

What follows is Mike's thoughts on the device...

I purchased the HP 2840 from Ingram Micro as they offer very competitive pricing within New Zealand. Installation could have been easier, the documentation is a bit average for anything past how to un-pack it and install the software, but once setup is complete it is a fantastic printer. One lesson, remember to leave the SNMP on its default settings (R/W).

This is the only "All in One" device I have ever liked, mainly because of its quality and deep featureset. Here is an overview of what it does:

  • Prints photos
  • Photocopies
  • Scans (flat bed)
  • Fax machine (inbound and outbound)
  • Has a 50 page document feeder for scanning, copying and faxing
  • Built in card reader (SD, CF, XD, MS etc.) that is exposed as a CIFS share on the network (iPhoto even sees it)
  • Internal JetDirect for network connection & USB 2
  • Supports network (IP) based faxing and scanning in colour

Here is a list of things that put it above many competing multi-function devices out there:

  • It is very easy to use.
  • Full control from either a network PC or at the printer (i.e. pick a machine to send your scanned image too).
  • The LCD panel is actually helpful with steps and errors.
  • All the cables you need are provided in the box.
  • Standard consumables supplied with it are a imaging drum (8,000 pages), Black toner (5,000 pages), 3 x colour (4,000 pages each).
  • Consumable use is well measured and reported via web admin page.
  • Errors are tracked and logged (you can email them, send notifications via SNMP to PCs etc).
  • Faxes can forward, stored on your PC or set to auto-print.
  • Configuration is all web based via an easy to use administration interface. The settings can then be backed up to a file for easy restoration.
  • Supports duplex printing via some manual intervention (but not too bad).
  • Print standards support RAW (port 9100) and LPR printing. This makes it easy to setup via CUPS, NDPS, etc. SNMP is used to detect other devices on the network.
  • "Straight through" printing is possible to avoid the bending of photos or transparencies.
  • It has two paper trays; one for photo paper/envenlopes, letter head, etc. and another for your main paper, e.g. A4.
  • Power saving appears to be excellent with no annoying fans.
  • Full software and driver support for Windows & Mac (all features) and a reasonable amount of Linux support (but unsure if this is for all features or just printing).
  • The software suite appears solid, intuitive and unintrusive. This is quite unlike many other HP printer software packages.
  • TWAIN is supported so graphic applications on your PC or Mac that support TWAIN can scan images from the device direct to the application.
  • Installation of the PCL and Postscript printer drivers are separate from the full software package, this makes setting up iPrint/NDPS much easier.
  • Full support for Zeroconf (i.e. Bonjour). As a result it is automatically detected by Zeroconf/Bonjour enabled systems (e.g. OSX, Windows with Bonjour, etc.).

It is not all roses however, there are some downsides:

  • The device is noisy when printing because it rotates toner cartridges. Whilst not painful, it is louder than your average laser printer.
  • Tray 2 (main paper tray) only supports 275 pages. This is not to bad but it would be nice to support a full ream of paper (i.e. 500 pages).
  • The device itself is quite large and will probably not win any beauty contests.


The HP 2840 even does funky things like if you put in a memory card and tell it to print a proof sheet (thumbnails of your photos), you can then mark on the proof sheet which photos to print at what size, and have these photos automatically printed by feeding the proof sheet back into the device.

Honestly this device has really impressed me. It is the printer equivalent to my iPhone/iMac fetish and would be the device I would expect if Apple decided to make one.


Autodesk Seek talk by Mike Haley

A day after posting my critique on Autodesk Seek I came across this presentation Mike Haley of the Seek team gave in March. Boy I wish that I had come across this last week as it answers some of the outstanding questions that I posed. The video covers the technologies that Seek is composed of, i.e. Atom syndication feeds (PartAtom), schema design, Amazon EC2 and open source modules. The entire thing looks surprisingly good (and open) for a big company like Autodesk. The presentation is an hour long but worth watching as it is probably the most significant thing one of the big-AEC software vendors have attempted on the Internet.

Another interesting thing Mike mentions is that Amazon are working on Windows-based EC2 instances...

Autodesk Seek steps towards ubiquitous AEC search

Note: Before reading this critque I would recommend checking out this Autodesk Seek presentation as it answers many of the questions raised here.

In May Autodesk released a beta of Autodesk Seek, a web-based Architecture, Engineering and Construction (AEC) specific, 3D model and specifications search tool. Rather than a free for all model index in a similar guise to Google's 3D Warehouse or CADoogle, the service is focused on exposing the model and specification catalogues of AEC suppliers. This is hardly going to interest the armchair designer, but for architects and engineers the ability to quickly locate, access and reference specifications and 3D data could potentially reduce design development time and costs significantly.

Gauging by the initial contents of Seek it would appear Autodesk have partnered with some large U.S. suppliers in order to kick-start their index. Whilst the index signals a clear sign of intent its current contents is hardly awe inspiring. That being said raw index size itself does not ensure success, to really make a mark and stand the test of time the Seek team need to execute on three things:

  • Quickly build out this index with up to date and relevant content so that it becomes the first place AEC professionals head to.
  • Create a compelling user experience which overcomes the idea that a specifications catalogue must be dull, unhelpful and always two months out of date.
  • Work to integrate Seek into as many aspects of Autodesk's existing modeling and drafting tools. By doing so the line between desktop and Web will be blurred and Seek will become a natural extension of their professional digital toolset.

What differentiates Seek from the crowd?

The idea of an online product catalogue for AEC specifications is certainly not new. However Seek is unique in that it is the first online product catalogue backed by a large company who's primary customer-base is not AEC suppliers. In the past online AEC catalogue initiatives have been spearheaded by suppliers or third-parties financially dependent on these suppliers. This close association has hindered growth and because for a Web-based, universal product catalogue to be successful it must stand independently from its data suppliers. This independence establishes trust which is important because users do not want the relevancy of their search influenced by who is paying the bills, nor do they want a 'walled garden' where only products from selected (paying) suppliers are on show. Consequently even though many supplier-backed catalogues exist, none can be considered the Google of the AEC world.

Seek has the potential of filling this 'Google' void because Autodesk's primary income is from people who make material purchasing decisions (architects, engineers and contractors, etc.) and not the suppliers themselves. This difference places Seek in the position of being able to design a catalogue that acts in the best interests of the search consumer. At the same time suppliers are practically forced to take part given Autodesk's vast global audience. The challenge facing Seek it is that Autodesk are not known for producing search indexes or successful Web products.

So given this background and the potential rewards on offer what works and what doesn't in this early beta release? Let's take a look...

Upcoming Revit Technology Conference in Sydney

There is an upcoming Revit Technology Conference in Sydney in June. The venue looks very nice although I doubt June is the best time of the year to be hitting the beach, even in Sydney. The schedule covers just about every conceivable functional aspect of Revit. If you can't spare the time or money to attend Autodesk University then this is probably the closest thing you'll get in the southern hemisphere.

Mounting CIFS shares at login with SELinux enabled

SELinux is as painful to use sometimes as it is powerful when it comes to locking down server permissions. Unfortunately even with distributions such as Red Hat which supports SELinux out of the box, you will still experience problems.

One such issue I came across recently was automounting CIFS shares on boot using netfs. At startup the netfs service was returning an "error 13 - error opening credentials file" when attempting to mount the CIFS shares. The problem was the SELinux was not allowing the netfs script to access the file that contained the CIFS authorisation details.

For example, my /etc/fstab had the following entry:

//WINDOWSSERVER/SHARE          /mnt/windowsshare             cifs    credentials=/etc/samba/auth.cifs        0 0

And in the /etc/samba/auth.cifs file were the following details:

username=windowsuser
password=windowspassword

The solution to the problem was to change a SELinux boolean parameter with the following command (found here):

setsebool -P allow_mount_anyfile 1

This lets the mount command open any referenced file, effectively side-stepping the netfs error. Sure it is not 100% secure but it works without having to completely disable SELinux which seems to be most people's answer to any problems.

Harvard Critical Digital Conference 2008 paper

In April I presented a paper at the GSD Critical Digital Conference at Harvard University. The paper was co-authored by my supervisor Mike Donn. The conference itself was pretty good considering it was the first time it had been run. You can find my paper along with all the others online at the Critical Digital website. However for posterity (and Google) I have included the text of my paper below.


Using Project Information Clouds to Preserve Design Stories within the Digital Architecture Workplace

Abstract

During the development of an architectural design a series of design stories form. These stories chronicle the collective decision making process of the diverse project team. Current digital design processes often fail to record these design stories because of the emphasis placed on the concise and accurate generation of the virtual model. This focus on an all-encompassing digital model is detrimental to design stories because it limits participation, consolidates information flow and risks editorialisation of design discussion. Project Information Clouds are proposed as a digital space for design team participants to link, categorise and repurpose existing digital information into comprehensible design stories in support of the digital building model. Instead of a discrete tool, the Project Information Cloud is a set of principles derived from a proven distributed information network, the World Wide Web. The seven guiding principles of the Project Information Cloud are simplicity, modular design, decentralisation, ubiquity, information awareness, evolutionary semantics and context sensitivity. These principles when applied to the development of existing and new digital design tools are intended to improve information exchange and participation within the distributed project team.

StressFree Webmin theme version 1.95 released

Version 1.95 adds the ability to define a custom logo on the login screen:

To define a custom logo for your Webmin/Usermin installation edit the theme-stressfree/config file and set the logo parameter to the valid URL of the logo you wish to use.

e.g. logo=http://www16.plala.or.jp/bend_tail/images/ubuntu-logo-transparent128.png

Note: No image rescaling will be applied to the logo image specified. For best results the logo should be approximately 300x125 pixels in size (or less). For graphical consistency it is recommended that transparent GIF or PNG logo images be used.

The revised theme can be downloaded from here.

Technometria's interview with Jason Smarr

Phil Windley has posted another really interesting Technometria podcast, this time featuring Joseph Smarr, the Chief Platform Architect of Plaxo:

http://itc.conversationsnetwork.org/shows/detail3593.html

Over the course of an hour Phil, Joseph and Scott Lemon cover a range of topics including (but not limited to):

  • The differences between traditional applications and web applications.
  • Creating efficient Javascript and the role of Javascript frameworks in this process.
  • Why HTML/Javascript is a better approach than proprietary Rich Internet Applications (RIAs) such as Adobe Flash/AIR and Microsoft Silverlight.
  • AJAX cross-site scripting opportunities and risks.
  • New functionality in Firefox 3 and Internet Explorer 8 to enable better browser-level cross-site data transfer.
  • Data portability of social networking graphs and the OpenSocial API.

Overall it is a great listen and it is refreshing to hear from someone who still believes traditional Web technologies like HTML and Javascript hold a great deal of potential. I cringe each time I hear proponents of Flash/AIR and Silverlight proclaim that these platforms will eventually dominate the Web. Sure the companies behind these technologies can give a great demonstration, but do we really want to turn the clock back twenty years to a world of closed development on one or two tightly controlled platforms?

Diigo 3.0 is useful for collaborative Web research

I use Diigo on a daily basis to record all my Web bookmarks. Diigo is useful for two reasons, it provides some great tools for discovering things you or others have found useful, and it gives you access to all your bookmarks no matter what computer you maybe using. Creating a Diigo account is free and bookmarks can be imported or added to your profile using a browser extension or bookmarklet. Personally I like the bookmarklet because it works really well and does not require the installation of any extra software.

Rather than just being a place to store links, Diigo is pushing the boundaries of collaborative bookmarking a lot further than del.icio.us, the dominant player in online bookmarking. Diigo have recently updated their service to version 3.0 and it has a host of features which improve your ability to perform collaborative Web research. The most noticeable thing about the 3.0 update is the emphasis on social networking. Social networking improves your ability to share and locate interesting things through the use of friends and interest groups.


My profile on Diigo (click to view)

Lists is a new feature that enables a set of bookmarks to be assembled in order to explain an idea. It is then possible to share this list with your friends or the world at large via a nice looking Powerpoint-style online presentation. If you are interested in what the end result looks like go ahead and check out one I put together earlier. Whilst a niche piece of functionality Lists are useful when it comes to online research. Instead of emailing a boring list of links to someone you can have them view a choreographed slideshow with practically zero effort.


Creating a List in Diigo (click to enlarge)

Lastly Diigo have beefed up their user profiles so that you can include more information about yourself and control who can see it. This works a little like any social networking site like Facebook or LinkedIn. Again the majority of people probably won't utilise this feature, but if you are interested in letting friends or random strangers know more about yourself it is a very handy thing to have. The only complaint here (and it is not specific to Diigo) is that all these social networking style are expecting you to re-enter all your data every time. It would be nice to be able to import/export your social networking profile from the different sites.

Pages