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

Netgear FVS114 - Worst POS SOHO Router Ever

Some of the worst infrastructural issues OpenRain has had since inception has been border hardware. We’ve been through all typical COTS models you’d find at Best Buy, but all have had issues with at least one of..

  • Dropping inbound traffic due to some stupid “DDoS Protection” feature we couldn’t disable.
  • Not passing VPN traffic though to an internal server.
  • Crashing.

But this latest POS–the Netgear FVS114–really takes the cake. Check it..

  1. Log in to http://www.workingwithrails.com
  2. Visit http://www.workingwithrails.com/person/new
  3. Listen for the sound of everyone simultaneously screaming “WTF!? The ‘net’s down!”

We’ve reproduced this issue with FireFox and Safari from multiple machines inside the network. Way to go, Netgear! (Might want to get on this one.) I’ll be buying some real hardware online in about 15 minutes.

 

 

Share/Save/Bookmark

Tags: , , , , ,

. 06 Jun 08 | Computer | Comments (2)

Five Major Apple Design Irritants

Apple,

My software development firm–OpenRain in Arizona–spends buckets of money on your products. Stuff works pretty well in general, but you really need to address these issues. Really.

  1. PowerBook, MacBook and MacBook Pro power supply cables invariably rip. Not only that, but it’s always at the same freaking places. The MackBook/Pro power supplies are better than the PowerBook ones, but still don’t last more than a couple years of real-world use. The issue is at the endpoints of the laptop end of the cable that get bent constantly from travel and being wrapped sharply when the electric outlet is on the wrong side of the laptop. I really love the small and agile design, but the cables need to last at least 4 years without tearing.
  2. Laptops still run hot. Phoenix summer get hotter than 110 degrees Fahrenheit, and I have gotten physically burned by the MacBook Pros when wearing shorts. Product such as the iLap are amusing, but should not be necessary. Getting physically hurt by a computer is a problem.
  3. Keyboard are not ergonomic. The latest iteration of post-modern laptop-style bluetooth keyboards are great to look at, but absolutely horrid on the wrists. No one at the office really likes them in practice, and we’ve had to revert to the Microsoft Natural series of keyboards when have been around f-o-r-e-v-a-r but Apple hasn’t responded to. I’m 100% confident you could build a swanky, highly usable bluetooth keyboard that puts the Naturals to shame.
  4. iPhone copy/paste support. It’ll be an awesome design accomplishment when we no longer need this, but you haven’t gotten there yet, sorry, and everyone else agrees. Add copy/paste support (if only in key areas) to iPhone.
  5. iPhone needs to support dvorak. Yeah yeah…. I know I’m in the minority on this and am sneaking it in, but I spend a lot of money with you guys, and having to use QWERTY just for the iPhone is driving me insane. Add the freaking layout please.

 

 

Share/Save/Bookmark

Tags: , , , , ,

. 26 May 08 | Computer | Comments (2)

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)

Please Stop Saying “Google Simple”

It should be generally assumed that designs should be as simple as possible. So if you’re working directly with a competent designer, you need not say so. If your designer does not hold this as a core working principle, get a new one.

Client: “We’d like you to design a next-generation car dashboard for our new line of luxury vehicles. The car will feature all the latest gizmos: GPS, iPod integration, satellite radio, automatic environmental controls, you name it. And the interface needs to be simple. Google simple.”

Me: “Ok.. here’s what we’ll do. We’ll remove the wheel, pedals, and all conventional buttons and displays. Instead, we’ll mount an LCD to the dash, and display a single text input box. Voice recognition will fill in this box for the driver, and when (s)he says “Search”, the car computer will return the first 5 million commands (s)he most likely meant. The driver can then touch the command which they meant and have it execute. Alternatively, the driver can say “I’m feeling lucky!” to have the car automatically execute the most likely desired command, such as “Turn right”, or “OMG STOP NOW BEFORE WE DRIVE OFF THAT CLIFF!!!” If the driver survives long enough, they’ll get to enjoy the lumbar support and tunes from their iPod.”

Client: “…”

Me: “We can call it ‘Sue-gle’.”

Share/Save/Bookmark

Tags: ,

. 18 Mar 07 | Computer | Comments (0)

Why Outlook Sucks: Part 2 of 900,000

Note: Yes, this is still on an older version of Outlook because that’s what I’ve had to use. Please feel free to contribute to this series in your own blog via trackback/ping, and I’ll post links en mass to the front page when I get enough!

Let’s delete a folder to which messages are directed via a rule.

error.jpg

Outlook does some dependency checking and found that deleting the folder will hork a rule. Good. Unfortunately we get a disgruntled little dialog box entitled “Rules in Error”. (Shouldn’t this be “Error in Rule”?) The use of a table I surmise would be to support display of a laundry list of errors, but since there’s only one in this case and the table won’t wrap the error text, we get to scroll all the way over to the right. Not that it really matters, because I don’t have a choice on how to proceed. The “Close” button gives me no indication as to what will happen when I click it.

I never have this issue in Mail.app, because when I delete a folder related to a rule, the rule automatically becomes disabled and folder reference unselected. Here’s what a simple rule looks like after you delete a folder to which it directs email.

rule.png

No annoying dialog, and I can easily rewire the rule since it wasn’t deleted. Also, if I create a new folder with the same name, the folder automatically gets wired into the old rule. Makes sense!

Share/Save/Bookmark

Tags: , ,

. 28 Feb 07 | Computer | Comment (1)