Ben Langhinrichs

Photograph of Ben Langhinrichs

E-mail address - Ben Langhinrichs






May, 2005
SMTWTFS
01 02 03 04 05 06 07
08 09 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

Search the weblog





























Genii Weblog


Civility in critiquing the ideas of others is no vice. Rudeness in defending your own ideas is no virtue.


Fri 27 May 2005, 04:29 PM
I'm not too into the anniverary thing, but I have been writing this since May 2003, and am still very glad I started it.  I was a bit hesitant at first, since a lot of people start blogs, but not a lot keep them up, and I didn't really want to sputter out.  A few stats do seem relevant:

Stats as of last night
559 posts
Over 23 posts per month
322 posts with responses
1275 total responses
2.28 responses per post
3.96 responses per post with responses
Over 400 different people responding to at least one post

I gave two post ratios, because many posts are not particularly meant for responses, but the ones that have had responses have had almost four each.  Seems pretty good to me.

I will do a separate post soon about favorite posts (who can forget Hypothetical Carrots), but here is one I couldn't bear to pass up.

Interesting foreshadowing
One of the first posts I made in May 2003 was called Intuition or Market Research.  It is worth re-reading in total, but here is a somewhat condensed version:
One of the challenging parts of being an independent software vendor is deciding which projects or products to invest in, time wise, money wise and energy wise.  Some vendors do a lot of market research, formal or otherwise, to decide what the market will bear.
...
On the other hand, I also spend a lot of time developing technology that nobody is asking for directly, or that skirts the edge of anything anyone wants.
...
Another example that I am working on right now is HTML -> RT -> HTML technology in a plug in.  HTML generation was another gut feel, and one that has paid off handsomely.  Many, many customers of all sizes and descriptions are using our HTML generation and MIME mail sending ability, which was an offshoot.  Now, I am working away furiously at improving the HTML importing side, so that we can introduce a coexistence tool that allows Notes client apps and web client apps to share rich text even if the web side chooses to use one of the fancy rich text editing tools for the web, such as eWebEditPro.  Currently, sharing rich text between the web and Notes client means losing almost all the richness, but I intend to have a plug in answer for that so almost any authoring tool will coexist more smoothly.
...
My intuition says it will be a big one, but one of my closest ISV friends thinks it is a non-starter.  Who is right?  We'll see.
Two years later, and a mere two weeks ago, we released CoexEdit, to a rush of evaluators and generally good feedback.  You have watched the whole process live through this blog, and over the next few months, you should get the answer along with me about who is right.

Thanks to all my readers and contributors!  I hope to do this for a long time to come, but you all make it worth doing at all.

Copyright © 2005 Genii Software Ltd.

Fri 27 May 2005, 03:39 PM
I definitely thought I was going crazy today, as a small bug with the CoexEdit client component didn't seem to make sense.  I had a bit of code that said:

  num_entries = NSFItemGetTextListEntries(hNote, COEXEDIT_FIELDNAMES);
  if (num_entries == 0)
    {
    num_entries = 1;
    default_field = TRUE;
    strcpy (fieldname, "Body");
    text_len = 4;
    }

This code is supposed to check how many fields are being used by CoexEdit, and if none are specified, to default to "Body".  The problem was, the field did contain a fieldname, but num_entries was coming back as 0, but only in one of the many places it was called, which was when the document was replicated from the server to a local database.

I guess I have been doing too much LotusScript, because it took me a lot of looking to find out what was wrong.  If the field is a text field, not a text list field, this function will return zero, but since documents in Notes are almost always opened with the special flag that makes all field values lists, it worked in the HTTP process, the SERVER process, and everywhere else in the NOTES process.  It was only the replicator that doesn't open documents that way that came back to bite me.

So, for what it is worth, if you are doing C API development and need to check the value of a field that you think of as a text list, be sure to check, especially if you don't know how the document was opened.

As an aside, the client component is optional in CoexEdit, so while this will go out as part of a patch to the currenrt evaluators, it is not going to effect most evaluators very much.

Copyright © 2005 Genii Software Ltd.