Friday, March 23, 2007

Cool (and well designed) workplaces

Those close to me know that I seriously hate most workplaces that I've seen. They are boxy and boring, and absolutely contrary to producing creative thought. I guess either there are not many cool and creative environments in Atlanta, or I'm just not cool enough for them. I spent my twenties living in the Bay Area in California, and even in the 80's there had emerged creative approaches to designing work environments (if not a bit goofy as well). The parent company to the Star printers had an office with a pond in the center; the cafeteria and lunch area was on an island in the middle of it. All through the office area was trees, the roof could open to allow natural cooling and circulation, and none of the cubicles were aligned perpendicular to the building; most were at 45degree angles (which did make navigation tricky for newbies).

Here in the Atlanta area stuffy and conventional appear are enthroned. There are the random exceptions but mostly corporate boxes reign. Alexander Kjerulf has drafted a blog posting he calls "10 seeeeeriously cool workplaces". Flip over to his post 12 Ways to Pimp Your Office for some interesting approaches to styling your working environment. I actually really liked the flexible walls. All this reminds me of the graphic designers we had in a previous life at a dotcom portal company (RIP). These guys went so far as to create doors and roofs for their cubicles. Least you think this was silly schoolboy attempts at "pimping" their ride to impress the ladies, I believe it was a serious attempt to control the light and the noise and to deal with the difficulties of sharing the maze with the noisy software developer mice. (Oh how we loved to put slobbery thumb-prints on their monitors...just drives those graphics guys crazy!)

Speaking of software developers, I also like Alex's post How NOT to lead geeks. He's definitely got insight.

Tuesday, March 20, 2007

Flixster should be called Fraudster?

I was invited by a highschool friend to check out Flixster, a service that is designed around the MySpace idea and attempts to take viral marketing to new levels. I took a movie survey and in doing created an account. It then asked me other questions and clearly it was setting up my account preferences. After choosing avatar, skin and adding a few favorite movies I was a user of Flixster. Great (yawn).

The environment is pretty cool - massive movie database though the pages get pretty busy (like MySpace). The policies are not. The biggest RED FLAG was when they asked me for my gmail password. WTF? Um, no. You can't have my private email password.

The second really weird thing is that I never went back after that initial look-see, and I keep getting emails that say so-and-so user has accepted your friend invitation. WTFx2? I go back today and sure enough I have 5 new friends - friends who I never invited, don't know, and who I suspect might even not be real. (Can you say using the wonders of computer automation to make your new service look more active than it really is?)

Maybe they're just really aggressive. Maybe they've got a bug or "feature" that automatically adds a friend even if you don't. But it's these types of aggressive policies that quickly turns users off.

Thursday, March 15, 2007

Atlanta Web Entrepreneurs Meeting

I finally got to one of the Atlanta Web Entrepreneurs (AWE?) meetings tonight. I've been on the group list but missed the first couple of meetings. It was fun and nice to see and hear various perspectives on Atlanta's (sad) entrepreneur environment.

The highlight of the night was the presentation from the founder of Paperback Swap. For a guy of 24 he has experience and wisdom well beyond his years. He presented their server farm structure and composition - what was neat is he started with the single server up to the farm they now have and showed the progressions and spoke about some of the challenges they had. Nice view from the trenches.

I'm not sure what it would take for Atlanta to spawn more startups. I arrived in Atlanta in '97 full of enthusiasm for the burgeoning Internet market. I spent many years working with startup companies, logging long hours helping to build a dream - and learning tons in the process. In the end they either flat out went bust or flamed out gradually. Unfortunately, much of what we learned didn't translate well into the enterprise computing environment. The fact that my search engine handled 300K searches each day, or that our website would do 1.5 million page views means very little in answer to a question, "so, how strong are you with J2EE?" (yawn)

From my perspective those years have not helped me to be employable in Atlanta, but rather have hurt: I'm always asked why I didn't stay long at these companies, but my answer that they were startups doesn't seem to satisfy. I think for Atlanta to be more startup friendly it needs a massive realignment of their mentality and attitudes toward people who participate. I have developer friends who will never work in a startup again because of the fallout of the web era. This is not good for Atlanta, and means we remain a town with big, boring corporate powerhouses that mostly want the more mindless and compliant drones. It means that Silicon Valley with Stanford, Berkley and Sand Hill continues to attract the best and brightest.

Ok, there: I can hop off my soapbox now... (puts back his pleasant hat)

Sunday, March 11, 2007

A Time for Timing Problems

So, my theory was that since my computer - which does not receive Microsoft's automatic updates which have caused horrendous problems in the past -- since it was synchronizing time with a NIST timeserver would be set correctly this morning after our mini-Y2K disaster. Nope. In fact, I manually tried to "Update Now" with several (like 8) different timeservers and all of them reported back with the wrong time. 8:32 rather than the correct 9:32.

One of my servers (a really old one) that is running Windows 2003 has the correct time (inexplicably) while the other server (the newer rack-mounted one) also running Windows 2003 is wrong. My Linux box running my Wiki is correct.

My wall clock which is radio corrected is happy and correct this morning also.

Update: after applying Microsoft's magical fix in their update the time jumped ahead an hour. So, I had manually set it correct so now it was an hour too far ahead. No problem, I set it back. Then I went to update time with a time server and now for some strange reason it continues to fail. "An error occurred while Windows was synchronizing with x". Interesting...

So let's summarize the logic of this "fix" by Microsoft:
  1. Update the system time ahead 1 hour
  2. Disable synchronization with those evil time servers which probably will be wrong
  3. um, i guess that's all we need?

Saturday, March 10, 2007

Java verses Javascript

So, I've been playing a lot with Javascript lately. I'm reminded just how versatile the language is. It's pretty neat to declaratively add a new element to some "class" or function.

I keep stumbling onto pages where the author dribbles on about how Javascript is more powerful than Java, etc. The sense I get is that they feel that Javascript is the more evolved and more suitable -- trash all that Java. Junkyard all that C#. Javascript to the rescue.

It sort of reminds me of the VB proponents a few years back, waving their flag in the face of we Java and C++ people. Bla. Give me a break. Right tool for the right job. In fact VB was very powerful and productive for developing "RAD" applications. Great for that departmental application that just had to work and be delivered quickly. Lousy for shipping that product to 10,000 customers; lousy for squeaking the last ounce of performance out of the CPU.

In fact Javascript is powerful and very flexible. But it is its flexibility that really damages productivity for larger projects. Refactoring sux. Debugging too often uncovers a typo. Live production too often turns up the simple logic error. Let's not mention the incompatibility between browser implementations of the DOM or Javascript.

The truth is, if the browsers supported a better implementation for developing AJAX applications in Java life would certainly be better. Static checking, better refactoring, and better software engineering controls. Maybe this is why I like Google Web Toolkit. It allows the developer to write the application in Java, test it in Java, then generate the final HTML/Javascript (which naturally must also be tested independently). And for the macho uber developers who (like some of us seasoned veterans) really like to stick to old-school development style, they can use the JSNI interface to interact with their own pure-Javascript creations. The latter sounds like those of us who used to insist that we needed to embed ASM into our C++ for performance and control. Geez: I don't miss those days...

Friday, March 2, 2007

Debt Elimination Scams

I was shocked recently at a comment by who I considered an intelligent and balanced individual. They asked me if I had heard of the legal ways to eliminate heavy debt loads - not pay off, but fully eliminate through legal loopholes. Ouch! First, even if this were legal and an available option I would protest it on moral grounds. When we've received goods and services and paid for it out of our future earnings we entered into a contractual obligation to pay for what we've received. End of story.

The truth is, however, that there is truly no free lunch - at least in this context. In response I dug up a link that I had seen where the Federal Reserve had warned people about this sort of scam. It is just that: a scam. Don't fall for it and for Pete's sake, don't shell out hard-earned coin to receive secret knowledge and documents that will allow you to do something that is unconscionable even if it were legal.

See also: