In the Halls of MSFT (CAUTION: POLITICALLY INCORRECT)        


WARNING: The follow dialog is neither real, nor polite.  Read no further if you wish for only sincere content...

Microserf 1: Man, these Mac vs. PC ads are just killing us.

Microserf 2: Yeah, we need a campaign to counter them.  Something that doesn't make us seem like middle management already-obsolete types.

Microserf 1: Or maybe we need a campaign that *identifies* with already-obsolete, middle management types!

Microserf 2: Huh?

Microserf 1: Well, it's not like the Justin Longs of the world are making enterprise purchasing decisions.  Maybe the pudgy guy in a bad suit with ugly glasses is exactly the kind of image that our customers identify with.

Microserf 2: So... what... we need BillG to be the spokesman?

Microserf 1: Yeah... good point.  Bill's over-exposed now.

Microserf 2: Maybe we need a spokesman that's identifiable to the real decision makers... the people that control the money.

Microserf 1: Well, obviously that's not going to be a spokesWOMAN!

Both: AHAHAHAHAHAHAHAHAHAHAHA...

Microserf 1: But seriously.... you think we need a Jewish spokesman?

Microserf 2: Sure.  Shouldn't we identify with the people that actually decide things?

Microserf 1: Fair enough.... but who?

Microserf 2: Jon Stewart?

Microserf 1: Too honest.

Microserf 2: Ben Stiller?

Microserf 1: Too hip.

Microsert 2: Jeremy Piven?

Microserf 1: Too niche.

Microserf 2: Whoa... what about Larry David?  He's hot right now!

Microserf 1: True, but... if we try to get someone who's a public figure NOW, that might draw attention to the fact that we haven't done anything interesting in the last 8 years.

Microserf 1: Ooh.... good point.  Maybe we can find someone who was a prominent Jew back when we were hot.

Microserf 2: Oh.... ummmm... Gary Shandling!

Microserf 1: *scoff*  WAY too ironic!

Microsert 2: Well, maybe we need Larry David's partner!

Microserf 1: Who... Jeff Garlin?  I don't think he's Jewish.

Microserf 2: No... JERRY SEINFELD!

Microserf 1: Seinfeld?!?!?  Really?  That guy hasn't been famous for... like... 10 years.

Microserf 2: I know!  That's what so perfect!  Our target audience doesn't want to identify WITH the youth of America.  They want to identify AGAINST them!

Microserf 1: Ah... instead of appealing to the popular 18-24 year-old demographic, we should appeal to the deep pockets of the 24-54 year-old demographic.

Microserf 2: EXACTLY!

Microserf 1: I think you might be on to something.  But didn't Jerry prominently use a Mac on his show?

Microserf 2: Dude... we just need 8 numbers before the decimal.  It's not MY money, is it?

Microserf 1: Good point.  Okay, let's make the call.


PS: Note to IBM... should you feel tempted... allow me to suggest some names that might compete for popular mindshare: Seth Rogen, Neil Patrick Harris, Riann Wilson, Steven Colbert.  And, honestly... that's only if you want to stay with white males.  I encourage you to think more expansively than Apple or Microsoft -- perhaps by appealing to a group that's only been granted the right to vote in the last two centuries.

 Common misconceptions about DAOS        


More than a few articles and posts have appeared around the Yellowsphere regarding DAOS, and there's always some L.H. Putgrass responding on these threads claiming that DAOS is somehow the spawn of Satan.  Of course, such claims are based almost entirely on totally incorrect ideas about how DAOS operates, so I thought I'd clear up a few misconceptions.

Myth 1: DAOS requires transaction logging and transaction logging is bad.  Well, it's true that you need transaction logs for DAOS, but it's not true that transaction logging is bad.  Poor implementations of transaction logs are bad, just like poor implementations of anything.  So if you put your translog on a SAN volume that also houses, say, your Notes data directory, then you're not going to get a good result.  The translog requires a high-speed, localized dedicated drive (or RAID), so don't even think of implementing it any other way.  But maintaining a transaction log is trivial, and at this point, you shouldn't be running production environments any other way.

Myth 2: DAOS is SCOS.  I specifically asked the Domino Server Chief Architect about this almost a year ago and he laughed, "DAOS does not share a single line of code with SCOS."  The architectures are fundamentally different.  The only thing they have in common is that they are intended to achieve the same outcome: reduced cost of ownership for high-attachment volume.  SCOS didn't deliver that.  DAOS does.

Myth 3: DAOS is insecure.  No, it's not.  The Domino 8.5 beta 1 did not include encryption on .NLO files (it includes LZ1 compression, not encryption,) but the DAOS team has been quite clear that the individual files written to disk in the gold version will be encrypted using the server's Notes credentials.  Of course, even if they weren't encrypted, does that make them less secure than storing in NSFs?  Do you locally encrypt your mail NSFs on the server?  No?  Then the degree of risk is exactly the same: access to the OS file system trumps all Domino security, period.

Myth 4: DAOS ruins your backups.  Actually DAOS helps your backups tremendously.  Everyone knows the problems with attachment duplication in mail NSFs -- if you send a 5MB attachment to 100 users, it's consuming 500MB of drive space.  But if your backup approach is to make copies of your mail NSFs (and all but the most sophisticated backup solutions do exactly that) then you're backing up that 500MB every night.  That means in 100 days of backups, that 5MB attachment is now devouring 50GB of archival space!  With DAOS, if you write the .NLO file to your backup system, then you only have to do it ONCE, since the file mod time doesn't change.

Myth 5: DAOS messes up your restores.  That depends entirely on how you want to maintain your attachment store.  In SCOS, when the last instance of a pointer was removed from an NSF, the central object store was deleted.  In DAOS, you can control your retention period.  The setting is "Defer object deletion for X days," and you can set it from 0 to 9999.  So if you're truly worried about your restore of attachments being valid, you can retain your attachments in the file structure for over 27 years.  It's not expensive to do so, if you're not repeatedly making duplicates of the file in your backup system.  (See Myth 4.)

Myth 6: DAOS doesn't get you much, because disk space is cheap.  GBs are cheap, but managing them is not.  DAOS reduces your backup and restore cycle times and storage needs.  It aids in NSF reliability.  It simplifies mail quota rules (do you even need them?)  

Myth 7: DAOS breaks replication.  Clients, and even other servers, have no idea that an attachment is stored in DAOS.  The maintaining of the link between the .NLO and the Notes document happens at low enough level in the API that anything reading documents has no idea that DAOS is even in use.  Like transaction logging, it's invisible to any outside process.

The authoritative source for DAOS details can be found at the Domino Blog.  If you're not sure that you want to implement DAOS on the first day you install a Domino 8.5 server, go read the articles there.  And check out the overview on Developer Works.  I guarantee that if you take the time to learn how it works, you'll be absolutely salivating for it.

 The Measure of a Day        


Alan has a great post with a summary of highlights from Ye118wDay.  One thing not in his list was our relatively quiet upgrade of the BleedYellow environment to Connections 2.0.  We've been relatively quiet because the upgrade did not go well, and we're still working with IBM on fixing the outstanding problems.  However, there were enough cool new capabilities that we decided not to roll back the update, but soldier on through it.  There's a reason the site has a "beta" tag, after all!

I asked Yancy Lent to keep track of PlanetLotus.org stats for 11 Aug, and he was kind enough to email me with them this morning.

Clicks
Aug 11: 6665
Aug 8: 4420
Aug 7: 4923
Aug 6: 5735
Aug 5: 4546
Aug 4: 4044

3rd highest click count since I started keeping track.

109 posts! I'm not sure the average, rough guess is around 50-60. The first ad down is at row 50, i use this to gauge the daily post activity.


So a 50% increase in click-throughs and almost double the number of blog posts.  That certainly strikes me as a success, particularly given that the objective here was to create some extra buzz in the Yellow community.  We had folks giving away free stuff, publishing podcasts, changing their wardrobe, offering up technical tips and IdeaJam even went yellow for the day!  All in all, not bad for two hours of Photoshop work and a few blog posts to ask people to play along.

Here's one thing I promise: there will absolutely, positively be a second Ye118w Day.  Go ahead and mark your calendars for 11 Aug 2009.

UPDATE: Oh, and for some, the Yellowbration apparently went a bit too far!  Looks like Devin really did end up in Lotus Reno 911!  (I wish he'd been able to take the picture at an actual police station, 'because he really was in Reno yesterday.)

UPDATE 2: Forgot to mention that this was definitely a worldwide event!  We had participants in every time zone and at least 3 continents.  Anyone notice Australian or South American posts?

 Some Yellow Day awesomeness from the Lotus ISV Enablement team        


Jo Grant sent me a link to this great demo of composite app integration from the sidebar.  It's pretty technical, in that he gets into the innards of the Eclipse perspective finder and threading approach, but it's also a great example of some of the powerful integration that's available.

And before anyone points it out... yes, I realize that there are ways to do this even within the ordinary LS API in the Notes client today.  I do it all the time.  However, Jo's demo here is a great lead in to the forthcoming Notes Component Library v2, and also leads in nicely to some new possibilities that will be opened in a post-8.5 timeframe that I can't really talk about just yet.  (I know.... I'm such a tease.)

Thanks Jo.  And a great ending, sir!  

 Lotus 911's Yellowbration: FREE STUFF!!!        

I really don't know how I'm going to top the yellow hair at 'sphere 2009
In celebration of the first annual Ye118w Day, I've gotten the okay to make an announcement I've been waiting months to make!

The Carousel plugin for Notes 8.0.1+ is available for immediate download from the right-hand download list.  This package includes the Contacts demo, which automatically installs the plugin for you, along with a PDF document in the Using this Application page that details how you can incorporate the plugin into your own applications.

Here's the great part: every Notes shop on earth is entitled to 10 licenses, absolutely free.

Download it.  Install it.  Read the documentation.  Take apart the design.  Learn.  Experiment.  And if you decide you want to roll it out to users, here's the pricing...

$10/user.  If you want to stay current with updates after that, there's a maintenance cost of $2/user.

If you'd like assistance in implementing it, or you'd like to request an enhancement, you can do so at our normal services rate.  Contact our team at services@lotus911.com for more information.

Remember that Carousel allows you to present images that are attachments to the documents in the view, as well as images retrieved live via HTTP, so you can integrate with any web source where you can find an image file, such as the Google Charts API.

If you have additional questions or feedback, the BEST place to present it is the Carousel Blog on bleedyellow.com.  But, of course, I'll monitor here as well.

P.S.: There's also a set of Ye118wday wallpapers on the right-hand download bar, if you'd like to do what I did and have that as your desktop background all day.

UPDATE: So Ben and Keith don't know what Carousel is.  And you call yourselves yellow bleeders!??!?!  

See here and here for details.

 Join in for the first annual YELLOW DAY!        

Commemorating all things Lotus
Alan Lepofsky suggested that, in celebration of Lotus's new public proclamation of their successes, that we should designate the 11th of August as Ye11ow Day.  Since he pretty much dared Lotus 911 to do something to commemorate the day, and me personally to create a logo for it, we decided to rise to the occasion.

Monday, 11 Aug 2008 is hereby declared the first annual Yellow Day.  Members of the Domino community are encouraged to celebrate in any way they see fit.  Some suggestions...

1) Wear something yellow to work.  Preferably something more visible than your underwear.  (Unless you're a Victoria's Secret model.)  Preferably something less visible than your hair.

2) Use the graphic in this post on your website/blog/email/whatever else.  Or you can use the big version!

3) Give your users a useful tip for the day.

4) If it's your thing, podcast.

5) Write a cool piece of software using Lotus technology and show it off.

Additional suggestions for Yellow celebrations are invited!

And yes, Lotus 911 will be doing something(s) for Yellow Day.

 We apologize for the inconvenience (UPDATED)        


The Bleedyellow.com site is bleeding at the moment.  It appears that something leaked over from the test environment.

 Chris is working diligently to restore order.  We apologize for any problems this may cause to our users.

UPDATE: Order has been restored.  Nothing like thinking you might have accidentally run all your update scripts in the live environment to take your breath away.  (Note: We didn't.  Chris' isolation of the test environment was perfect.  There was a different problem.)

 This is SICK!        


More radical than the Ribbon; probably so different that it will scare the heck out of people.  But Adaptive Path's vision of the browsing experience of the future is awesome.

 A quick reply to Tim (or Faking Abstract Methods in Custom Lotusscript Classes)        


Tim's roadblock from last night with Lotusscript method inheritance is exactly the kind of thing that I read and think "well, there's gotta be a way to fix THAT."  So he and I chatted this morning, threw a couple of ideas against the wall, and got one to stick.  But we both immediately saw the problem: since there's no way to force derived classes to override a method (ie: declare a method abstract,) we could run the risk of some Lotusscript n00b (or anyone who happened not to read the documentation for the parent class, ie: yours truly) creating a nice nasty recursive call.

We knocked a few ideas around about how to prevent it, ultimately settling on using LSI_INFO() to get the call stack in order to determine we were running recursively.  But sooner or later, someone's going to complain that LSI_INFO isn't thread safe, and therefore write off the entire design.

Instead we tried a thread safe code lock, and it worked.  So going back to Tim's sample code, we have...

Private Sub Inviewedit(Source As Notesuiview, Requesttype As Integer, Colprogname As Variant, Columnvalue As Variant, Continue As Variant)
           If Not(Me.isRecursive(Fulltrim(Split(Lsi_info(14), Chr(10))))) Then
               Call Me.inviewEdit(Source, Requesttype, Colprogname, Columnvalue, Continue)
       End If
End Sub


...which we modified to...

Private Sub Inviewedit(Source As Notesuiview, Requesttype As Integer, Colprogname As Variant, Columnvalue As Variant, Continue As Variant)
        Dim mylock As Integer
        Dim status as Boolean
        myLock = Createlock("parentInviewedit")
        If Codelockcheck (myLock) > 0 Then        
                MessageBox "The person that coded this application sucks, because they didn't remember to override this event.  Find them, point at them, and laugh.", 48, "Bogofied"
        Else        'there is no spoon.... I mean lock
                If Codelock(myLock) Then
                       Call Me.inviewEdit(Source, Requesttype, Colprogname, Columnvalue, Continue)

                End If
                status = Codeunlock (myLock)
                status = Destroylock (myLock)
       End If
End Sub


The effect is that the method isn't permitted to call itself, even through a wrapper.  It's not truly an abstract method, because the compiler isn't going to ensure that you overrode it.  But the lock prevents a recursive call.  And that's really the important part.  Besides, with a message like that going in front of the user, it's not a mistake you're likely to make twice.

The createlock() could probably be made smarter.  My present thinking is that you could abstract the lock identifier to something like GetThreadInfo(LSI_THREAD_MODULE) + GetThreadInfo(LSI_THREAD_PROC) or something; anything to make the process more introspective so you don't have to remember to tweak the string that's provided.  I suppose you could just use some arbitrary constants.

I'm open to suggestions on way to more readily identify the current code being called.  There's very little wrong with the original LSI_INFO call except concerns over being thread safe,  As Tim says, that's not an issue in his UI-driven context.  But if you're going to use one coding model for all situations, then you probably want to protect methods you would normally want to be abstract in this same way.

By the way, Chris, with that shirt on in your Gravatar, Aquaman is the right fit.  But that's not a bad thing.  We're all just fish at heart.

 IBM Press Release is backwards        


By now you've seen the news about IBM's press release regarding their success.  I am absolutely thrilled to see this, and my fingers are crossed that this is the first sortie of many to come from new Lotus GM Bob Picciano.

Two interesting things of note...

1) The headline is backwards.  It reads "IBM Growth in Emerging Markets Fuels Lotus Momentum."  But really, it's Lotus' growth in emerging market that's fueling IBM's momentum.  Lotii should be pleased that they're able to carry the rest of IBM along with them.    (And I look forward to the day when IBM realizes they can't write MSFT off as a divisional competitor.)

2) The best part of the release?  Not the observations on closed deals.  Not the customer names.  Not the identifying Exchange as "legacy proprietary technology."

The best part is this and this.  IBM included screenshots of the Notes 8.5 client in the release.  BOOYAH!

Congrats to the whole IBM Lotus team!

11 Aug 

Hire Me 

Lotus-911-Logo.jpg

Search 

Disclaimer 

Welcome to Escape Velocity!

Opinions expressed here by Nathan T. Freeman are not necessarily those of his employer. However, there's a decent chance they are, so check with them if you really want to know.

But really... do you need that kind of validation? Are the opinions expressed here in doubt?

MiscLinks