Home Contact Sitemap

Preston Lee

Founder, CEO, OpenRain.com

About

During the day I run OpenRain in Phoenix: a Ruby on Rails development shop. During the night... well... I still have to run OpenRain, but when I find time to breathe, I exhale here. If you'd like to get in touch professionally, don't hesitate to contact me via the OpenRain website.

Peace,

Preston

Marvels of the Human Eye

Being creatures limited by our instruments of perception, the behavior of the human eye and related processing systems never ceases to amaze me. Last year was particularly enlightening, as I hadn’t previously realized we effectively cannot see color in low light situations. I honestly never noticed until I woke up one morning and realized that I’d used the blue towel instead of the red towel after the previous evenings midnight shower.

Getting more heavily into photography has helped me understand the vast exposure corrections we make involuntarily and without consciously noticing. It’s simply not plausible to correctly determine proper exposure settings using the human eye alone. We adapt dynamically to different lighting situations, so your halogen lit living room at night–which seems like it’ll show well without a flash–will end up tragically underexposed if you “eyeball” the settings.

300px-same_color_illusion.pngPerhaps my most interesting discovery of late is the checker shadow illusion: a great image demonstrating we often see what we’re expecting, rather than what actually exists. But then, “what actually exists” is a different issue entirely.

Share/Save/Bookmark

JXTA: Not The Solution To Java Peer Discovery

sun_jxta.gifOnly developers with hair should use JXTA, because those with bald or shaven heads won’t have anything to violently rip from their skulls while they develop with it. I have been, and continue to be excited by, JXTA’s potential, but have been very disappointed at the pace at which a project progresses when using it. JXTA’s capabilities, on the PowerPoint level, are impressive. It facilitates a great deal of networking features necessary for peer-to-peer operation and service discovery. So what’s my beef? A couple major areas off the top o’ me head..

Documentation

There isn’t exactly a massive community using JXTA. There are limitless possibilities of the platform and a few significant projects that use it, but it’s not exactly a common-place technology. That’s ok. Communities need time to grow. But to build a better mousetrap, people must understand why yours is better, and how to use it properly. At first I suspected I had jumped into the system at a particularly odd moment, but most of the documentation I’ve read is either out of date, or, in the case of much of the code itself, completely missing. This may come as a surprise to the good folks at jxta.org who provide many links to JXTA articles, but as a developer new to the platform sitting down and getting started, you’ll find yourself confused by deprecated and changed APIs without a clear understanding of the Right Way to do things. The - popular - books - are - long - outdated.

Testing

As an advocate of test-driven development, my application unit tests attempt to cover the interactions between multiple peers on the JXTA network. Doing so requires instantiating multiple cores within the same Java unit test process, and being able to reset them to initial states between test cases. Unfortunately, JXTA is designed as a singleton, which as we already know is not a friendly pattern to test-driven development. Couple this unfortunate design with the general difficulties of multi-threaded unit testing, and you’ll either be spending vast amount of time with your unit tests, or forgoing the complicated ones completely. Probably the latter. So what’s the solution? I’m not exactly sure, but I’ve started working on one.

Journeta

Currently code named “Journeta”, that goal is to create a greatly simplified, zero-configuration-required peer discovery and communication Java library for “trusted” networks. No configuration files, hefty learning curve or even constructor arguments, but no security or over-the-internet functionality either. (At least at the library level.) While I haven’t been actively developing it this year, I started the project last year over at OpenRain, and anticipate releasing a build sometime this summer. Let me know if you’re interested and I’ll ping you when we release a demo.

Share/Save/Bookmark

Tags: , , ,

. 14 Apr 07 | Computer | Comments (7)

RailsConf 2007 (USA) Registration Re-Reopened. New Track & Keynote Announced!

I received this from O’Reilly just a couple minutes ago..

—- BEGIN EMAIL —-

RailsConf 2007
May 17-20, 2007
Oregon Convention Center
Portland, Oregon
http://conferences.oreilly.com/rails
A fourth technical track has just been added to the RailsConf schedule.
That means a limited amount of space has opened up for those folks who
didn’t get a chance to register before RailsConf first sold out in
February.

If you haven’t yet registered and would like to attend RailsConf 2007,
please register now at:
http://conferences.oreillynet.com/cs/railswaitlist/create/reg/
(If you do not already have an O’Reilly user account you will be required
to create on in order to register for RailsConf. When prompted for your
password, click on “No, I am new to O’Reilly.” When you have finished
creating an account for yourself you will be taken back to the RailsConf
registration page.)

Note: We are no longer accepting checks for this event. All registration
fees will need to be paid in full by credit card at the time the
registration form is completed.

RailsConf Keynotes Just Announced
Chad Fowler and Ruby Central have put together a stellar program, which
now includes four simultaneous tracks. They’ve also just announced some of
the keynote speakers presenting on the main stage this year:

Ze Frank, Comedic Digital Savant
David Heinemeier Hansson, Creator of Ruby on Rails
Dave Thomas, The Pragmatic Programmers
Avi Bryant, Creator of Seaside
Tim Bray, Co-creator of XML and Atom
More speakers are being confirmed every day. Check out the entire list of
speakers and sessions on the RailsConf web site:
http://conferences.oreillynet.com/pub/w/51/speakers.html
Remember, seating is limited and likely to sell out very quickly. If you
haven’t already done so, register right away as this email does not
guarantee your seat.

We look forward to seeing you in May!

The RailsConf 2007 Team

—- END EMAIL —-

Share/Save/Bookmark

Tags: , ,

. 12 Apr 07 | Computer | Comments (0)

Easter Weekend

Despite waking up slightly drunk from a party the night before, we managed to get down to Tucson for the day to see Karen’s family. I got a few fun shots while walking around outside.

Share/Save/Bookmark

ReactOS v0.3.1 Parallels Image

reactos_firefox.png

I couldn’t find a working Parallels image of the ReactOS v0.3.1 release after I had some issues installing it from the official ISO, so I’ve created one for you. This is a screenshot of me running FireFox on ReactOS within Parallels on a Core Duo-based MacBook Pro. Download the image for your Intel-based Mac here.

Share/Save/Bookmark

. 03 Apr 07 | Computer | Comments (0)