TexasSwede
texasswede@gmail.com
  • About this blog
  • My Website
  • My Resume
  • XML Export Tool
  • Photos

Category Archives: Old Blog Post

Object Oriented Lotusscript for beginners – Part 2

Posted on April 12, 2010 by Karl-Henry Martinsson Posted in Lotusscript, Old Blog Post, Programming Leave a comment
In my previous post I wrote about whyI use object oriented Lotusscript. Let’s look at how it can be used in a real-life application.
Background
At my work I developed a system to handle insurance claims. Each claim can have one or more claimants, people or parties that have either BI (bodily injury) or PD (property damage) claims related to an accident. Each claimant get a reserve setup, an amount of money the adjuster think it will cost to settle the claimant. There are two reserves for each claimant, one for loss payments and one for expense payments. The latter can be payments for police reports, field adjusters, lawyer fees, etc while loss payments are the actual damages (payments to body shops, medical payments, etc).
When payments are made, the reserve amounts are reduced, until reaching zero. No more payments can be done then until the reserve is increased. Each adjuster have a limit to how large reserve he or she can set, higher reserve must be approved by a manager.
Data storage
When the claim system was first put in place, all reserves and payments werestored in the Notes database. They were then (manually) transferred into a backend system built in Visual FoxPro. But after a few years, a COM object (dsClaimLink) was developed and the Notes database is now sending all financial transaction into the backend, and retrieving financial information the same way when needed. Claim information is stored in the Notes database, as is claimant information. Some claimant information. a sub-set of the data stored in Notes,is sent to the backend as well.
Original design
Initially I built a large number of functions and subroutines, organized in different script libraries based on functionality.This actually worked really good, and the code was fairly easy to maintain, modify and expand. When the financial transactions were moved to the backend, I just had to modify the function GetAvailableAmount() to call the backend instead of looking up the amount in the Notes database. But it was still not very flexible, andI had some code that was duplicated in many places (most of it related to calling the COM object). So about two years ago, I started refactoring my code, both to make it faster and easier to maintain, by using object oriented Lotuscript.
Example
Beloware examples of the code in the script library Class.ClaimData class. This is not my exact production code, I have removed a number of lines to make the example more clear.
The ClaimData class (described in next posting)contains an array of claimants, each of those an object. Each claimant object in turn contains an object containing the different amounts (loss reserve/loss payments, expense reserve/expense payments, recovery amount, etc).
First, let’s look at the AmountData object.
Class AmountData
    Public lr As Currency        ' Loss Reserve
    Public er As Currency        ' Expense Reserve
    Public lp As Currency        ' Loss Payments
    Public ep As Currency        ' Expense Payments
    Public slp As Currency        ' Supplemental Loss Payments
    Public sep As Currency        ' Supplemental Expense Payments
    Public rec As Currency        ' Recovery amount
    Public lossavail As Currency
    Public expavail As Currency

    Public Sub New()
        rec = 0
        slp = 0
        sep = 0
        lr = 0
        er = 0
        lp = 0
        ep = 0
        lossavail = -1
        expavail = -1
    End Sub
    
    Public Sub Load(claimnumber As String, claimant As Integer)
        Dim success As Integer
        Dim servaddress As String
        Dim xmldata As String
        Dim claimlink As ClaimLink    ' Object to connect to backend
        
        Set ClaimLink =  New ClaimLink()   ' Create object/class
        If claimant = 0 Then          ' Get total amounts for all claimants    
            success = claimlink.GetClaimStatus(claimnumber, Today())
        Else                          ' Get amounts for selected claimant
            success = claimlink.GetAmountsByClaimant(claimnumber, claimant, Today())
        End If
        If success = True Then        ' Data returned successfully
            xmldata = claimlink.GetDataXML()
            rec = Cstr(Ccur(XMLGetValue(xmldata,"recovery")))    
            slp = Cstr(0-Ccur(XMLGetValue(xmldata,"losssup")))
            sep = Cstr(0-Ccur(XMLGetValue(xmldata,"expsup")))        
            If claimant = 0 Then     ' All claimants
                lr = Cstr(Ccur(XMLGetValue(xmldata,"lossorig")) + Ccur(XMLGetValue(xmldata,"losschg")))
                er = Cstr(Ccur(XMLGetValue(xmldata,"exporig")) + Ccur(XMLGetValue(xmldata,"expchg")))
            Else                     ' Specified claimant
                lr = Cstr(Ccur(XMLGetValue(xmldata,"lossres")) - Ccur(slp) + Ccur(rec))
                er = Cstr(Ccur(XMLGetValue(xmldata,"expres")) - Ccur(sep))
            End If
            lp = Cstr(0-Ccur(XMLGetValue(xmldata,"losspaid")) - Ccur(slp))
            ep = Cstr(0-Ccur(XMLGetValue(xmldata,"exppaid")) - Ccur(sep))
            lossavail = Ccur(lr) - Ccur(lp)
            expavail = Ccur(er) - Ccur(ep)
        End If    
    End Sub
    
End Class
As you perhaps noticed, I encapsulated the dsClaimLink functionality in an obect as well. I am also using my own XML parsing functions, as the system was built in Notes R5.
When the object is created, I do not lead the amounts directly. I just set all amounts to 0, with two exceptions. The available amounts are set to -1 (a value they will normally never have). This indicate that data have not been loaded, or that the attempt to load data failed.
The Load() method of the class call the COM object (dsClaimLink) withone of two functions depending on how the method is called. This let meuse the AmountData object notjust for amounts for a specified claimant, but also for claim level amounts,totals for all claimants.
Next we have a small object used to decide if a claimant is open or closed.The expense and loss parts of a claimant can be closed and (re-)openedindividually. If either is open, the claimant is open, if both are closed, the claimant is considered closed. That is why I built this object, to get an easy status indication in the claimant object.
Class ClaimantStatusData
    Public loss As String
    Public expense As String
    Public claimant As String
    
    Public Sub new(doc As NotesDocument)
        If Lcase(doc.LossClosed(0)) = "yes" Then
            Me.loss = "closed"
        Else
            Me.loss = "open"
        End If
        If Lcase(doc.ExpensesClosed(0)) = "yes" Then
            Me.expense = "closed"
        Else
            Me.expense = "open"
        End If
        If Me.expense = "closed" Then
            If Me.loss = "closed" Then
                Me.claimant = "closed"
            Else
                Me.claimant = "open"
            End If
        Else
            Me.claimant = "open"
        End If
    End Sub
End Class
Nothing very complicated, but a big help later on.
The final class I will show today is the actual ClaimantData class. As you can see,I am using the classed I described earlier here. I have removed some code in order to make it easier to follow. Just one more note, I use a field/value called ParentUNID to keep track of all documents that belong to a claim. The claim number is not associated with the claim at first, so I needed some other unique identifier. I choose to use the UniversalID of the main document (“Loss Notice”) at the time it is received into the database. Even if the actual UniversalID would change, e.g. through a replication conflict, that field will never change again.
The class is farly simple. The ClaimantData object will load amount and claimant status wheninitialized. They are then available, together with the methods of the class, to the calling code.
Class ClaimantData
    Public claimantdoc As NotesDocument
    Public unid As String    ' Store UniversalID of claimant document
    Public parentunid As String        
    Public amounts As AmountData
    Public claimcare As ClaimCareData
    Public status As ClaimantStatusData
    Public Parallel As Integer
    
    Public Sub New(doc As NotesDocument)
        Dim claimnumber As String
        Dim claimant As Integer
        Set claimantdoc = doc
        unid = doc.UniversalID
        parentunid = doc.GetItemValue("ParentUNID")(0)
        claimnumber = doc.GetItemValue("ClaimNumber")(0)
        claimant = Cint(doc.GetItemValue("Claimant_Number")(0))
        If Lcase(doc.GetItemValue("TransferredToParallel")(0)) = "yes" Then
            Parallel = True
        Else
            Parallel = False
        End If
        Set amounts = New Amounts(claimnumber, claimant)
        Set status = New ClaimantStatusData(doc)
    End Sub
    
    
    Public Function GetValue(fieldname) As Variant
        GetValue = claimantdoc.GetItemValue(fieldname)(0)
    End Function
    
    Public Function SetValue(fieldname, Byval value As Variant) As Variant
        Call claimantdoc.ReplaceItemValue(fieldname, value)
    End Function
    
    Public Function GetVariant(fieldname) As Variant
        GetVariant = claimantdoc.GetItemValue(fieldname)
    End Function
    
    Public Sub Save()
        Call claimantdoc.Save(True,True)
    End Sub
    
    Public Function DisplayName() As String
        If Fulltrim(GetValue("Claimant_Name")) = "" Then
            DisplayName = GetValue("Claimant_Company")
        Else
            DisplayName = GetValue("Claimant_Name")
        End If
    End Function
    
    Public Function GetXML()        
        Dim tempxml As String
        If claimantdoc Is Nothing Then
            Msgbox "Claimant document is not loaded, no data returned.",,"ClaimantData.GetXML()"
            GetXML = ""
            Exit Function
        End If    
        tempxml = "<claimntno>" & claimantdoc.GetValue("Claimant_Number") & "</claimntno>" & CRLF    
        tempxml = tempxml + "<extclmntno>" & claimantdoc.getValue("ClaimantNumberExternal") & "</extclmntno>" & CRLF    
        tempxml = tempxml + "<classcode>" & claimantdoc.pClassCode(0) & "</classcode>" & CRLF    
        tempxml = tempxml + "<cvgcode>" & claimantdoc.Claimant_LossType(0) & "</cvgcode>" & CRLF    
        tempxml = tempxml + "<table>" & claimantdoc.pTable(0) & "</table>" & CRLF    
        If claimantdoc.Unknown(0)="Yes" Then
            tempxml = tempxml + "<claimntnam>* unknown *</claimntnam>" & CRLF
        Elseif claimantdoc.Claimant_Name(0)="" Then
            tempxml = tempxml + "<claimntnam>" & dsClaimLink.EncodeXML(claimantdoc.Claimant_Company(0)) & "</claimntnam>" & CRLF
        Else
            tempxml = tempxml + "<claimntnam>" & dsClaimLink.EncodeXML(claimantdoc.Claimant_Name(0)) & "</claimntnam>" & CRLF
        End If    
        ' Check if we have amounts loaded
        If Not amounts Is Nothing Then
            tempxml = tempxml + "<lossamt>" & Format$(amounts.lp,"###0.00") & "</lossamt>" & CRLF    
            tempxml = tempxml + "<expamt>" &  Format$(amounts.ep,"###0.00") & "</expamt>" & CRLF    
        End If
        GetXML = tempxml
    End Function
    
End Class
There is a function to get an XML representation of the claimant. This one is used when data is sent to the dsClaimLink COM object. I also have a function to return the name to display, either the person name or the company name of the former is blank. I could have implemented this using the Get/Set statements, but they have to be defined as a pair and this is a read-only property of the object.

Project Vulcan – my thoughts

Posted on April 9, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
As everybody else that attended Lotusphereback in January, I heard about Project Vulcan. Ever since, I have been trying toget my head around it. So many others have beebn writing about it, that it almost does not seem like another post would make a big difference. But here are my thoughts. Perhaps I am stating the obvious, if so forgive me.
Last year, I believe duing IamLUG, I heard someone (I forgot who) saying that the reason the Workspace inthe Notes client was not developed any further was because Lotus was working on "a totally new, HTML5 based Workspace". Obviously this was a reference to Project Vulcan. based on this, and the information released at Lotusphere, I do not think Vulkan is a totally new interface, but (at least initially) a replacement for the Workspace. Instead of the database icons (Chiclets, sometimes written "Chicklets"), a Facebook-like feed seems to be planned. I think that makes sense in some companies, but I believe it is important that users have quick access to the applications from a desktop-like location. At my company, at least 90 percent of the users use the Workspace exclusively.
Personally, I think a new interface need to contain some familiar elements. It is great to get a built-in feed, but there must be an easy way to get to the applications. I am sure Mary Beth Raven and the rest of the design team will do a great job, though. I am looking forward to see some more design ideas for Project Vulcan.

 

Ubuntu 10.04

Posted on April 7, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
image 
As you may know, I have been using Ubuntu as my primary operating system at home for almost 6 months now. I am very happywith it, despite some small glitches and shortcomings. For example,the other week Gimp started to refuse to load. I had added GimpShop just before that happened, perhaps that is related. I am also having issues connection to work using Citrix, and of course my network administartor says that he does not support anything but Windows.
In the end of this month (on April 29), Canonical is releasing the next version of the operating system, version 10.04 (Lucid Lynx). This is a so called LTS (Long Term Support) release, meaning it will be supported for three years on the desktop and five years on the server.
I am currently running 9.10 (Karmic Koala) at home, and i have also installed that on several other systems, both my son’sdesktop and a friends laptop. She is however complaining that she need/want iTunes so she can manage her iPhone… So I guess i will see how good iTunes work in Wine.
Among the new features in Ubuntu 10.04are built-in support for social networks like twitterand Facebook, a new faster boot process, new themes, a music store, better file syncronisation with the cloud storage service Ubuntu One, and a manual. Yes, a PDF manual, so you don’t have to search the net for information.
Some changes have been made when it comes to the bundled programs. The video editing program PiTiVi is included, and Gimp have been removed. The focus on this version is to make the operating system as easy to use as possible, especially for first time Ubuntu users. Of course, it is easy to add any programs you want back, Ubuntu Software Center have been improved and it should be easier than ever to get programs for the operating system.
Personally I am very impressed by the number and quality of programs for Linux. For the few programs where I have not found a replacement of the Windows version, I simply use VMware. I also have the system set up for dual boot, if I want to I can boot straight into Windows, which is needed on occasion. VMware does not support IEEE1394 (Firewire), for example.
I will look for a program to download DV through FireWire in Ubuntu and start playing with video editing using PiViTi. I am currently using Sony Vegas in Windows for this. Slowly I am migrating off Windows more and more, a platform I have been using daily since Windows 2.03 back in 1988.
I intend to write about my favourite and recommended programs in Ubuntu within the next few days.
 

Vanity domains and personal website

Posted on April 7, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
image
My onlinehandle have been "TexasSwede" for a number of yearsnow. I have seen one or two other "TexasSwede"around the internet as well, so the other week I started wonderingif the domainst TexasSwede.com or TexasSwede.net perhaps were available. I already have Martinsson.us, but I don’t have any real web presence there.
I did a quick search and found that both the domains were in fact available. I quickly snatched them up, togther with TexasSwede.us, and pointed them to my Domino server at home.
A couple of days later I decided to rebuild my personal website from scratch. I added some code to identify what domain people were trying to access, and serving up different logodepending on the site.
Right now I am trying to find a good menu system to use. I want one where I can very simply add items to a menu using javascript. I have been looking at YUI Menu, but it is not exactly what I am looking for. Close, though. As the site will be driven by a Domino database, I want to be able to use a (categorized) view to generate the menu. Most menu systems require closing tags or similar, which is hard to do in a view. I know I found a perfect menu system last year, but I lost the bookmark, or I forgot to bookmark it.
If anyone have a good suggestion, I would appreciate it. What I am looking for is a menu where I can simply add items like this:
AddItem("Menu","Item Label", "/mylink.html");
I also plan to start learning Xpages soon, when I get the time. But for now I work in "classic" Notes/Domino, as that is what we use at work.
 

I'm back.

Posted on April 7, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
I have not been blogging very much lately, and i feel bad about it.
The Lotus community have given me a lot through the years,both technical information and entertainment, and I want to giveback.
So the next couple of weeks I intend to be more active, and to publishcode, thoughts and hopefully entertaining information as well.
Feedback is always appreciated, even if I knowcomments only works for BleedYellowmembers. However, mail to TexasSwede@gmail.com also works.
 
There are several reasons I have not been blogging very much. After Lotusphere I was worn out, and then I was innundated with work.Sunday, the day after arriving in Orlando, I got a text message from one of my two managers telling me she was no longer with the company. She was the business process expert, and the one that knew the claims process the best. So suddenly I lost all her knowledge, and of course very little was documented. I now had to work directly with the claims users and managers, gathering information about their workflow, processes and requirements that I previously were handed on a silver platter. So my code output have suffered, of course.
I have also been involved in several new projects, some of them very important. For example, new legislation require us to submit certian information about certain claimants to the MediCare administration. The penalty is $1,000.00 per claim per day we are not in compliance. That is a lot of money. So for obvious reasons, I had to focus a lot of my attention on this.
 
However, I also had time to work on some other (more fun) projects, and I intend to blog about themsoon.
 
 

 

$190 Netbook for the US market? Why not?

Posted on March 26, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
Ed Brill just wrote about the announcementof a Ubuntu-base Netbook with Symphony and LotusLive for $190.

I wrote a comment, but I want to expand slightly on ithere.
I wonder aboutother markets? I can see some big opportunities in the US and Europe for IBM/Lotus. If I could buy an inexpensive Netbook like that for Erik, my nine year old son, I would get him one tomorrow. He could then bring it between his moms place and my place, just connect to our respectively WiFi networks. He could even use it at school, if his school allows him to use it there.
Erik’s computer at my place is already running Ubuntu 9.10, he have been using Ubuntu on his home computer for almost a year now. He could care less what operating system it has. He play some online games at Nick.com (even ifthere are a handful ofgames not working in Ubuntu/Firefox as they use ActiveX), go on Facebook to play Farmville and watch videos on Youtube.
He also check his webmail accounts (he had one through his old school). Typical Netbook useage.

So, what wouldbringing this to the USand European markets do for IBM and Lotus?

Well, you would get Ubuntu-based laptops with Symphony and LotusLive out among kids and teenagers. They would get used to theLotus products. What do you think will happen when they hit the job market and workplaces in a few years? I think they will be proponents of Ubuntu and Symphony/OpenOffice (and OpenSoftware in general).

A few well-spoken and enthusiastic people, who know the product and what you can do with it, can change the software a workplace is using. I think a lot of the migrations from Notes/Domino to Exchange/Sharepoint/Outlook is driven exactly by that, one or two people coming from the outside and showing a handful of cool applications and talking about the benefits of the MS stack. The CEO’s will listen to them (just like they listen to a consultant but not an internal IT worker saying the same thing). Who will the CEO listen to, the old-timer in the IT department that likes Notes, or the new young go-getter with a fresh MBA talking about all the new things like Enterprise 2.0, cloud computing and other buzzwords he learned in class, at a university or college where every student must use Microsoft Office…

I told the story before, how I came in as a 23 year old fresh employee to a workplace where everyone used WordPerfect. With a background at Microsoft, andseveral years of using Word for Windows, it took me just 6 monthsto exterminate WordPerfect and get everyone to switch to Word, just by showing the advantages (as I saw them) and write a clever macro or two that save the users a lot of time each day.

Ithink getting the products out there ("show the product") is much more important than abstract advertising for Smart Planet or Lotus Knows. Yes, those are ways to get the name/brand out there, but how many car commercials do you see where no vehicle is shown?

 

Lotusscript to rename downloaded files

Posted on March 24, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment

Duffbert and Jim Casale bothblogged about the cryptic names on downloaded files from the IBM Passport Advantage site. Jim’s Excel macro inspired me to write something in Lotusscript (I don’t even have Excel on my home computers anymore, I am only using Symphony now).

Belowis my Lotusscript code. Note that I have not been able to test the actual renaming part, since I am atthe officeand I have all the files downloaded at home. But the parsing part works. You may want to either modify the location of dlmgr.pro, or even write some code to let the user select the file to process. But Ijust made a quick-and-dirty hack for now.

Update: Something went wrong earlier when I tried to post this, I got two borked entries. It seems like if I paste certain formatted text (like the code section below) into the entry, and save it while in preview/WYSIWYG mode, it breaks the entry. If I am in HTML code view, it works…
Update 2: Thanks to the guys at Lotus911, they removed the two bad entries. Also, I wanted to clarify, the code is actually copying the files and giving the copy a new name, the original files are still there. If you want to perform a move, un-comment the the line Kill fromfile.

Dim dlmgrfile As StringDim dirname As StringDim filename As StringDim filecode As StringDim filedescription As StringDim temp As StringDim newitem As IntegerDim fromfile As StringDim tofile As Stringdlmgrfile = "c:dlmgr.pro" Open dlmgrfile For Input As #1Do While Not Eof(1) Line Input #1, temp If Left$(temp,6)=".file=" Then filecode = Right$(temp,Len(temp)-6) newitem = True Elseif Left$(temp,2) = ".." Then newitem = False End If If Left$(temp,7) = "..path=" Then dirname = Right$(temp,Len(temp)-7) End If If Left$(temp,8)="..title=" Then filedescription = Right$(temp,Len(temp)-8) End If If Left$(temp,7)="..name=" Then filename = Right$(temp,Len(temp)-7) End If If newitem = False Then If filename<>"" Then If dirname<>"" Then If filedescription<>"" Then fromfile = dirname & "" & filename tofile = dirname & "" & filedescription & Right$(filename,4) Print "Copying " & fromfile & " to " & tofile Filecopy fromfile, tofile ' Kill fromfile dirname = "" filename = "" filedescription = "" filecode = "" End If End If End If End IfLoopClose #1
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

 

"Lotus Notes Home Edition" – my thoughts

Posted on March 15, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment

The concept ofNotes@Home ({link} and {link}),or "Notes Home Edition" as I like to call it,is very interesting, and I think it would be a great way to increase the visibility of Notes. The people who initially would install it would probably be the more technical kind of users, some of them probably the same kind of users we see bashing Notes on /. and similar sites, basically because they haven’t seen the current version, or the product at all.

The second group I believe would install Notes Home Edition would be members of the Notes community. But not on their own systems, most of us probably already use Notes at work and at home. No, I think it would be family members and friends who would get it installed.
Last weekend I formatted my ex-father-in-law’s laptop and re-installed Windows on it for him. I also downloaded and installed Symphony. Would it not have been nice if I would been able to download a limited Notes client as well, so he would use "Notes 8 Home Edition" for his mail? I could have setup a mailbox on my server and given him access to Sametime (if I had a Sametime server).

I understand the issues Ed have with cost (there have to be some development/testing associated with creating a new client, even if it is built on an existing one). But initially make just an english language version, perhaps a spanish, french and german version as well. That should cover a large part of the western world. Start there first, before spending any more money.

The client need to be able to do the following:

  • access mail on a Domino server
  • download/syncronize with POP/IMAP mail

If there could be syncronisation with Gmail and perhaps Yahoo mail, that would be even better. I am sure the Gmail API is published somewhere….
There are many things that can be dropped from "Notes Home Edition", like activities, composite applications, etc. Make it a stripped down version with the most important features, and a few ones that "regular" users actually might use, like the RSS reader.

Also, in order to show the power of Notes, there should be some way to run either local applications, or even applications on a server. Here we have the tricky question, and it is related to licensing… How do IBM avoid a company from getting the free "Notes Home Edition" clients and using in the business? On the other hand, the Domino Express offering works on a honor system already.

I would love to setup a small server at home (or actually open up the one I have) and let my sister, her boyfriend, and some other friends use it for mail and some applications. I can also see consultants setting up a server for their clients, offering not only mail but also discussions, IM and some shared applications. Perhaps the blog template?

What about this:

  • Domino Enthusiast Edition – up to 25 (50?) clients/IDs allowed, all must be using Notes Home Edition, except the administrator who can use a full client. Also allow web access. This one should be free. Charge for support.
  • Domino Consultant Edition [1] – up to 25 (50?) clients/IDs allowed, can be a mix of full client and Home Edition. Webaccess is also allowed. This one could cost a little bit, say $200 or something, with support extra. Must be able to purchase it directly from IBM online, since business partners probably won’t bother about selling it for that price.

The Consultant Edition would however be a great tool for small consultants to get Domino in the door at some clients. They can use the Notes client for free for a while, access mail and a few simple applications, perhaps even a custom built application by the consultant. When they are ready to jump to hosting their own server, they are already used to Notes, and "locked in" to the Notes application they use. Another win for Lotus.

[1] Someone in marketing can surely come up with a better name. "IBM Lotus Domino Restricted Commercial Version with Collaboration and Instant Messaging for Small Businesses"? ;-)

 

Lotusphere 2011 Wednesday Party Venue?

Posted on January 15, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment

Harry Potter

Opening Spring 2010
 

 

Lotusphere 2010 – Yes, I will be there!

Posted on January 13, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
I am lucky enough to be able to go to Lotusphere again. This will be my 13th time inOrlando. I also went to LS97 in Nice.
This year I will be arriving to MCO on Saturday at 9:40am, and leaving Friday at 1:55pm. If anyone is interesting in sharing a cab, let me know. @TexasSwede on Twitter or texasswede@gmail.com. I am flying AA 1434 from DFW, anyone else on that flight?
 
Also, if there are any Swedish readers of this, I have a favour to ask… Could someone bring a few items that are hard/impossible to find here?Just let me know how much it is and I bring cash. What I am looking for is 2 or 3 of the larger (double) packs of Vasa Frukost (900g?) and 2 or 3 tubes of Kalles Guld. The regular Kalles Kaviar can be found at IKEA here in the US, but not the premium Guld. Let me know if you can do this, I would appreciate it!
 
For anyone not familiar with Kalles, it is the most sold brand of caviar in Sweden. It is made from salted and smoked cod roe and comes in a metal tube. You squeeze it out on bread (for breakfast) or on hard boiled eggs. A piece of bread with a sliced egg and some caviar on top is a delicious and helathy way to start the day!
 
 

 

Stack Exchange

profile for Karl-Henry Martinsson on Stack Exchange, a network of free, community-driven Q&A sites

Recent Posts

  • Domino 14 is now available
  • Domino 14 Early Access Program
  • Announced: Engage 2024
  • Integrate Node-RED with Notes and Domino
  • Notes and Domino v12 is here!

Recent Comments

  • Theo Heselmans on Announced: Engage 2024
  • Lotus Script Multi-thread Message Box [SOLVED] – Wanted Solution on ProgressBar class for Lotusscript
  • Viet Nguyen on Keep up with COVID-19 though Domino!
  • Viet Nguyen on Keep up with COVID-19 though Domino!
  • Mark Sullivan on Looking for a HP calculator? Look no further!

My Pages

  • How to write better code in Notes

Archives

  • December 2023 (1)
  • October 2023 (2)
  • September 2023 (1)
  • June 2021 (1)
  • April 2021 (2)
  • March 2021 (1)
  • August 2020 (3)
  • July 2020 (2)
  • April 2020 (2)
  • March 2020 (1)
  • December 2019 (2)
  • September 2019 (1)
  • August 2019 (2)
  • July 2019 (2)
  • June 2019 (3)
  • April 2019 (2)
  • December 2018 (1)
  • November 2018 (1)
  • October 2018 (5)
  • August 2018 (2)
  • July 2018 (3)
  • June 2018 (2)
  • May 2018 (1)
  • April 2018 (2)
  • March 2018 (1)
  • February 2018 (2)
  • January 2018 (4)
  • December 2017 (3)
  • November 2017 (2)
  • October 2017 (2)
  • September 2017 (1)
  • August 2017 (2)
  • July 2017 (6)
  • May 2017 (4)
  • February 2017 (1)
  • January 2017 (2)
  • December 2016 (2)
  • October 2016 (3)
  • September 2016 (4)
  • August 2016 (1)
  • July 2016 (2)
  • June 2016 (2)
  • May 2016 (3)
  • April 2016 (1)
  • March 2016 (4)
  • February 2016 (2)
  • January 2016 (4)
  • December 2015 (3)
  • November 2015 (2)
  • October 2015 (1)
  • September 2015 (2)
  • August 2015 (1)
  • July 2015 (5)
  • June 2015 (2)
  • April 2015 (2)
  • March 2015 (3)
  • February 2015 (2)
  • January 2015 (10)
  • December 2014 (1)
  • November 2014 (3)
  • October 2014 (3)
  • September 2014 (13)
  • August 2014 (6)
  • July 2014 (5)
  • May 2014 (3)
  • March 2014 (2)
  • January 2014 (10)
  • December 2013 (5)
  • November 2013 (2)
  • October 2013 (5)
  • September 2013 (4)
  • August 2013 (7)
  • July 2013 (3)
  • June 2013 (1)
  • May 2013 (4)
  • April 2013 (7)
  • March 2013 (8)
  • February 2013 (9)
  • January 2013 (5)
  • December 2012 (7)
  • November 2012 (13)
  • October 2012 (10)
  • September 2012 (2)
  • August 2012 (1)
  • July 2012 (1)
  • June 2012 (3)
  • May 2012 (11)
  • April 2012 (3)
  • March 2012 (2)
  • February 2012 (5)
  • January 2012 (14)
  • December 2011 (4)
  • November 2011 (7)
  • October 2011 (8)
  • August 2011 (4)
  • July 2011 (1)
  • June 2011 (2)
  • May 2011 (4)
  • April 2011 (4)
  • March 2011 (7)
  • February 2011 (5)
  • January 2011 (17)
  • December 2010 (9)
  • November 2010 (21)
  • October 2010 (4)
  • September 2010 (2)
  • July 2010 (3)
  • June 2010 (2)
  • May 2010 (3)
  • April 2010 (8)
  • March 2010 (3)
  • January 2010 (5)
  • November 2009 (4)
  • October 2009 (7)
  • September 2009 (1)
  • August 2009 (7)
  • July 2009 (1)
  • June 2009 (4)
  • May 2009 (1)
  • April 2009 (1)
  • February 2009 (1)
  • January 2009 (3)
  • December 2008 (1)
  • November 2008 (1)
  • October 2008 (7)
  • September 2008 (7)
  • August 2008 (6)
  • July 2008 (5)
  • June 2008 (2)
  • May 2008 (5)
  • April 2008 (4)
  • March 2008 (11)
  • February 2008 (10)
  • January 2008 (8)

Categories

  • AppDev (10)
  • Blogging (11)
    • WordPress (5)
  • Design (5)
    • Graphics (1)
    • UI/UX (2)
  • Featured (5)
  • Financial (2)
  • Food (5)
    • Baking (3)
    • Cooking (3)
  • Generic (11)
  • History (5)
  • Hobbies (10)
    • LEGO (4)
    • Photography (4)
  • Humor (1)
  • IBM/Lotus (178)
    • #Domino2025 (14)
    • #DominoForever (8)
    • #IBMChampion (46)
    • Administration (7)
    • Cloud (7)
    • CollabSphere (9)
    • Community (49)
    • Connect (33)
    • ConnectED (12)
    • Connections (3)
    • HCL (15)
    • HCL Master (1)
    • IBM Think (1)
    • Lotusphere (46)
    • MWLUG (25)
    • Notes/Domino (99)
      • Domino 11 (7)
    • Sametime (8)
    • Verse (14)
    • Volt (3)
    • Watson (6)
  • Life (8)
  • Microsoft (7)
    • .NET (2)
    • C# (1)
    • Visual Studio (1)
  • Movies (3)
  • Old Blog Post (259)
  • Personal (23)
  • Programming (84)
    • App Modernization (11)
    • Formula (4)
    • Lotusscript (47)
    • NetSuite (4)
      • SuiteScript (3)
    • node.js (4)
    • XPages (4)
  • Reviews (9)
  • Sci-Fi (4)
  • Software (24)
    • Flight Simulator (2)
    • Games (4)
    • Open Source (2)
    • Utilities (6)
  • Technology (37)
    • Aviation (3)
    • Calculators (2)
    • Computers (6)
    • Gadgets (7)
    • Mobile Phones (7)
    • Science (3)
    • Tablets (2)
  • Travel (7)
    • Europe (1)
    • Texas (2)
    • United States (1)
  • Uncategorized (16)
  • Web Development (50)
    • Frameworks (23)
      • Bootstrap (14)
    • HTML/CSS (12)
    • Javascript (32)
      • jQuery (23)
  • Prev
  • 1
  • …
  • 14
  • 15
  • 16
  • 17
  • 18
  • …
  • 26
  • Next

Administration

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Tracking

Creeper
MediaCreeper
  • Family Pictures
© TexasSwede 2008-2014