Tuesday, October 31, 2006

CNN report - Mainframes making a comeback

It's true: everything old in IT becomes new again. I caught this Associated Press article on CNN.com and couldn't help but chuckle:
Cheap little servers handle so much of the Internet's dirty
work that giant computers known as mainframes, which debuted
50 years ago and often cost more than $1 million, are supposed
to be passe.
...
[if] you were to break modern computing history into its
simplest terms, it would go something like this: There was the
centralized-mainframe era, and then there was the
distributed-computing era. And the former ended a while ago.
...
"For every application, many times it takes five servers in
a distributed environment," said Jim Stallings, who runs IBM's
mainframe division. "Many customers are saying, 'I can't deal
with the complexity."'

It's interesting that this also applies to Domino. One of my key complaints about a open source or MS collaboration solution is the number of products one has to implement and manage. Domino is the mainframe of collaboration software, in more ways than one.

The cool thing is a Brazilian game company called Hoplon is releasing a new game that's hosted on an IBM mainframe. Showing the true flexibility of a mainframe, they aren't even using their own:
But rather than shelling out precious startup capital to own
a mainframe, Hoplon is remotely accessing one stashed in an
IBM data center in Brazil. The same machine manages a retirement
fund for IBM's Brazilian employees and handles operations for
a building-tools manufacturer.

Now that is something nifty. Oh, and the game looks pretty awesome, too.

Monday, October 30, 2006

Omitting holidays from @BusinessDays

Domino Administrator allows you to create holidays that users can download to their own calendars. The next logical step is to include this in calculations where you need business days, but you don't want to include holidays. Here's how to do it in Formula:
dateHolidays := @DbColumn("":"Cache";"mail":"names.nsf";"Holidays";2);
intBusDays := @BusinessDays(StartDate;EndDate;1 : 7; dateHolidays)
This omits Saturdays, Sundays, and the list of dates in the Holidays view. You may consider adding some logic to filter out only holidays for the current year, depending on your requirements. Also be aware that the view only lists the first date entered in the repeating date field. If you have the holiday set to repeat you will have to account for this.

This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

Back from vacation!

I'm back from a wonderful time spent travelling Eastern and Middle Tennessee. The hot air balloon ride was a bust, it was too windy. And the trout fishing was a wash, too, because they were generating electricity at the nearby dam. The guide we were going with said the water volume went from 160 feet per minute to 4800, which washed the fish downstream and it was too dangerous, besides.

We had a great time in Chattanooga, which was much more cosmopolitan than I expected. I was last there in 1993 when they opened the Tennessee Aquarium River Journey, and since then they have opened the Ocean Journey and a new visitor's center. The most delightfully unexpected feature was the butterfly aviary, which I can't say enough good things about.

The downtown area of Chattanooga is impeccably clean and we stayed at the Sheraton Read House, which was a convenient walk to nearly everything. I highly recommend the Read House, but if you're staying there it pays to shop around. We booked it for $59 per night on Priceline. Chattanooga has a free shuttle in the downtown area and it was a godsend at the end of a tiring day of walking. The Hunter Museum has some extremely interesting glass pieces and a nice collection of pop art. Recommended places to eat include 212 Market, The Back Inn Cafe, and Southside Grill.

The Jack Daniels Barbecue was like a trip to a foreign country. I'm from Eastern Tennessee, but this was an experience unlike any I've ever had. Picture 40,000 people all in the same place to worship barbecue. Now imagine your stereotpyical idea of someone who would make such a pilgrimage would look like. It made for some interesting people watching. Stay tuned for pictures of this, the aquarium, and the rest of our trip.

Also be on the lookout for some new posts about Notes. I finished my Notes Multiuser Migrator, and I'm working on some techniques for replacing tokens in richtext while maintaining the style associated with the token. And there's still that DXL UI Updater and SQL Query Runner, both of which I'm working on that as time permits.

Saturday, October 21, 2006

On vacation again

Next week I'll be doing a trip through Tennessee and I'm not taking a laptop so I won't be blogging. This trip came about because October 27th is my partner, Myron's, birthday. Every year since he was 35 (he's turning 53) he has travelled somewhere for his birthday. This year I suggested we attend an event in central Tennessee, and the next thing I know he has a whole week of activities planned! I still don't think he'll upstage the Tortola trip from my birthday, though. :)

On Sunday we are driving to Sevierville, which is near the world-infamous Dollywood, then Monday morning are going on a sunrise hot air balloon ride. Monday will be a leisurely day driving to Chattanooga, where we will spend three days visiting the city and the surrounding area. They have a wonderful aquarium, and the city is located in the foothills of the Great Smoky Mountains. Thursday is a trip to some tiny unknown (to me) town for a day of fly fishing. Neither Myron nor I have done that before, so it should be fun. I dunno what we're doing Friday, it's Myron's birthday and I think he has some all day history thing planned. Saturday is what I'm looking for: Lynchburg.

Anyone who is a foodie knows why I'm going there. Anyone who is a fan of bourbon knows another reason I'm going there. Saturday, October 28th is the 18th Annual Jack Daniel's World Championship Invitational Barbecue. It's two of my favorite things in the whole world combined into one. I'm from Bluff City, in extreme northeastern Tennessee and I grew up with barbeque. My love of bourbon was cultivated in more recent years, but I'm a diehard fan now.

So that's where I'll be next week. Enjoy the silence. :-)

Thursday, October 19, 2006

Going to Lotusphere 2007

It's official, I'll be going to Lotusphere 2007. My boss is considering going, too, and I'm not sure what kind of dynamic that might create. I think he will most likely be in the PHB sessions while I'm mingling with the technonerd crowd, but I'm sure we will have some good opportunities to share information and maybe even sit in on a few sessions together.

So I'll see you there!

Wednesday, October 18, 2006

How to implement a social networking solution in Domino?

One thing that has always baffled me is the application of consumer-oriented technologies to business. Instant Messaging was one I adopted early because I support 300 people spread across 15 sites in two timezones, but the concept of blogs and wikis just left me scratching my head. Adeleida Bingham posted a comment on Rocky Oliver's blog including a link to an irreverent look at Web 2.0. It was an extremely helpful and really helped me understand more about why I should care about this new-fangled stuff. In the slides there was a reference to another blog posting called The Porous Membrane: Why Corporate Blogging Works. That included a link to Wiki This - A Model for Customer Support Using Blogs and Wikis.

None of this is likely news to anyone reading this, but it helped me wrap my head around it all. Now I get it. I grok in fullness. Now... how do I actually do it? Building the databases isn't the problem, there are OpenNTF templates to help me along (thank guys *waves*). But how to you go about making it something coherent and comprehensive? I'm looking at Peanuts Portal, and I have some ideas, but I was hoping someone could share some insight on how to make all this stuff fit together in a Domino world. Are there any examples of sites that have already done it?

Sunday, October 15, 2006

Crazy cool technology - CouchDB

Most people reading my blog are probably familiar with Damien Katz, likely read his blog, and already know about CouchDB. For the other 2 of you, go check it out. From the overview:

What CouchDb is
  • A stand-alone document store, accessible via XML REST.
  • Ad-hoc and schema-free with a flat address space.
  • Distributed, featuring robust, incremental replication with bi-directional conflict detection and resolution.
  • Query-able and index-able, featuring a table oriented reporting engine with a simplified formula query language.
The CouchDb data model was partially inspired by the Lotus Notes and Domino backend.
What it is not
  • A relational database.
  • A replacement for relational databases.
  • An object-oriented database. Or more specifically, meant to function as a seamless persistence layer for an OO programming language.
I downloaded Alpha 4 and installed it, now I'm trying to figure out what to do with it. For now I think it will likely end up on my "neat stuff to try" list since I'm working on increasing my marketability. As nifty as this is, I don't think it's going to help me get a job anytime soon. Who knows, maybe CouchDB and Fabric will be the new new thing.

Thursday, October 12, 2006

Is there an @ function to tell if a document is "dirty"?

I could swear I was reading someone's list of their favorite new features in Notes 7 and it included something about a new and undocumented @ function that would let you know if anything on a document had been changed. I didn't bookmark it, of course, and I've been searching for two days and can't find that reference. Does anyone out there have any ideas about this? Was I delusional?

Wednesday, October 11, 2006

an upward and outward spiral

I had a discussion with my boss a while back and shared my candid views on my lack of upward mobility and feeling like I was being treated like a commodity. At the time my frustration level was high, my patience was low, and it didn't take much to set me off.

One thing my boss said stuck with me. He said he "viewed life as an upward and outward spiral." He went on to describe this as the movement foward, the betterment of his and his family's lives, and the positive social impact he felt he was having. Initially I credited his charmed trust-fund existence with his being able to make such a blithe statement.

I don't know exactly when or why, but I finally got it. I'm not Pollyanna by a long shot, but I do realize now that I have choices. I can choose to better myself or I can choose to languish. I can choose to be positive or I can choose to be negative. I can choose whether my life is a downward descent into despair, or an upward and outward spiral toward happiness.

Tuesday, October 10, 2006

In response to Rod Boothby's simplistic assertions

Rod Boothby recently posted a blog entry about how simple it is to migrate a Notes application to a "Web 2.0" paradigm. He was thoroughly trounced, so he tried again. And had various body parts handed back.

First he suggested screen scraping Domino data out of HTML. Crude, but effective... but then what? Ripping data out of Domino is easy. The hard part is getting the business logic, the workflow, and the other eleventy billion bits to translate to another platform. Furthermore, Rod is proposing doing everything on the WEB! Rod, I suggest you talk to real users, not management types. I know people who have quit jobs because tools they used were moved to web-based apps. Users hate them, with a passion.

In my experience Rod's so-called "innovation creators" and "knowledge workers" accept that what they use at home or for personal use is not appropriate for them getting their work done. Rod goes on to suggest that end users should be responsible for making changes to applications on the fly. If users are tweaking apps who is doing their real job? I agree that users need to be involved in the design process, but the answer isn't to give them a completely open tool with little structure and tell them to design what they need. It is possible, even with Notes, to deliver a structured system based on user input and feedback, that is extensible and flexible.

Just who is Rod Boothby, you might ask? He's a management consultant for Ernst & Young. His only exposure to Notes has been as an end user. Somehow in his mind that makes him an expert on the Domino platform and what it takes to implement new solutions as well as migrate away from it. I must not be as smart as him because I've not been able to do it. Read my blog, you'll see that I've tried and failed. I guess all the people Microsoft put on their Red Bull initiative must be likewise untalented. It sounds like Mr. Boothby has struck a goldmine since he's the only one capable of doing this.

Actually I think he's a crackpot. If his proposition weren't so absurd he might even be dangerous. As it stands, I think the following from Despair.com is fitting:

Friday, October 06, 2006

Notes single to multi-user migrator

I created a utility that will take the traditional single-user configuration for Windows Terminal Services and migrate users to a multi-user install. It has to be run for every user, but it reduces the installation down to just entering the user's password, clicking Finish on the "Advanced Services" box, then clicking OK on the "Setup Complete" box. Is anyone interested in it? It' s driven by an INI:

UserOldNotesPath=m:\notes\data\
UserNewNotesPath=%UserProfile%\Local Settings\Application Data\Lotus\Notes\Data\
SharedNotesPath=C:\Documents and Settings\All Users\Application Data\Lotus\Notes\Data\
FilesToCopy=bookmark.nsf;desktop6.ndk;*.id;names.nsf;user.dic

If there is interest I'll figure out a way to post my utility, and include source and a writeup on how it works. I wrote it in VB5. Yeah, I know it's old, but it's what I had handy. :-P

Tuesday, October 03, 2006

Dialog to select a template?

I posted on Notes.net but I thought I would repeat it here... does anyone know how to get @Prompt([ChooseDatabase]) to show templates? According to the help there is a values property that can be set to "2", but that doesn't seem to have any effect. It appears to be possible because when you do a File > Database > Open in Domino Designer it shows both NSF's and NTF's, but I have no idea what mechanism they're using to display that dialog. I'm not afraid of going to the C API if I have to, I really really need this functionality.