Free Newsletters

   All InfoWorld Newsletters
Strategic Developer | Martin Heller » TAG: Technologies

April 09, 2008 | Comments: (0)

Wait-listed for Google App Engine

I made a teensy-weensy mistake when I started to look at Google App Engine: I downloaded and installed the SDK and read through the Getting Started Guide fairly thoroughly before signing up for an account. As a result, I've been wait-listed. I think that means that more than 10,000 others have already signed up for the free App Engine beta. Oh well, I can still develop locally until my invitation comes through.

As about a million other bloggers have already discussed, Google App Engine feels like a direct competitor to Amazon's three Web services (EC2, SimpleDB and S3) all rolled into one Python framework.

I think it would be really nice to be able to target the Google infrastructure "cloud" for a Web application at need, just as it's really nice to be able to target the Amazon infrastructure and the SalesForce.com infrastructure at need. I can see different uses for the various platforms as currently constituted; I can also see why the choice might confuse people.

I like the choice of Python as the first implementation language, unlike many other bloggers who seem to be whining about the lack of Ruby and PHP support. I also like the way Google has given us a local server for development, and given us access to most of Django (a Web-development framework), WebOb (which provides objects for HTTP requests and responses), and PyYAML (a parser) as well as most of the standard Python runtime libraries. I think I can learn GQL without a problem: it's basically a subset of SQL.

I'll pass over the way the HuddleChat demo ripped off the 37Signals Campfire real-time chat application, for two reasons. First, about half a million other bloggers have already complained about it; second, Google has already bowed to the pressure and pulled the app.

I wonder what the 10,000 others who have already signed up for the free App Engine beta are going to do with it. In fact, I wonder what I'll do with it when I eventually get access.

What's a potentially profitable Web server application that needs great scalability, doesn't need table joins, and hasn't already been done to death?

Posted by Martin Heller on April 9, 2008 12:02 PM



November 23, 2007 | Comments: (0)

FiOS Outage

You may have noticed that I didn't write about the history of Thanksgiving yesterday. I meant to; I just couldn't.

About 5 PM Wednesday as I was frantically trying to finish up a few things at work, my son called from home that he'd gotten a "network cable is unplugged" message while browsing the Internet from the shared Windows XP Home computer in our second-floor hallway. That computer is connected to an ActionTec router by a Cat5 Ethernet cable; the router gets its connectivity from Verizon FiOS and also serves as a Wireless Access Point for all the laptops in the house.

Of course, being 12, he had already tried to "reconnect the cables." He didn't know what cables were involved, so he did random things to the power supplies and power strips. He also wanted me to fix the problem over the phone. Right.

When I got home, I took one look at the router lights and decided that the router had probably fried. I wasn't 100% sure, so I went through the drill: I unplugged the router, cleaned up the way the plugs went into the power strip so that the ActionTec power supply plug couldn't move the strip's power switch to the off position, swept up the dust bunnies, unplugged and reconnected all the Cat5 cables, reconnected the power, and reset the router.

None of that helped, so I called FiOS support after dinner. I got a voice-response system that couldn't really accept much of the information I had, but it eventually got to the point of trying to ping the router and seeing no response. At that point, it put the ticket into a service queue for a live person to deal with.

I got a call from Verizon service as I was sitting down to Thanksgiving dinner on Thursday evening with my extended family. I decided to take the call despite the inconvenient time. The service agent walked me through several of the things I had already tried, and decided to drop-ship me a new router. I then returned to the dinner table.

A few hours later, as we were working on pie, the agent called back: his system wouldn't accept the drop-ship order. I went back upstairs, and tried bypassing the router under his direction; the computer saw a connection, but couldn't acquire a valid IP address. A laptop exhibited the same behavior. He mused about the possibility of a bad network port at their end and/or bad network cards in my computers in addition to a bad router, and decided to schedule a service visit; the earliest slot he had open was Saturday morning.

This morning, Verizon called and said that they had a free tech: would we be home all day? We arranged it so that somebody would be; the tech arrived a bit after 11. It didn't take him long to swap out the router for a new one, and declare the old one "completely fried." "It happens a lot," he said. All was well once I edited the new router's wireless access settings to use WPA and my normal SSID and pass phrase.

I asked the tech why I couldn't get an IP address when bypassing the old router the day before.  "I dunno," he said. "It works now."

Posted by Martin Heller on November 23, 2007 11:44 AM



November 16, 2007 | Comments: (0)

Beowulf: Does Motion Capture Make Sense?

MOVIE REVIEW | 'BEOWULF'; Confronting the Fabled Monster, Not to Mention His Naked MomI'm a big fan of Beowulf: no, not the new movie, the Anglo-Saxon epic poem. I've read it several times in the original and in modern English translations, most recently in the bilingual edition with Seamus Heaney's fine verse translation.

I haven't yet seen the movie: maybe I'll get to it this weekend. I'd like to see it in IMAX 3D rather than at my local multiplex. I'm not sure I'll be able to do that, but I'll try. I may decide that's it's a travesty of the poem, but I'll try to judge it on its merits.

The new Beowulf movie uses motion capture to capture live performance data for use in digital animation. The technology used is quite a bit more sophisticated than rotoscoping, but not state-of-the-art: in Beowulf, the body and face performances were captured with Vicon, which captures a few hundred markers. The state-of-the-art is Mova Contour, which captures hundreds of thousands of points, in what Mova calls markerless high-resolution surface capture.

Reviewers are calling Beowulf "creepy" and "uncanny." The Times blogger David F. Gallagher said "When it was over, I felt relieved to be back in the company of uncreepy flesh-and-blood humans again."

I can certainly see using motion capture for video games. I can sort of see it for TV. I'm not sure whether it will ever make sense for movies, at least for movies being viewed on a big screen.

What do you think?

Posted by Martin Heller on November 16, 2007 07:05 AM



July 05, 2007 | Comments: (0)

No iSoup for You

LG-VX8300                       My Verizon Wireless (VZW) cell phone contract was up for renewal in August. I thought I might want an iPhone, so I kept resisting the repeated calls asking me to renew my contract early. I figured I'd wait until my contract was up, and then switch.

After reading and watching Tom Yager's and David Pogue's  iPhone coverage at the end of June and beginning of July, I was quickly cured of most of my iPhone lust: AT&T-only? No memory card? No GPS? Sealed battery? EDGE, not 3G? $500 to $600? Nope, not for me.

I should explain about the AT&T issue, since that was the real kicker. For years, the only cell phone carrier that had decent service in Andover was VZW. That was certainly true when my oldest daughter got the first cell phone in the family, and it was still true when my second daughter and I got the next two phones. Verizon is also the only carrier with decent service at the University of Rochester, where my second daughter is at school, so almost all her school friends are on VZW. My son-in-law and my second daughter's boyfriend are also on VZW. For good measure, my second daughter has given up on land lines: the only ways to reach her are email and her cell phone.

Given the cost structure that makes cell-to-cell conversations within a single carrier free, and causes cross-carrier conversations to consume scarce daytime minutes, I pretty much had to stick with VZW or cut myself off from my kids and their significant others. No matter how much I like the iPhone user interface, and how crummy the interfaces are on the phones and smart phones VZW offers, VZW has me locked in because of its long-term investment in infrastructure and its "IN calling" strategy.

In the end, I got on the VZW Web site and took advantage of my $100 "new every 2" credit and an online "buy one, get one" offer to upgrade two lines to the LG VX8300 phone and media player shown at the upper left, for free. OK, I blew 30 bucks on a USB cable and stereo ear buds, and another $21 on a 2 GB microSD card, but that's a tenth of the up-front cost of the iPhone.

Yes, the user interface is Baroque, and yes, the Windows Vista drivers for the USB device won't be available for another week, and yes, it doesn't have anything like the coolness factor of an iPhone, but it seems like it'll meet my needs. Not only that, it actually gets service in my house and office. Imagine, a cell phone you that can use where you are most of the time.

Posted by Martin Heller on July 5, 2007 02:57 PM



May 23, 2007 | Comments: (0)

64-Bit Compatibility

Windows VistaIt turns out that one of the requirements for software to earn either the Works with Windows Vista Logo or the stricter Certified for Windows Vista Logo is that the software support x64 versions as well as 32-bit versions of Windows Vista. You would think from Microsoft's documentation that avoiding 16-bit components would be enough for most applications to run in the WOW64 emulator, but that doesn't seem to be the case in real life.

I'm responsible for getting an application certified as Vista compatible, and our lead tester has found that just running this 32-bit application on 64-bit Vista causes weird things to happen on the desktop. Double-clicking on desktop icons opens their page properties instead of launching their applications. Some keyboard functions get reassigned. It all goes back to normal after a reboot, fortunately.

Unless someone can set me on the right path, I'm going to have to debug the application on a 64-bit Vista system to diagnose the problem. I wouldn't be at all surprised if I had to rebuild the application as 64-bit to fix all the problems.

Unfortunately, I don't have even one 64-bit CPU in my office or at home: I have six desktop systems, but the newest is a three-year-old system with a 3.2 GHz Pentium 4 with HT, and the oldest is a ten-year-old system with a 450 MHz Pentium III. My oldest daughter has a Turion 64 X2-based laptop, but she lives 40 minutes away, and uses the machine heavily.

I have no real choice but to get a new machine in here, one way or another. Ideally, the machine would come with 64-bit Windows Vista already installed by the manufacturer. Ideally, it would be a laptop powerful enough to run Visual Studio.

There are two issues to think about for 64-bit compatibility in a PC. The big issue is of course whether the CPU supports 64-bit operation. Newer AMD CPUs that do have x64 support typically have "64" in their name. Intel CPUs aren't that clearly marked, but the newest higher-end chips do support 64-bit operation. For example, in the Centrino processor family, CPUs numbered T5000 or greater support 64-bit operation; the T2000-series processors you typically see in low-end laptops do not.

The second issue, and one that's much harder to answer unless the manufacturer has done the testing, is whether all the other equipment on the PC has signed 64-bit Vista drivers. Imagine trying to use Windows on a computer that didn't have a working driver for its pointing device. Even better, imagine trying to use a computer that didn't have a working driver for its disk controller, or its networking controller. It's a nightmare.

I went to my friendly local CompUSA store, and the salesman who helped me didn't know what x64 meant. When I asked again, this time saying "64-bit Vista" instead of "Vista for x64," he knew what I meant, but didn't know if any of the machines they had on display supported it. When I pointed to the laptop right in front of us and asked if it supported 64-bit Vista, he didn't know, and went to the back of the store to find out.

In his absence, I brought up the system information, and discovered that it was already running 64-bit Vista Ultimate. Another somewhat more knowledgeable salesman said that, oh yes, all of the Ultimate systems on display were running 64-bit.

Unfortunately, the system I wanted, an HP dv9225us, on sale for $1,399, was out of stock. Would they call me when they got one in? No, but I could check their stock online. The other notebook systems running Ultimate in the store were over $2,000, out of my price range. No sale.

I'm still looking, but now I'm looking online. If you have suggestions, please let me know.

Posted by Martin Heller on May 23, 2007 06:00 AM



May 18, 2007 | Comments: (0)

Microsoft Popfly Released

Popfly Screencast

John Montgomery is an old friend who is currently at Microsoft. He has alluded to working on a project codenamed "Tuscany" in his blog, but has been quiet about what it actually is, until this morning.

Welcome to Popfly demonstrates the technology.

The Genesis of Popfly or What I've Been Doing for the Last Year explains what Popfly is and how it came about.

Why I Think Popfly is Cool gives John's top-ten list.

And, the Popfly Alpha is at http://www.popfly.ms/.

The short summary is that Popfly is an easy way to build and share mashups, gadgets, Web pages, and applications. It requires Microsoft SIlverlight 1.0 Beta, which is available to anyone, but Popfly itself is currently in private alpha. I have sent my request to join in through the normal mechanism (by trying to log in at the Popfly home page), but haven't yet gotten access.

I'll let you know more when I have gotten my hands on it.

Posted by Martin Heller on May 18, 2007 11:56 AM



May 09, 2007 | Comments: (0)

JavaFX 101

JavaFX: The Big Picture

Is it a case of being in tune with the zeitgeist, or of great minds thinking alike? For whatever reason, Microsoft's announcement of Silverlight last week at MIX07 was followed by Sun's announcement of JavaFX this week at JavaOne.

So, what is JavaFX, and why should we care? According to Sun, JavaFX is "a new family of products based on Java technology designed to enable consistent user experiences, from desktop to mobile device to set-top box to Blu-ray Disc."

To be more specific, Sun says:

  • The JavaFX product family leverages the Java platform's write-once-run-anywhere portability, application security model, ubiquitous distribution and enterprise connectivity
  • JavaFX initially is comprised of JavaFX Script and JavaFX Mobile
  • JavaFX Script is a highly productive scripting language for content developers to create rich media and interactive content
  • JavaFX Mobile, Sun's software system for mobile devices, is available via OEM license to carriers, handset manufacturers and others seeking a branded relationship with consumers

It feels like déjà vu all over Again, to quote Yogi Berra. I didn't go to JavaOne this year, or MIX07: the fact is, I rarely go to conferences at all any more. But at one of the early JavaOne conferences that I did attend, Sun announced Java ME, which was going to extend the Java platform down to PDAs and cell phones. I bought a Palm V at the conference that came with an early build of Java ME. The Palm served me well for several years, but I soon lost interest in Java ME.

JavaFX Mobile sounds a lot like what Java ME was supposed to be. For that matter,JavaFX Script sounds a lot like what JavaScript was supposed to be. So what's new here?

In a word, media. Sun's headline for JavaFX is "Dynamic Interactive Content on Any Device". Yes, JavaFX is very much in the spirit of Silverlight and Flash, but of course with a Java-centric twist.

Interesting times...

Posted by Martin Heller on May 9, 2007 09:04 AM



May 01, 2007 | Comments: (0)

Data Wants to be Free

At Microsoft's MIX07 conference, Yaron Goland gave a talk entitled Opening up Windows Live Data. The description was:

Data wants to be free! So come to this technical deep dive to learn how you can POST/GET/PUT/DELETE your way into Windows Live. We cover how you can ask users for permission to access and then interact with their Windows Live services (e.g. address book, Spaces, etc.).

Interestingly enough, this talk wasn't announced in advance, but was posted at the last minute. Microsoft normally only does that when they don't want to let the cat out of the bag prematurely about a new product or service.

"Data wants to be free!" is of course a takeoff on Stewart Brand's 1984 pronouncement "Information wants to be free" at the first Hacker's Conference. But that isn't really what Yaron was talking about. He was introducing the new Windows Live Data service, which is part of the Windows Live SDK. Microsoft describes this as:

Windows Live Data provides a mechanism by which developers can ask Windows Live users for permission to access the user's Windows Live services and data on the user's behalf. Currently Windows Live Data exposes Windows Live Contacts which is the central address book for all Windows Live services. Access to additional Windows Live services will be added for the upcoming Beta and other future releases.

To ask users for permission to access their data, as described in Requesting Permission to Access Users' Windows Live Data, you basically send the user to a Microsoft page, providing the return address on your site, for example:

<a href="https://ux.cumulus.services.live.com/pgux/default.aspx?rl=https://www.sample.com/permit.aspx&pl=https://www.sample.com/privacy.html&ps=LiveContacts.ReadOnly">
Grant Permission</a>

Then you grab the ResponseCode, DomainAuthenticationToken and OwnerHandle fields from the posted form you get back. If the ResponseCode is "RequestApproved", you can go ahead and use the DomainAuthenticationToken and OwnerHandle to request data.

The OwnerHandle is basically an email address at this point, and it becomes part of the URI for requesting the data. The DomainAuthenticationToken is supplied as a header to the HTTP request. So, for example, you could ask for an address book for user wlddemo@hotmail.com by sending a GET request to:

https://cumulus.services.live.com/wlddemo@hotmail.com/LiveContacts

with C# code like this:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "GET";
request.Headers.Add("Authorization", 
"DomainAuthToken at=\"" + token + "\"");
try {
   HttpWebResponse response = (HttpWebResponse)request.GetResponse();
   //request succeeded, process response
   ... 
} catch (WebException ex) {
   //request failed, handle error
   ... 
}

What you'll get back from this request is an XML document, which you can then parse, or connect to a control.

Obviously, there's a lot more: Yaron did talk about POST/GET/PUT/DELETE, not just GET, and the documentation explains two other ways of authenticating. The Windows Live Data documentation goes into detail, and I expect that at some point there will be a sample site.

Posted by Martin Heller on May 1, 2007 02:48 PM



April 30, 2007 | Comments: (0)

Giving Second Life a Second Chance

Seond Life opening screen At the end of March, I wondered aloud whether companies like IBM were really serious about doing PR in Second Life (SL). That got me quite a few comments, mostly from people who, on even cursory examination, clearly have stakes in SL.

"illuminator" agreed that SL isn't work-safe, or home-safe with children in the house, but encouraged me to spend more time and explore the system, having found it fascinating himself. Traven Sachs explained some of what is going on with the deceptively porn-heavy "popular places" list in SL, and offered to show me around the system. Sachs runs Wolfhaven Productions, which is a vendor of SL artifacts.

QTLabs, an IT consultant specializing in 3D virtual worlds, likened porn in SL to streetwalkers in any large city, and offered the opinion that "Second Life and 3D virtual worlds are changing the way humans communicate and share information." 57 Miles, a blogger who writes about SL, said "For some it just grabs you. It did me. For others it takes some perseverance before you become fully immersed." 57 Miles also offered to help me out on SL.

Jane Janus, who runs seminars in SL, admitted that SL is buggy, and opined that "the search engine really is awful." But then she went on to claim that

Barack Obama is rolling out a second life campaign strategy because the demographics of users are 20 - 32, his target market.

Universities are putting their digital libraries on second life. Virtual classrooms are far superior than current online courses.

The opportunites are endless. And inevitable.

Ahem. That's probably going farther than I'm willing to accept, and verges on "resistance is futile." Borg, anyone?

Phoenix Psaltery invited me to check out the Metaverse Messenger (M2), a weekly newspaper that covers events in SL. Psaltery is a staff writer for M2. Alliez Mysterio, a real-estate developer in SL, offered to show me around SL, with the coment that "yes it can be addictive but I guarantee you it will be the best addiction you ever thought you had."

Jon Udell pointed me at a video he'd made last fall, http://weblog.infoworld.com/udell/2006/10/16.html. It was something he himself described as "snarky" at the time. I couldn't view it using IE at the time, but I was able to see it using FireFox when I tried again, and I can see it in IE now that I have installed a new version of QuickTime. Jon's point, which was finally clear when I could actually view the video, was that the use of 3D in SL at the IBM press event he "attended" was basically gratuitous: technically interesting, but offering little real advantage over the 2D Web.

Finally, Petey, who writes a blog that's mostly about how SL sucks, gave it all a different perspective:

Don't let the kool-aid drinkers fool you, Martin. Second Life is not the future of the Internet. It is no social revolution. It is, instead, an intrepidly marketed and somewhat interesting MMORPG that will, I think, be dead within the year.

Legal issues and eventually revealed hyperbole (like the fact that less than .002% of the registered residents have a positive monthly cash flow of *any* fraction of a cent despite claims of economic opportunity) will show people that while Second Life may be a fun place to build something cool, funny, or interesting, it is not by any means revolutionary in character.

I remember the 1978 Jonestown tragedy fairly clearly. "Kool-aid drinkers" isn't funny unless you don't know what it really meant. Other than that, Petey makes a lot of sense.

I have been back to SL once or twice since my last posting. The system was working a lot better than it had been, and I was able to go through a full orientation tour. It was a surprisingly pleasant experience: I discovered that there was sound I could turn on, and that I liked the music being played just then. It was evening in SL, the avatars were behaving themselves, and the island setting of the orientation was charming. I could almost feel the evening breeze.

I could get to like this. Now, if I only had time to explore...

Posted by Martin Heller on April 30, 2007 06:00 AM



March 30, 2007 | Comments: (0)

PR in Second Life? Are they kidding?

To get the screen shot of the IBM CODESTATION area in Second Life that I showed you on Wednesday, I had to register for Second Life, download the client, log in, and flail around for awhile until something worked well enough for me to get where I was going. I vaguely remembered something about Second Life (whether true or not) that made me nervous about giving them a credit card number, so I had to operate without any Linden dollars, Second Life's local currency.

The Second Life client basically brought my primary writing computer to its knees. That computer is a 2.4 GHz Pentium 4 Desktop with 768 MB of RAM and NVIDIA GeForce4 MX 420 video. After getting the screen shot, I logged out of Second Life, uninstalled the client, and installed it on my primary software development computer, a 3.2 GHz Pentium 4 Desktop with 2 GB of RAM and NVIDIA GeForce FX 5200 video. It ran much better on that machine.

Second Life Popular PlacesIt still wasn't a wonderful experience. When I teleported to the "home" area I was assigned, I couldn't do anything: I kept getting messages about the server being full. (This may have been because of a database problem at Linden Labs.) My avatar was surrounded by other avatars in various stages of dress and undress generally acting lost and typing stimulating things like "Where are you from?"

I would see occasional signs touting locations in Second Life, but they would always be for some sort of R-rated porn. I had a quick look at the list of the most popular places in the system by traffic, and they were pretty much all porn. I went to a couple of them, and they weren't even interesting porn: I'd rather read a Pynchon novel, thank you very much.

As far as I can tell, Second Life isn't really work-safe, or even home-safe if you have children. I can't imagine why IBM, Sun, and others are doing PR or developer communities in Second Life.

I remember Jon Udell discussing PR in Second Life in his column last fall, and he made it sound credible. Am I missing something here?

Posted by Martin Heller on March 30, 2007 06:00 AM



March 28, 2007 | Comments: (0)

Three Pitches

Last week, I got three developer-oriented PR pitches for coverage. None of them got me fired up right away, so let me put it to you: do you want to hear more about any of this stuff?

First, there was Backbase. They have been pricing their AJAX framework kits, which my esteemed colleague Peter Wayner reviewed favorably last November, at $6,000 per CPU for the Client Edition, and $8,000 per CPU for the JSF and Struts editions. That's pretty steep unless you're an Enterprise. Now they're offering any edition at $2,000 per developer seat, which includes a runtime license for two CPUs.

Does that whet your interest? Why or why not?

Then, there was salesforce.com. Peter Coffee wrote to let me know what their Spring '07 release includes AppSpace, "a facility for building customer-facing portals using AppExchange applications and other assets built on the Apex platform." Peter says that "this is a real game-changer for quickly creating and deploying a customer-facing Web presence with a scalable On Demand infrastructure."

Are customer-facing portals important to you? If so, would AppSpace make you want to jump on the salesforce.com bandwagon?

IBM Codestation in Second Life Finally, there was IBM Developer Relations, who wanted me to know about developerWorks Exchange, their developer community, and IBM CODESTATION, their 3-D area in the virtual world of Second Life.

I couldn't actually get the CODESTATION link to work, but I was able to find IBM CODESTATION by name and teleport there from within Second Life, once I registered and logged in. IBM says that they are "helping developers form social networks to work together more collaboratively and accelerate the software development process."

Are you looking for a new social network for programming? If so, does either of these IBM initiatives appeal to you?

Let me know how you feel about any of these pitches by leaving a comment here.

Posted by Martin Heller on March 28, 2007 06:00 AM



March 21, 2007 | Comments: (0)

Freebase, the Semantic Web, and the Metaweb Query API

AsFreebase alpha Welcome page I discussed in my article on the Semantic Web for our Crackpot Tech feature on February 19th, the standard Web was originally designed for document distribution, and has yet to realize its full potential for distributing data. The Semantic Web is an effort to relate information by classifying it and linking the classifications.

Some of the efforts related to the Semantic Web concentrate on ontologies, or systems of classification. As useful as ontologies can be, they often seem dry and academic to me.

Once ontologies are turned into database schemas, they often make more sense, at least to me. And once the database is implemented and the application built, it all falls into place.

Imagine my delight, then, to find that the new Freebase site is something like a modifiable database already integrated with a Web application, or as the Freebase.com FAQ puts it:

Freebase.com is home to a global knowledge base: a structured, searchable, writeable and editable database built by a community of contributors, and open to everyone.  It could be described as a data commons.

How is that different from Wikipedia? There's a FAQ for that, too:

It's an apple versus an orange: each is deliciously different. Wikipedia is an encyclopedia with information arranged in the form of articles. Freebase is more of an almanac, organized like a database, and readable by people or software. Wikipedia and Freebase both appeal to people who love to use and organize information. In fact, many of the founding contributors to Freebase are also active in the Wikipedia community. Whenever Freebase and Wikipedia cover the same topic, Freebase will link to the Wikipedia article to make it easy for users to access the best of both sites.

The Freebase type system is basically a flexible, editable ontology. For example, in the computer domain are types about computer hardware, software, computer science and theory, for example Programming Language. If you're browsing the Programming Language type, you can filter the 94 currently listed languages by the properties of the type: Name, Parent Language, Language Paradigms, Influenced By, Influenced, Dialects, Language Designers.

If I type "Gui" into the Language Designers filter entry, I get a drop-down completion of Guido van Rossum, along with a pop-up entry about Guido of type Programming Language Designer. If I filter by his name, I of course get an entry for Python (in this case, a description based on a Wikipedia article), which has the type Software as well as the type Programming Language.

Get it?

There's more. Freebase has an open API, the Metaweb Query API. Here's a sample read query, broken into two lines so that you can see it all:

http://www.freebase.com/api/service/mqlread?queries={"albums":{"query":{
"type":"/music/artist","name":"The Police","album":[]}}}

If you have a Freebase account and have used it on the browser running the query, this will most likely return a JSON-format response giving a list of albums by The Police, which you can save as a text file and view with an editor. Otherwise, it will probably give you an Error 401. It will not give you back articles about police in law enforcement, because we have restricted the queried record type to musical artists and asked to be given a list of albums.

Now, getting back a text file is not exactly stimulating stuff, but this API can easily be turned into an application using some fairly simple code like the freely available JavaScript for parsing JSON format. It would not necessarily have to be an application that interrogates Freebase. And there, eventually, is how Metaweb, the company behind Freebase, expects to make its money: by licensing commercial applications using its technology.

Want to give it a try? It's currently still in Alpha test, and by invitation only. You can try entering your email address at Freebase.com; I don't know how quickly you'll get a response. On the other hand, if you know someone who has Freebase invitations to give out, you can probably get on in a matter of minutes.

At this point, I have five invitations to give out. They will go to people I actually know, so please don't ask me for one if we haven't already met.

Posted by Martin Heller on March 21, 2007 06:00 AM



February 12, 2007 | Comments: (0)

Apex, SOQL, and salesforce.com

Peter Coffee got in touch the other day, not from eWeek, where he was for 18 years (counting its previous incarnation as PC Week), but from his new gig as Director of Platform Research at salesforce.com. There was a period when I wrote reviews for PC Week and worked closely with Peter.

We had a good laugh about how the general readership media tends to forget the installed base when they talk about software market share, and how that played out in the Windows Vista rollout coverage. Peter has blogged about that issue here.

I suspect that his real reason for contacting me, however, was to tell me about the new Apex programming language launched in preview in January at salesforce.com. Peter certainly knows about my less-than-secret identity as Mr. Computer Language Person. The Apex programming language is not to be confused with the existing salesforce.com Apex platform. So let's explain a bit.

First, salesforce.com: it is at heart a Web-based customer relationship management (CRM) service, aimed at sales force automation, partner relationship management, marketing, and customer service. Apex is both a platform and programming language for for customizing and integrating CRM, as well as developing and deploying brand-new applications. The Apex platform runs at salesforce.com.

There are about 500 Apex applications listed at The AppExchange, including things that have very little to do with CRM, like DreamTeam, a project management and team collaboration application. I happen to know that DreamTeam was developed using DreamFactory's tool set; James Borck reviewed those tools for InfoWorld in 2004. But back to Apex.

Salesforce.com says that:

"Apex is the first on demand programming language and platform, and represents a powerful new tool for developers interested in building the next generation of business applications. With Apex, a whole new breed of on demand applications is possible, featuring sophisticated processes and business logic, entirely on demand and without software."

Now, that "without software" part has me puzzled, but let's just write it off as marketing hype. Basically, salesforce.com is releasing their internal Apex development language to the development community. Apex is a language reminiscent of Java that has embedded SOQL queries, and is described here. Apex applications run on saleforce.com servers.

Here's some sample Apex code from the Apex wiki:

// Define a trigger for the Lead object, and set it to
// fire on the insert and update events
trigger leadDupCheck on Lead(before insert, before update) {
	
	// Make sure the email and zip code fields are not null
	if (Trigger.new.Email != null&& Trigger.new.PostalCode != null ) { 
		// Query for all leads that have the same email and zip code
		// as the new lead 
	    	Integer dupCount = [select count() from Lead WHERE email = :Trigger.new.Email 
	    		AND PostalCode = :Trigger.new.PostalCode ];

	    	if ( dupCount > 0 ) { 
			// Lead exists, so display an error message
	    	 	Trigger.new.email.addError('Lead is a duplicate');
	    	} else { 
	    		// No dup is found, so let the processing continue
	    	}
	 }  	
}

Note the select query defined here inside the square brackets. That's an embedded SOQL (Sforce Object Query Language) query. It looks a lot like normal SQL, but it operates on salesforce.com fields and objects, not SQL database fields and tables, and it can't do joins or order the result set by specific fields.

That's about as much as I can say about this today. For more information about SOQL, you might want to start here.

Posted by Martin Heller on February 12, 2007 06:00 AM



February 07, 2007 | Comments: (0)

Write Once? Remember the P-System?

My February 2nd posting Small Differences in Vista Can Break Applications drew a comment touting Java as "WORA (write once, run anywhere)" and disparaging Microsoft. I thought it was kind of ignorant, the sort of thing I heard from Amiga-philes 20-odd years ago, but I approved it anyway. My reply at the time was

In my experience, Java WORA is in reality WOTE: write once, test everywhere. No development API is perfect or universal, I'm afraid.

I have embraced and subsequently abandoned numerous programming environments that claimed that a single executable could run anywhere. UCSD Pascal and P-System was the first that I can still remember clearly. I thought portable Pascal was a great idea when I tried it around 1980, as I was then a Pascal fan doing mostly scientific and engineering programming. Alas, its performance on a PDP-11 was much worse than my usual combination of Fortran IV+ and Macro-11, and I was never able to get it to interface with the Industrial Control Subsystem of the PDP-11. It was essentially useless to me for real work.

A few years later, when I was running a software publishing business that developed and marketed engineering software for microcomputers, I tried working with an engineering group in Israel. The professor who was the software architect of the group absolutely loved the P-System, since it was portable and had interpreters that ran on the Apple II and III, the TRS-80, and the IBM PC. When we tried selling the group's heat exchanger rating codes in P-System form, they bombed. Our customers didn't want to invest in the P-System. In addition, the mechanical engineering audience didn't really embrace Pascal.

Sales were much brisker when the group rewrote their codes in Microsoft Basic, because that came in the ROM of the TRS-80 and the IBM PC. Apple II users who wanted to run the codes could buy a Microsoft Z-80 SoftCard, and our customers were much more willing to invest in one of those than in the P-System.

Why? The Z-80 SoftCard ran noticeably faster than the Apple II. The P-System ran noticeably slower than native 6502 code. It was that simple, at least for engineers. It was the difference between getting your answer in 20 minutes and getting it in 2 hours.

The more things change...

Posted by Martin Heller on February 7, 2007 06:00 AM



December 27, 2006 | Comments: (0)

A conversation with Martin Heller about his new blog

Jon Udell wrote the blog "Jon's Radio" and the column and feed "Strategic Developer" for InfoWorld until December 15th, 2006. He announced his departure, to work for Microsoft, in his blog and podcast on December 8th. Jon continues to blog on his own site as well as for Microsoft, on Channels 9 and 10. Martin Heller will be writing this "Strategic Developer" blog, which will become part of the feed by the same name.

In the spirit of Jon's departure announcement, Martin decided to interview himself about his new blog. The podcast, alas, has mysteriously disappeared, but the transcript follows.

Q: Tell us a little about yourself, Martin.

A: I'm kind of a dilettante. As an undergraduate I got degrees in Physics and Music—I played the fiddle, sang, and composed—and I went on to a doctorate in high-energy physics in the hope of being able to eat on a regular basis. Along the way I got interested in computers.

Q: When was this?

A: I'd rather not say. <laughter> OK. I think I wrote my first program in the mid-1960s—I was maybe 14—and started writing serious amounts of code in grad school in the mid-1970s. Programming became part of my first real job as a physicist, and became more of my job as an energy systems analyst and then as manager of the software publishing division of a research company. By the time I went out on my own as a consultant in 1986, I was starting to write professionally about computers as well as program them.

Q: What about languages?

A: I started with English and Yiddish, then learned Latin, Russian, Chinese...

Q: I meant computer languages.

A: Sorry. I started with hex machine code, if you count that as a language. After that, Fortran II seemed simple, and Fortran IV was absolute luxury. <laughter> I wrote a lot of assembly language, too, when Fortran didn't do what I needed, or I was using a minicomputer that didn't have enough core for a useful Fortran compiler. Later on, PL/1 taught me about data structures, and Pascal woke me up to structured code.

There was a very funny essay written in 1983 called Real Programmers Don't Use PASCAL, that said something like "If you can't do it in FORTRAN, do it in assembly language. If you can't do it in assembly language, it isn't worth doing." I held those attitudes myself until I learned Pascal. You could say that I went from a Real Man to a Quiche-Eater in a matter of weeks.

I wrote a lot of Basic on early Z80 microcomputers, then C when the compilers became available for PCs. My first book, Advanced Windows Programming, used C. My second book, Advanced Win32 Programming, used C++. My reviewer for the introductory C++ chapter was Bjarne Stroustrup, and he was both supportive and devastating: his gentle suggestion about class design made me rewrite all my sample code.

I picked up Visual Basic, Perl, Java, JavaScript, and Python after that. Since the .NET Framework came out, I've written a lot of C# and some Visual Basic .NET. I've also picked up Ruby, and I've still got projects going in unmanaged C++.

Q: What do you plan to cover in your blog?

A: Whatever seems like a good idea at the time. <laughter> Seriously, I'll respond to new developments in the field when they happen. Right now, I'm following many of the same technologies that Jon followed, so readers should feel right at home.

Q: How did you come to be writing this blog?

A: Jon thought I might be good at it. We're old friends. Jon was my technical editor at Byte Magazine in the late 1980s and early 1990s.

Q: Where can we read your old columns?

A: My Byte.com columns from 1999 through mid-2006 are still online, and with any luck they'll stay online. It's to Byte's advantage to keep them where they are. My Windows Magazine and Winmag.com columns and reviews from 1993 to 1998 are also still online. By the way, if the music on my Winmag.com index page annoys you, just press Escape. (I wish I could go back and turn it off, but I can't.) For anything earlier than 1993, like the first year of Windows Magazine and the years I wrote for Byte Magazine, or the articles I wrote for PC Tech Journal, you'd have to find the physical magazines in a library or go to an old CD-ROM periodical collection.

Q: What about your other writing?

A: There's a short story on my personal Web site, called 'Adventure,' which you might enjoy. I think all of my programming books have gone out of print, but I doubt that any of my readers still need to learn how to develop for Windows 3.1. <laughter>

Q: Do you use Firefox, Gmail, and OS X?

A: Yes, yes, and no. I don't currently have any Macs, but I do have several flavors of Linux as well as Windows.

Posted by Martin Heller on December 27, 2006 02:00 PM



Technology White Papers

 

InfoWorld Technology Marketplace

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
» BUY A LINK NOW

Sponsored Technology Links