August 13, 2007

Fun on YouTube!

This is hilarious!



And this is just so finnish ;-)



Thanks to my good friends Pär and Kristian for this!

Technorati tags:
, , ,


August 06, 2007

Evaluate in Java

Something I didn't know is that the evaluate function that is used in lotusscript to take advantage of the power of formulas also can be used in Java agents or script libraries in the notes client. There is a slight difference though:

Here's how it's used in Lotusscript. An array of strings is returned:
strArray=Evaluate(|@Unique(@DbColumn("":"ReCache"; "":""; "summaries"; 1))|)

In Java you make use of the session object to get the evaluate function. A vector is returned. Note that you replace the pipes (|) with (").
Vector v=session.evaluate("@Unique(@DbColumn('':'ReCache'; '':''; 'summaries'; 1))");

To loop through the vector and use the values as strings, do something like this:
for (int i=0; i<v.size(); i++) {
System.out.println(v.elementAt(i));
}


Read more and see examples of the evaluate function on notessidan.

Technorati tags:
, , ,


July 27, 2007

About mail.box

Sometimes it is desirable to put mail messages directly into the mail box on the server. If the server has one mail box it is called mail.box. But as you might know it is possible to create several mail boxes to increase performance if lots of mail are running through the system. Be cautious here though, 18 mail boxes is not a good alternative but 2, 3 or 4 might really help. Anyway, when telling the server to create several mail boxes the database mail.box will disappear and instead new mail boxes will be created called mail1.box, mail2.box and so on.

Now, if your application wants to create a mail in mail.box based on some form you probably would like to hard code the name of the database, that is mail.box. But what if the server has several mail boxes? No worries, don't change a thing. You still type mail.box and the server/router will put the mail in the mail box which is mostly available at the time.

It might be good to know that this is not supported officially though.

Here's where you change how many mail boxes to use. The command "Tell Router Update Config" should make the changes take effect immediately or you could just wait 5 minutes.



And here's a code strip as an example of how to put mail directly in mail.box.

Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim db As NotesDatabase
Dim serverName As String
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim rtitemA As NotesRichTextItem
Dim rtitemB As NotesRichTextItem

Set db = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument

serverName = db.Server
Dim mailBoxDb As New NotesDatabase(serverName, "mail.box")
Dim mailDoc As NotesDocument
Set doc = uidoc.Document

Set mailDoc = New NotesDocument(mailBoxDb)
Call mailDoc.AppendItemValue("Form", "Memo")
Call mailDoc.AppendItemValue("From", uidoc.FieldGetText("From"))
Call mailDoc.AppendItemValue("SendFrom", uidoc.FieldGetText("From"))
Call mailDoc.AppendItemValue("Principal", uidoc.FieldGetText("Principal"))
Call mailDoc.AppendItemValue("SendTo", uidoc.FieldGetText("SendTo"))
Call mailDoc.AppendItemValue("Recipients", uidoc.FieldGetText("SendTo"))
Call mailDoc.AppendItemValue("ReplyTo", uidoc.FieldGetText("ReplyTo"))'
Call mailDoc.AppendItemValue("Subject", uidoc.FieldGetText("Subject"))

Set rtitemA = New notesrichtextitem(mailDoc, "Body")
Set rtitemB = doc.GetFirstItem("messageBody")

Call rtitemA.AddNewline(1)
Call rtItemA.AppendRTItem(rtitemB)

Call mailDoc.Save(True, False)



Technorati tags:
, ,


July 09, 2007

Good reading today

Web developer links:

And some other useful and interesting stuff:
Technorati tags:
, ,


July 01, 2007

Ekakans office in SL is getting its first shapes

I have started to build an office for Ekakan in Second Life and well... you have to start somewhere ;-)
Here's what it looks like at this very moment. I/we have great plans, ideas and thoughts for this. Although Ekakan doesn't yet have it's own place in SL, it will soon be for real and I'll let you know when that happens.

The idea is to be visible, to show the company and its competence in yet another medium. Maybe to be able to talk to the consultants the avatar way, read curriculum vitaes (resumes) and hire consultants. There are also plans to offer different types of tips and tricks and to be able to assist in different ways. The place to go to when you need to kill twenty minutes or help with techie questions and issues.

Come to the IBM Sandbox and I will give you the grand tour ;-) (if I'm currently there).


View from outside


Inside the office. Photos of some of the employees on the wall which show short presentations when touched.


There's also a window to lighten up the place and coloured sofas.



Technorati tags:
,


June 30, 2007

LSL-script for a Second Life football

I have been looking into the Linden Script Language (LSL) to be able to do more cool stuff within Second Life.

Here's a small script for a football. The ball can be kicked by just walking against it. Touching it causes the ball to bounce up in the air a couple of feet. You can also talk to it by saying "kick" which causes the ball to move with a certain vector strength and direction. "High kick" makes the ball going forward up in the air.

default {
state_entry () {

llListen (0, "", "","");
// Make sure that Physical is turned on
llSetStatus (1, TRUE);
}

collision_start (integer total_number) {

// Get the vector that points from the kicker to the ball
vector diff = llGetPos() - llDetectedPos(0);

// Force the z coordinate up
diff.z = .1;


// Scale the vector to a fixed length
vector kick_vector = llVecNorm(diff)*5;

// Apply the kick vector to the ball

llApplyImpulse(kick_vector, FALSE);
}

listen (integer channel, string name, key id, string message) {
if (message == "kick") {

// Get the vector that points from the kicker to the ball
vector diff = llGetPos() - llDetectedPos(0);

// Force the z coordinate up
diff.z = .1;

// Scale the vector to a fixed length
vector kick_vector = llVecNorm(diff)*10;


// Apply the kick vector to the ball
llApplyImpulse(kick_vector, FALSE);
}
else if (message == "high kick") {
// Get the vector that points from the kicker to the ball
vector diff = llGetPos() - llDetectedPos(0);


// Set the z-coordinate high up
diff.z =500;


// Scale the vector to a fixed length
vector kick_vector = llVecNorm(diff)*25;

// Apply the kick vector to the ball

llApplyImpulse(kick_vector, FALSE);
}
}

touch_start (integer total_number) {
// Create a manual kick vector where only the z-coordinate has a value separate from zero
vector kick_vector = <0.0,0.0,0.0>;

// Apply the kick vector to the ball
llApplyImpulse(kick_vector, FALSE);
}
}


Copy/type the script into the script editor pane when creating/replacing a new script for an object. Remember you have to be in a place where scripting is allowed to modify it and see the changes in action. Second Sweden allows it and there are many more places.
























Here are a couple of reference pages to get you started:

- This article is good to get you started. I have taken some lines of code from here.
- LSL Portal
- Second Life Tutorials

Technorati tags:
, , , ,


June 14, 2007

My first iGoogle Gadget

*** UPDATE ***
I have updated and improved the Gadget some. It got better looking design and also a new view of the latest content from developerWorks, which is also default. If you added the last one, please update!
*** *** *** *** ***

I was inspired by the iGoogle Gadget that Thomas Adrian made.
You've heard of Google Maps. Now Google Gadgets are getting more popular. And as if that's not enough Google Mapplets are coming as well, which is Google Gadgets that can manipulate a map using the Google Maps API. This is cool!

This is my gadget showing the developerWorks technical library views. Default is Lotus, but you can change that to any of the other views and whether you want to see the summary and how many entries you'd like to see. I have uploaded it to the content directory, where you can get more cool gadgets for your iGoogle.



Technorati tags:
, , ,


June 13, 2007

Domino Designer in Eclipse

If you have tried Eclipse for regular Java programming you know how comfortable it is to work with. As you might know there will be a Domino Designer in Eclipse released sometime in the future and Maureen Leland has posted a couple of screenshots on the new progress on this project. Especially the Java editor is beautiful ;-)



Technorati tags:
, , ,


June 06, 2007

Summary of Lotus Nordic Meeting



Yesterday the Nordic Lotus Meeting was held in Second Life. Thomas "notessidan" Adrian hosted the meeting and although the number of attendees weren't that impressive (approximately 15?) it was in my opinion successful. It was a mix of people from different Nordic countries such as Sweden, Denmark and Norway and with different Lotus skills and experience with Second Life.

The discussions were mainly about Second Life and only brief about Lotus products at this first meeting. Notessidan showed us the stage that he had built for the location and also his Second Life office. We were all impressed and at least I got a bit excited about the possibilities that I can imagine when seing what can be done and when talking to all this people that were there.
We are building relations that seamlessly spans over countries, cultures and different humans with a variety of skillsets.

I can see a small problem with these meetings though that needs some improvement. Although there is an agenda it always turn out to be a slight chaos. People talk at the same time which causes some questions to be mistakenly ignored, someone starts building a big sphere or someone decides to pick up a giant aircraft from their inventory or suddenly someone starts dancing. All this causes some distraction which is completely understandable. Who wouldn't be if it took place in real life?

This is not at all wrong, it is rather amusing and funny actually but when it comes to the point when you would like to have productive and efficient meetings with results something has to be done.

Maybe some sort of guidelines needs to be written for meetings with an intended agenda on how to act to get the results wished for? What do you think?


Some snapshots from the event:


Thomas Adrian, Johan Känngård and me are dancing. Don't remember the other's names.


My first object, a Lotus Notes 8 bench. Do you want it? Contact Nicolas Paravane in SL



Yup, there was beer too...


Technorati tags:
, , ,


June 03, 2007

I love my Weber!

Yesterday I bought a new outdoor grill, a Weber One-Touch Platinum Charcoal Grill, Black. And today I'm a very happy man :-)

When doing the research for which grill I should buy, many people have been into the buy-and-throw philosphy - buy a cheap grill for like 200 SEK (approximately 30 US Dollars) in the spring, throw it when the autumn comes and then buy a new one for the next spring. I am not very fond of that. I think it's better to buy something really good that will last for many years.
And if you take care of it I think it will last, especially if it's a Weber since it won't rust standing outdoors.

Take a look at the product features and technical data here. There is a warranty for 10 years on most parts.







Technorati tags:
, ,


June 02, 2007

Nordic Lotus meeting in Second Life

On tuesday, 5th of June 2007 at 9PM GMT+01 there will be a Nordic Lotus meeting held in Second Life. It is Thomas Adrian, hosting Notessidan.se, who has taken the initiative to this independent event.
Anybody with a great interest in Lotus Notes/Domino and/or other Lotus software are welcome to exchange their thoughts and idéas and to take advantage of each other's knowledge and burning desire to share their competence and perhaps to make new contacts.

The agenda for the first meeting is:

  • Questions for people new to Second Life
  • Tip from everybody on places, activities and what can be done in SL
  • Open discussions on IBM/Lotus software
We will meet in the IBM Sandbox. Take a look at the community event on secondlife.com about this to easier find your way.

If you're new to Second Life or just want to know a little more there are several tutorials:
Please feel free to contact me when you get there if you need any help. My Second Life name is 'Nicolas Paravane' and Thomas Adrian's is 'notessidan Yao'.
See you there :-)

Technorati tags:
, , ,


May 25, 2007

Short summary of Swedish g33k date

Yesterday, May 24th 2007, the first g33k date took off at the premises of Ekakan, who acted as host, with an impressive collection of talented Notes/Domino developers and celebrities present.


It was very successful and I am quite sure everybody got something valuable out of it. Johan Känngård and Joachim Dagerot were keynote speakers and talked about different subjects, mostly in some way connected to the web. Johan Känngård has written a good summary about the event and also put his presentation and examples available for download on his blog. Joachim Dagerot has also posted a blog entry which is a follow-up on a subject that came up yesterday.

Next occassion will probably be after the summer in september or something like that. I guess it depends on who's hosting it and the interest and availability of everybody.

Here's a picture of our talented fellow N/D bloggers/developers and keynote speakers from yesterdays success.


Johan Känngård & Joachim Dagerot


Joachim Dagerot


Technorati tags:
, , ,


May 23, 2007

Flickrvision

I read on Next Generation Internet about Flickrvision. It's a really cool service accesible directly on the website which let's you watch as images are uploaded to Flickr in real time. Take a look at a subwindow below or click on the link for the site.



Technorati tags:
, ,


May 09, 2007

IBM Education Assistant for Lotus Software

Here's a tip if you need another learning resource.

IBM Education Assistant for Lotus Software provides help for Lotus Domino, Lotus Notes, Lotus Expeditor, Lotus Sametime and WebSphere Portal for different versions. The help is divided into text, video and audio.



Technorati tags:
, , , , ,


Widgets are really cool!

I found the Yahoo Widgets Engine when I was browsing IBM's community site IBM Web Innovation, which itself is pretty cool. Find more similar spaces or create your own if you miss one at developerwork community topic spaces.

Downloading the Yahoo Widget Engine will grant you access to to download around 4000 different widgets. I just started play with it and some useful and/or funny ones are widgets for displaying:

  • Wheather
  • Flickr photos
  • Notes mail
  • Clock
  • Recipes
  • IBM information like news, stocks, promotions, general search or the employee directory. The last one is pretty handy. It actually gives me information like email, phone number, city and country for any IBM employee in the world (not Sam Palisano though... hmm..). I can recall several times when I wanted contact information and had some trouble finding it.

    Here's a screenshot from the IBM Widget showing search results from the Employee Directory. This one is public available information of Ed Brill's contact information.



  • radio
  • gmail
  • itunes player
  • del.icio.us
  • and much more
Just click on the widget in the widget bar and a window will open the actual widget, like the IBM widget in the screenshot above. I really enjoy web-based widgets to put on your blog and so on and desktop widgets have not really been working for me earlier. I'll give it a shot now and see if it becomes useful to me.

More widgets here for websites and desktops (thank's Alex).

Technorati tags:
, , ,


May 06, 2007

Learn Java with Head First Java

While the platform for Lotus Notes, Domino and Sametime applications changes, the need of understanding Java grows bigger. Although IBM is designing their new development tools to minimize the need for new learning curves when it comes to development I still believe that you as a Domino developer (and Domino administrator) is better off understanding what Java is, how it works and it would certainly not hurt learning how to develop some in it as well.

I made the decision to learn Java a few months ago and to actually do it this time, and really good - you know to be a kick-ass Java developer (to almost quote Bob Balaban). I have studied/tried quite a lot of different programming languages before and looked at both C++ and Java (both object oriented) before but never really gone into the depth of it. But I have tried, several times. I have bought books (read the first chapters before I found something more interesting to do) and read tutorials on Internet and that has helped me to some point of course but when it comes to Java (in my opinion) it's a lot about understanding and a barrier to climb before you get it and fully can enjoy it and really make use of it. But once you have climbed that barrier you just keep going and nothing will stop you. And then it is up to you to decide whether you want to use your understanding of Java in what you do today or if you want to focus more on it and keep learning more like servlets, Java beans, JSP and whatever is out there.

What made me climb the barrier (I think I really got over it a couple of weeks ago) is an excellent book that I have to tell you about, it's called Head First Java and covers Java 5.0. Give it a chance although it at first almost feels you're going back to the early school years when briefly looking through it. It is a lot of pictures and a lot of explaining but that's what's so good about it. When you have read the first chapter you should be as excited as I am. And you don't have to be a newbie, in fact you shouldn't. You should have some basic knowledge about programming to get the most out of it I think. If you do, go ahead, you're gonna love it.

Here's a sample from Google Books (thanx Thomas).

The authors of the book has a blog as well called "Creating passionate users". And there are a few more books written in the same manners, take a look at them here.

Some Java-resources:



Technorati tags:
, , , , ,


Domino Best Practices Guides

Lotus Support has started blogging and in their second blog post was a table of the currently published best practices guides which (although it's a lot of reading) is a must reading for admin guys. Haven't read them all but I will.

If you in the last couple of months already have seen some of them be aware of that some more were published in the beginning of May and there are even more to come. Keep on eye on the Notes from Lotus Support blog for updates.

Technorati tags:
, , , ,


May 03, 2007

New notes.ini settings page

I read on Domino Blog that there's a new page on developerWorks with public notes.ini variables with descriptions, examples and comments.

-- UPDATE --
View of new notes.ini variables from the Notes/Domino Fix List



-- UPDATE --
I posted a comment on Domino Blog where I was pointing out that the list seems kind of small especially when compared to another Notes.ini list called the DrCC Notes.INI Reference. Amy Smith replied:

When the notes.ini info was in the admin help, we could only update it at major releases. It was hard to keep up with all the new .inis being created. Now, when a new Notes.ini variable is created, or an existing one changes or is rendered obsolete, that info can be updated on devWorks fairly quickly. So you can expect to see the .ini list on devWorks increase soon.

Currently, the existing Notes.ini documentation from 7.0 has been migrated to devWorks. We are now in the process of gathering new and updated notes.ini info for Domino 8. We plan on updating the on-line info every two weeks for the time being. That will probably slow down to once monthly after Domino 8 ships.



Technorati tags:
, ,


May 01, 2007

Maintain your web 2.0 collection with Wink

Wink markets themselves as the people search engine. This social search engine searches MySpace, Bebo, LinkedIn, Live Space, Friendster, Twitter and the web which right now according to wink means over 166,845,664 people.

Besides this which is both interesting and useful you can register for an account and state your different web2.0 accounts you have on the web. They have listed lots of them and if something isn't there you can state your own url.

After making some adjustments I copied a script, which can be both HTML and Flash, and put a wink widget on my blog. Whenever I make a change on wink it is reflected in the widget.

I can see three obvious and good ways of using this; the widget to put on the blog, a place which keeps track of all my different accounts and a people search engine.

Technorati tags:
, , , ,


April 25, 2007

Charity fund raising for children with cancer in Second Life

On April 28th at 1900 hours GMT+01:00 there will be a charity fund raising held in Second Life by the Children's cancer fund and Second Sweden.

It is the first swedish charity fund raising gala in Second Life and artists, both from real-life as well as established artists in SL like Natalie Moody (Therese Åhs) will be performing to raise money for children with cancer.



I'm sure this will be a really great evening, be sure to be there and buy a teddy bear and/or give some money.

Read more at Barncancerfonden's homepage. There's been an interview in swedish television about this as well, take a look at it on youTube.
Here is the location for the gala.

Technorati tags:
, , , , ,