« Tech Tip: When NotesDocument.Responses is populated, when it's not, and how to work around it | Main| Traveling to the Congo? Keep up with your, uhmm, "most cherished posession" »

Lotus Geek Honor Roll becomes Lotus Geek Blog Roll

   
Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Shortly after I first started Lotus Geek I created a blog button for it (LotusGeek), and also used a "big" version of it as my logo (the one you see at the top of this page). It became pretty popular, and people began putting my blogroll button on their sites. Then it was added to the Blogsphere template itself, and it showed up everywhere. I thought it was pretty neat that people did that, and I encouraged it - I am "a" Lotus Geek, not "the" Lotus Geek - there are many, many of us, and using that button simply identified you as a technologist that is passionate about Lotus collaborative technologies. Well, around the same time I got tired of constantly trying to keep up with my blogroll, so I decided to turn it into a "LotusGeek Honor Roll", and only listed sites that displayed the LotusGeek button. Before doing this I felt like I had to list every Domino blog out there; it was a self-inflicted condition, and creating an "honor roll" made the process much easier.

This worked pretty well for many years; however there have been critics of this practice as well. I have been giving the situation some careful thought, and have decided to change my "honor roll" back to a "blog roll". I finally realized that I don't have to list every Domino blog; there are now quite a few places where you can easily get all of the Domino blogs out there (namely PlanetLotus.org). So, since I realize I don't have to be all-inclusive, I am going to go back to a blog roll format. I will still automatically list anyone who displays the LotusGeek button, and they tell me about it; however I'm also going to begin including blogs that I find useful, relevant, interesting, etc. as well.

So, if you're currently not listed, let me know about you and your blog, and I'll give it a look and possibly add it to my list. No promises, but we'll see how it goes, OK?

Thanks!

Rock

Comments

1 - So BleedYellow is hosting a Sametime server?

Are they only allowing browser access or, since I still haven't gotten around to installing Sametime, can I integrate my Notes install for testing?

I admit, not up on Sametime details other than a general idea of what it does and how it integrates with notes, but I'd love to be able to play with it.

Great blog Rock, keep up the good work.

2 - Oh hell. I posted that comment on the wrong entry.
Please disregard, I'm gonna go hide now.

3 - Hi Rocky,

I hope you can help me. I want to sort a list - see below

020/MDN/2007
019/MDN /2007
021/MDN/2008

I want 021/MDN/2008 at the top of the list followed by 020/MDN/2007 and 019/MDN/2007

I have tried a formula with @Sort but it's not working. I am new to Lotus Notes so your help is greatly appreciated


4 - @3 - Hey there Tanja.
Sorry to barge in and be an ASW, but I wrote a fairly detailed post (with sample code) on sorting lists a few years back. { Link }

Hope this helps! Emoticon
-Devin.

5 - @3 (Tanja) - Devin has hit upon some of my favorite bits of code for doing unusual sorts like this - @Transform and custom @Sorts. Devin and I have even exchanged ideas in this regard, and he took those ideas and ran with them in the post he provided - which is exceptional, especially as it gets refined in the comments. I would highly recommend digesting what Devin has taught to truly understand the power of @formulas in general, and @Transform & custom @Sort in particular.

But, I know that many Domino developers are short on time - so let's look at a quick-n-dirty technique for sorting your list in particular.

Before we dive in, we should define, in "regular language" (American English for me, Southern style Emoticon ), what we're trying to do. Once we clearly define what we want to do, we can convert our description to @formula code.

It appears you want to sort your list overall in descending order, from right to left, based on the forward slash (" / ") delimiter. Now, the middle may always be "MDN", but I don't know that, so it is probably good to handle that as well.

Now if you simply test @Sort using your example list, it would appear the solution to this specific problem is very straightforward. If you use the [DESCENDING] keyword for your @Sort, it will appear that you're getting the result you desire, because using [DESCENDING] sorts left-to-right, in descending order. You would wind up with a list of:

021/MDN/2008
020/MDN/2007
019/MDN/2007

Which looks right at first pass, but it is right simply because the numbers on the left happen to be in descending order. If, however, we had a list of:

"020/MDN/2007" : "025/MDN/2007" : "021/MDN/2008"

And tried to use @Sort with a [DESCENDING] keyword you'd get:

025/MDN/2007
021/MDN/2008
020/MDN/2007

And this is obviously wrong. So how do we accomplish what we want?

Like most code solutions, there are a variety of ways to accomplish this task; however our goal is to come up with a solution that is elegant, efficient, and functional - and also understandable. Remember, sometimes it is OK to add an extra line or two rather than combining multiple steps into one line, if it makes the code easier to understand for humans. Code that is easy to understand is easy to maintain. Given this, I've come up with a couple of ways to do this - one that is easier to understand, and one that is more complex but shorter. Keep in mind that these are only a couple of ways to do this; either one of these may or may not be the best way, but they are simply two ways that work.

Solution 1
list := "020/MDN/2007" : "025/MDN/2007" : "021/MDN/2008";
list_1 := @Word(list;"/"; 3) +"/" + @Word(list; "/"; 2) + "/" + @Word(list; "/"; 1);
list_1 := @Sort(list_1; [Descending]);
list := @Word(list_1; "/"; 3) + "/" + @Word(list_1; "/"; 2) + "/" + @Word(list_1; "/"; 1);
@Prompt([Ok]; "test"; @Implode(list; @Char(10)))

This solution simply puts the third part up front, and the first part in the back. By doing this you can use the straightforward [DESCENDING] keyword with @Sort, and then simply flip them back to the original positions to get the desired final list. This method is easy to understand, is straightforward, and it works.

But there's another way to do this as well - taking advantage of the [CUSTOMSORT] capability of @Sort.

Solution 2
list := "020/MDN/2007" : "025/MDN/2007" : "021/MDN/2008";
list := @Sort(list; [CustomSort]; @Word($A; "/"; 3) + "/" + @Word($A; "/"; 1) < @Word($B; "/"; 3) + "/" + @Word($B; "/"; 1));
@Prompt([Ok]; "test"; @Implode(list; @Char(10)))

In this solution we simply take the first and third parts of the list, and use them to perform the sort. We put the third part first, then a delimiter, then the first part; and then we use the "less than" comparison operator (<) to test the values to determine if the items need to be switched.

Both of these solutions result in a list sorted like this:

021/MDN/2008
025/MDN/2007
020/MDN/2007

Basically the second technique is doing the same thing that the first solution does, but it combines the steps into one line as a part of the [CUSTOMSORT] @sort. It is smaller code, and is therefore probably a teeny bit more efficient, but not noticeably so. My recommendation is to use the one that best fits in your situation; and given that you're new to Lotus Notes/Domino, the first solution may be easier for you to understand and maintain compared to the second solution.

I would recommend you check out Devin's post concerning @Sort and @Transform; also, I have a lengthy explanation of [CUSTOMSORT] @sort and how it works here: { Link }

I hope this helps, and gives you enough information to dive in deeper and understand all that the @formula language has to offer. Many people who are new to Lotus Notes/Domino immediately discount the @formula language, and this is a mistake; the @formula language is extremely powerful and fast, and it would serve you well to learn it. There is a wealth of information about the @formula language, here at my blog and all over the Domino blogosphere. Take a look around, continue to learn and ask questions, and you'll be a guru in no time!

Best of luck!

Rock

6 - @1 and 2 (Kurt) - LOL, no problem posting in the wrong spot - I do it quite a bit myself Emoticon

To answer your question, yes BleedYellow.com has a Sametime server available for public use, if you register a profile at BleedYellow.com ( { Link } ). I have done what you said - I have used it in my integrated ST client in my Notes client, and it works great. However I would recommend getting the latest Sametime client, as it is very useful and powerful.

In fact, you can go here { Link } and download the trial version of Sametime. The Sametime client included in that download is NOT timebombed; it is the full Sametime Connect 8 client, in all its glory.

So, download it, connect to BleedYellow, and give it a try. See you there!

Rock

Meet Rocky

Rocky Oliver
Rocky Oliver
If you see me at a conference, please stop me and say hi!

Calendar

Search

Categories

LotusGeek Tour 2008

ILUG2008Small.png

Proudly Employed By

I am the Vice President of Products for TeamStudio

Our Corporate Blog

I am the Vice President of Products for TeamStudio

Thawte Notary

Thawte Web of Trust Notary

LOTUS GEEK gear

Social Networking


Add to Technorati Favorites

View Rocky Oliver's profile on LinkedIn

Rocky  Oliver

Dilbert

Buy my book!

Blog Buttons

Atheist - Unitarian - Humanist

Atheist Symbol

chalice_150.gif

Happy Humanist

Poker Players Alliance

My Blogmap


Pil Sung!

I am a first-degree black belt (il Dan) in Choi Kwang Do. Pil Sung!

This Site Designed By

YOU! If you would like to see your name and link here, read more about the Skin the Geek contest!