Random notes

'A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine.' (Alan Turing)


Shapespark is a company that we have started with my friends Wojtek and Jagoda and that has been the center of our attention during the last couple of months.

Our goal is to build a tool for professional architects and interior designers to create WebGL-based real-time interactive visualizations. We focus on quality of visualizations, we use physically-based rendering techniques to calculate lighting, which is crucial for giving 3D scenes a sense of realism. We are also experimenting with Oculus Rift, which turns out to be quite a useful tool for presenting architectural designs.

Our first visualization already got complimented by many WebGL folks, including Mr.doob, the famous author of the Three.js library :D.

Overall this is a very interesting venture, with so many new areas to explore. You can expect more WebGL related content and demos on this blog, although we will probably start a Shapespark blog at some point.

By the way, if you are an interior designer or an architect that works with SketchUp (or maybe you know someone who is?) and you would like to have a real-time, browser-based visualization created from a SketchUp model, please let us know. Our product is not released yet, but we would like to already start working with customers to create such visualizations.

wwwhisper add-on for Node.js

The wwwhisper Heroku add-on is now available for Node.js. As with the Ruby Rails/Rack version, setup is just a matter of three lines that enable wwwhisper auth middleware.

One of the goals of wwwhisper is to decouple authentication and authorization logic from the application business logic. Such approach allows to easily enable auth without changing business logic at all, but it has also security benefits. The Open Web Application Security Project summarizes it nicely:

‘A common mistake is to perform an authorization check by cutting and pasting an authorization code snippet into every page containing sensitive information. Worse yet would be re-writing this code for every page. Well written applications centralize access control routines, so if any bugs are found, they can be fixed once and the results apply throughout the application immediately.’