Delphi Informant: Giving Birth

This article appeared in Delphi Informant magazine in April 1996 discussing the development of Delphi 1.0.

Zack Delphi 1.0 launch Feb 1995One of the most fun things I’ve done in my career is to help build the “1.0” version of Delphi. Okay, 2.0 was pretty fun too, but, as they say, there’s nothing quite like the first time.

When we started building Delphi 1.0, it was hard slogging. A lot of the tools out there, like PowerBuilder, SQL Windows, and Visual Basic were pretty good. Long before we even had a prototype up and running, I was on the road talking to developers to understand the problems they were facing. Most of them were pretty happy. I remember particularly thinking that the VB corporate users by and large were just the happiest bunch of developers I’d ever met. Heck, they were even having fun! I remember one particular meeting with about a dozen developers from a major airline. They told a not uncommon story of how a senior VP had decreed that they would use Visual Basic after he prototyped an application on a weekend. The developer told me that he didn’t want to have any association with — ugh — Basic, but after trying it out for a while, he changed his mind.

Another time, I was meeting with a development team at a Wall Street foreign exchange. They showed me this tremendously impressive application for monitoring currencies — written in SQL Windows. It was beautiful. I thought, “Oh no, another satisfied customer. Time to move on.” So after a demonstration I asked how they liked the application. His answer: “It’s a dog.” The response time was simply too long to even be considered for production use. After all, Wall Street practically defines the phrase “Time is money.”

I saw these scenarios repeated in meeting after meeting, city after city. On the surface, customers seemed pleased with the productivity gains of “Rapid Application Development” tools. But as I delved further, I found the love affair often came to a bitter end when they tried to move from prototype to production. I found lots of spaghetti code out there, and DLLs written in C to make up for performance bottlenecks in applications written in PowerBuilder, SQL Windows, and VB.

It was some nine months into the two years of the development of Delphi 1.0 before we showed it to potential customers. There were two reasons for that. First of all, Delphi was an underground project that was truly secret. Heck, for the first year we had more code names than beta testers! Secondly, and perhaps more importantly, I wanted to make sure we understood customers problems rather than simply gauging a reaction to a demonstration. That way we could ensure we were building the right product, rather than fine tuning the wrong one.

When we finally started showing Delphi to customers, the reaction was dramatic. After all, we were solving the problems they had told us about. Our mantra: “Performance, Reuse, RAD, and Scalability.” This helped us to not only define the product, but to communicate the benefits to the customer.

Oddly enough, one of the problems we faced was how to name the product. As Jerry Coffey pointed out in this column [“Symposium,” Delphi Informant, January 1996], we were experimenting with all kinds of names. Although we had early on decided that “Pascal” should not be included in the name since it wasn’t really meaningful except to long-time fans, we really hadn’t made much progress on the name until a few months before its release.

Leading contenders included “Visual AppBuilder” (luckily, it was taken) “Application Architect” (too much like a CASE tool), “Client Builder” (sounds like a sales prospecting package), “Object Vision” (ahh, we used that already, didn’t we?) and just about every combination of the words “Visual”, “Power”, “SQL”, “Application”, “Object”, and “Builder” (“Visual Power SQL Application Object Builder” anyone?)

As we were in the late stages of selecting a name, whenever I’d do a presentation, whether to potential customers, sales reps, or third party vendors, I’d always ask them what they thought of the proposed names like “AppBuilder.” Invariably, the response was lukewarm. Then they’d ask, “Why don’t you just call it Delphi?” So in the end, we did.

Danny Thorpe, then on the QA team, now currently part of the R&D group, had came up with the original code name “Delphi” since it was to be a client/server tool connecting to the likes of Oracle among others. We had to come up with a code name for our first beta test and everyone felt that Delphi was acceptable. We had many later code names for internal use, external use, different countries, and at one point, I must admit, I randomly made up a new code name for every presentation, so that if there ever was a leak, we’d know from where it came.

Delphi 2.0 has come a long way since then. Our original goal was to address a few of the usability issues and also migrate to a 32-bit compiler and take advantage of platform features like OLE automation, OCXes, etc. Along the way, we introduced several major innovations like Data Module Objects and Visual Form Inheritance that increased code reuse.

The 32-bit compiler itself was actually started way back when the original 16-bit version of Delphi was started. At the time it seemed like a safe bet that “Chicago” (Windows 95) would slip out of 1994 and that Windows 3.1 would still be a viable development platform for Delphi 1.0. We were able to have most of the VCL ported to 32-bits and running with the new compiler prior to the release of Delphi 1.0. So we were quite confident that the architecture would ensure compatibility with most code from Delphi 1.0, assuming it wasn’t dependent on 16-bit data assembler, data structures, or unsupported API functions.

Although it’s a bit too early to announce plans for the next version of Delphi, we’re certainly working on a number of fronts to further reduce the amount of code folks need to write, and make it easier to support very large projects.

Zack Urlocker is Director of Delphi Product Management at Borland International. The views expressed here are his own. He can be reached on CompuServe at 76217,1053.
(Well not anymore!)


San Francisco is Breaking My Heart

Homeless sf 1

I moved from the Bay Area about five years ago to live in Michigan. However, I am still back in the Bay Area routinely working with software companies and it's breaking my heart. When I was at Zendesk I lived near our first office (510 Townsend) near Caltrain. When Zendesk moved to Market and Sixth street, it was a kind of a sketchy area at night, but I got used to the chaos of being near the Tenderloin district. There were routinely fights in the alley behind our building. I saw a woman servicing a guy in a doorway as I left work. Another time a woman ran naked screaming running down the street. Someone got shot one time late at night outside our office in what we learned was a drug deal gone bad. An employee got mugged one evening and chased the mugger, which is not really best practice, but he was Ukrainian and he didn't take shit from anyone. My wife and I were on a muni going home one evening and a guy stole the entire role of bus transfer tickets and ran off the bus. The bus driver ran after the guy. When he returned ten minutes later, he said the guy had done the same thing a week earlier. 

My point of this, is there's been a homeless problem for a long time. Long time residents know that this goes back to the 1980s. Hell, maybe earlier than that. But you could walk down Market street during the day and it was okay.  Market and Sixth was crappy, and the Tenderloin was sketchy, but that was it.  The financial district was pretty good. Downtown was fine. North Beach was cool, Embarcadero was ok. I used to run along China Basin and that was fine too. If you squinted San Francisco was still a nice place.

I don't think that's true anymore.

This isn't Times Square in the 70s or Detroit in the 90s. It's far worse than that. It is epidemic. 

I've been helping out a company located and Fourth and Market, one block from Moscone Convention Center. It's a shit hole. Market and Fifth is worse. Market and Sixth looks like a third world country with people selling random stuff, iphone cords, CDs, mouthwash, razors set out on a piece of carpet on the street. You can't walk down Market more than a hundred paces any time of day without finding a body on the ground. Drunk, drugged, whatever. There are tents on sidewalks, people sleeping in doorways. Human feces on the street, needles, you name it.

Today I was meeting with a colleague at Peet's on Market. It's pouring rain and a young man comes in, thin, somewhat scruffy in appearance, likely homeless, bleeding from his ear and sits near us. I offered him some ibuprofen and gave him a wad of cash. He spoke broken English and didn't seem to want either, but I left the cash in front of him. Sometimes I give homeless people food, but rarely money.

I don't know what to think of SF anymore.


So Then I Wrote A Rock Opera

KS photo with titles badge

About two years ago, I moved to Michigan where my wife's family is from. I started working for an Ann Arbor based software company, which has been a lot of fun. But I really missed playing music with my tech buddy Rob, who remained in California.

So the original idea was for us to each write ten songs, then pick the best and record them. But somehow it spun out of control. Why not a concept album? Why not... A ROCK OPERA?

The oddest part about all of this is that neither Rob nor I have ever written songs or recorded before. Our only qualification is a combined 50 years of listening to classic rock. And if we might not hit the heights of The Who's "Tommy" or Greenday's "American Idiot" perhaps we could do better than KISS’s "Music from the Elder."

I mean, how hard could it be? It was, of course, an absurd idea. How could two rookies possibly scale the heights of rockdom? I don’t even think Rob had ever listened to a rock opera before. (I mean who has in recent years, amiright?) But much like a software startup that aims to make the world a better place, the audacity of our goal inspired us.

Next thing you know I’m recording some creepy bass riffs in GarageBand and overlaying drums and guitars. Our first song, “The Creeper,” was the embodiment of an evil surveillance government. And it sparked the whole story: 50 years of winter, a dystopian future, rock music is illegal, yada yada yada. This is pretty much the plot of every rock opera. But it's a darn good one.

The Creeper

Since Rob and I were in different cities, we did most of the collaboration over the interweb using Skype, iMessage, and Box for sharing files. (Box is the official cloud content management system of leading rock operas everywhere, don’t ya know?) Every few months I'd get back to California, goad Rob into singing or recording some guitar parts, and then continue editing in GarageBand.

As positive as I’d try to be during these recording sessions (“That was great, Rob. But let’s do one more take…”) the next day I’d listen to what we’d recorded and I’d be overwhelmed by a feeling of hopelessness. I had this vision in my head of an epic rock opera but all I had was a handful of recordings of two guys failing. This feeling of hopelessness occurred at least as often as the feeling of elation throughout the entire course of the project.

They say every startup is a rollercoaster ride of extreme highs and lows. That matches my feeling on writing a rock opera. Whether it was writing melodies, drafting lyrics, recording solos, mixing, or working on videos, there were countless times where I thought the most expedient solution was to delete all the files and give up. There’s no blueprint (or at least none I could find) on “The 7 Steps to Writing a Rock Opera.”

Every time I faced this situation, I simply moved on to another part of the project. If one song proved to be a dead-end, there’s no reason I couldn’t make progress elsewhere. When I put something aside for a few days or weeks and came back to it, I had a kind of unwarranted optimism: maybe I can improve this. A leap of faith was required at every milestone. I wasn’t aiming for perfection, but a more basic: can I make this suck less?

I won’t say that the work was easy. It takes many more hours to edit a song than it takes to record it. But I found that by gradually chipping away at something I could improve it. Often the results were surprising: a song I’d given up on now sounded pretty cool. Better than I hoped for. In my book, brute force perseverance is an under-rated skill.

Rob and I brought a startup attitude to the project: just keep working at it and lets see how far we can get. Lyrics got written, story lines developed, solos recorded and re-recorded. Occasionally we’d share songs with our beta testers. Their feedback was often the only motivation we needed to keep on going. And we did all this while holding down full-time jobs and family obligations.

Lyrics to “Self-Made man” got written at 5am at O'Hare waiting for a flight to New York. I finished the first rough recording at 9pm in my hotel.

Other songs were written weekends, evenings, on airplanes. If Rob had recorded his solos in a more timely fashion I might have stopped writing new songs. But eventually we got to 20 songs and I wondered: what the hell happened here? We’ve actually written a rock opera!

But there was one thing missing. All the songs were pretty basic: me and Rob with bass, guitar, drums and a few keyboard parts and a couple of friends adding vocals. It wasn’t quite grand enough. Then I came across an interesting item on Kickstarter: the $99 orchestra. Wait —what? Yep, for $99 per minute, we could get a 30 piece symphony orchestra to record one of our songs. For another $100 they’d create the score. I sure as hell didn’t have a score for them. I’m just a 3 chord rock guy.

We had one song where I’d weaved together multiple guitar parts that Rob and I had recorded separately. It epitomized our collaboration on the project. It was just some overdriven guitar parts, but in my mind it always sounded like a symphony: I heard strings, horns, piccolos. I don’t know what instruments are in an actual 30 piece orchestra, but it must be something like that, right?

So, long story short, we got the Western European Symphony Orchestra to record it. And we got to watch a live video stream of the recording. It felt pretty amazing to hear someone else’s interpretation of our music.

So we finally put the album up on Kickstarter after Thanksgiving, partly to defray the final mixing costs and partly to develop an audience. It was fully funded fairly quickly (never underestimate the power of email to VCs, especially if you helped them make a lot of money.) The project runs until December 23 11pm eastern if you want to get in on it. Kickstarter prohibits raising money for charity, so since we’ve hit our goal we’ll either mix some bonus instrumental tracks or get some videos made. Either that or we’ll spend the money on hookers and blow.

In the mean time, I've also added "Rock Opera" as a skill on my Linkedin profile. I hope you'll read this and agree it's a skill worth having.

Update: The music and Libretto are now available for free download at www.rock-opera.com

Zack Urlocker is a software executive living his rock and roll fantasy in Ann Arbor, Michigan. This story was originally published on Linkedin Pulse.


No Yak Shaving!

Yak_shave

Apparently Yak Shaving means a useless activity undertaken in lieu of meaningful activity. The term originated at MIT some years back in reference to Yak Shaving Day, a fictional holiday featured in a Renn & Stimpy cartoon.  

Here's a definition by uber-blogger and noted Purple Cow expert Seth Godin who got it from Joi Ito:

I want to give you the non-technical definition, and as is my wont, broaden it a bit.

Yak Shaving is the last step of a series of steps that occurs when you find something you need to do. "I want to wax the car today."

"Oops, the hose is still broken from the winter. I'll need to buy a new one at Home Depot."

"But Home Depot is on the other side of the Tappan Zee bridge and getting there without my EZPass is miserable because of the tolls."

"But, wait! I could borrow my neighbor's EZPass..."

"Bob won't lend me his EZPass until I return the mooshi pillow my son borrowed, though."

"And we haven't returned it because some of the stuffing fell out and we need to get some yak hair to restuff it."

And the next thing you know, you're at the zoo, shaving a yak, all so you can wax your car.

Its amazing how many times you meet people who are constantly distracted by technological Yak shaving. They need to build a get a new build of the latest Ubuntu release before they can download the compiler, to write the framework to patch the library, to write plug-in for the browser, to automate the process of updating the whatever it was they were supposed to do in the first place. 

 Are we all clear?  No Yak shaving!

Unless you're a Yak Whisperer in Mongolia during the Yak shaving season.


Whatever Happened to "Do No Evil?"

Evil 

A buddy of mine, Doug Marks, recently opened my eyes to some sites that are putting out misleading product reviews fueled by Google Ad Words.  I wrote about this on my InfoWorld blog with a story entitled "FTC and Google need to crack down on scam review sites" which provides a counterpoint to the concerns on the US FTC's blogger disclosure rules that become effective this week.

When the FTC announced that it would require disclosure of fees and endorsements by bloggers starting Dec. 1, some complained this was overkill. I have several personal blogs outside of InfoWorld, and I don't mind disclosing that I've occasionally received review copies of books, CDs, and the like. I also run Google ads on some of my blogs. All told, the money that comes in is less than the price of a decent guitar, and I dont believe I've compromised my integrity as a writer. I suspect many bloggers are similar; if they make any money, it's to fund their hobby.

This isn't just a simple case of some over-zealous fan astroturfing as happens from time to time in open source projects (and elsewhere.)  As I Googled around, I noticed these scam review sites for not just piano and guitar lessons, but exercise equipment, language learning software, vitamins, even web development tools.  So its not just an isolated incident.  Doug Marks has complained to Google that these sites violate their policies, but so far, there's been no response.  Hopefully the FTC will crack down on these sites or force Google to do so. 

To be clear, I have purchased Doug Marks Metal Method DVD Course and have no hesitation recommending it to others.  And in the spirit of full disclosure, I'm an affiliate.  I have not tried out the competing courses, but I'm suspicious of any company that engages in these kind of misleading campaigns.

Have you seen these scam review sites for other products?  Let me know.

  • Metal Method: Main site, Complete Basic Course,Speed Kills, Forum
  • GuitarVibe: Guitar Lesson Scams, Guitar Mastery, More Time for Guitar

  • At Least He Never Walked

    InfoWorld has declined to post my review of "What I Talk About When I Talk About Running" because it is unrelated to open source.  Let me know what you think in the comments below.

    Having run a ten marathons, countless half-marathons and a few 100+ mile cycling days, I am sometimes asked what the appeal is of long distance running or cycling.  Despite he fact that I have been running for more than 30 years, it's not easy to explain.  Mostly I think you either get it, or you don't and no attempt to dissect the experience will make much sense.  But luckily, Japanese novelist Haruki Murakami has penned a short book of essays called "What I Talk About When I Talk About Running" that explains his own fascination (or perhaps obsession) with long distance running and documents his ups and downs running in Japan, Hawaii, Boston and New York.  The book has been recommended to me by other long-distance runners in the open source world and, short of embarking on a 26 mile run from Athens to Marathon (yes, I know that's the wrong direction), it does the best job of explaining long distance running or perhaps any endurance sport.  For those who run, the marathon running is not just a metaphor for life, it becomes as important as the seasons in marking the flow of life.

    I expect that this winter I'll run another marathon somewhere in the world.  And I'm sure come next summer I'll be out in another traithlon somewhere, giving it my best shot.  Thus the seasons come and go, and the years pass by.  I'll age one more year, and probably finish another novel.  One by one, I'll face the tasks before me and complete them as best I can.  Focusing on each stride forward, but at the same time taking a long-range view, scanning the scenery as far ahead as I can.  I am, after all, a long-distance runner.

    My time, the rank I attain, my outward appearance --all of these are secondary.  For a runner like me, what's really important is reaching the goal I set myself, under my own power. I give it everything I have, endure what needs enduring, amd am able, in my own way, to be satisfied.  From out of the failures and joys I always try to come away having grasped a concrete lesson...

    And I hope that, over time, as one race follows another, in the end I'll reach a place I'm content with. Or maybe just catch a gimpse of it... 
    Some day, if I have a gravestone and I'm able to pick out what is carved on it, I'd like it to say this:

    Haruki Murakami
    1949-20**
    Writer (and Runner)
    At Least He Never Walked

    If you're a runner, or want to understand someone who is, this is a great read.  It's short, inspiring in a modest way, and you'll finish it in less time than it takes to get from Athens to Marathon.


    Me and Obama on the Campaign Trail

    cObama2jpg

    While travelling through Sonoma, I chanced upon presidential candidate Barack Obama.  He is definitely the quiet type. Really did not have too much to say about the Wall Street bailout, the economy or stopping the war.  In fact, he didn't have much to say about anything at all. He seemed pretty two-dimensional to me.  And we couldn't get him out for a beer to talk about cycling either.

    That's me on the left.