OK, I was a little bit bored, and thought I would create two more maps of visited places, one of the US states and one of European contries.
Bill Buchan just posted a great SNTT entry about the Out of Office Agent on his blog. I did learn some new things there, like I usually do when reading his blog. He is also the one that got me to start doing object oriented Lotusscript programming. As anyone that seen him present at Lotusphere or some other conference know, he is a very entertaining speaker, but he is also very smart and know his stuff…
Create your own visited country map!
A couple of weeks ago I installed VMware Workstation on my computer at home, so i could have a clean XP install to clone and use for program testing and to run multiple environments at the same time. I also installed Ubuntu 7.10 the weekend before last. This weekend I had some spare time. So I installed Windows 98 Second Edition, Windows 2000 Professional, Kubuntu 7.10, OpenSUSE 10.3 and even Mac OS X 10.4.7(!). It is a strange feeling to run OS X on a PC…
I also got a new computer at work, doing similar there, but just XP and Ubuntu/Kubuntu so I can show people the environment. Might install OS X just for fun (and to test webpages with)…
A (non-geek) friend asked me this weekend: "Why are you doing that?", and my answer was "Because I can"… I guess it is the same reason I collect water bottles from Lotusphere: they are there and I can… :-)
One of the great writers of the 20th century has left us. Arthur C Clarke, best known for his books 2001: A Space Odyssey Rendezvous with Rama, Earthlight and The Sands of Mars.
But Arthur C. Clarke was not only a science fiction writer. He was an avid scuba diver (which is why he moved to Sri Lanka), and he came up with the concept of using geo-stationary satellites for communicatiions. The geostationary orbit is sometimes called the Clarke Orbit in his honor. He was even involved in some satellite programs, including Telstar.
He will be missed.
Over the years I got a small collection of Lotusphere water bottles. It started in 2003 when I ended up with a couple of extra bottles in my backpack on the last day, and I brought them home with me. The next year I picked up a couple again to drink at the airport while waiting for my flight, and I got one leftover as well. Since then I made sure I bring home at least one bottle per year for my little collection.
This year I noticed that the older bottles were squished, like there were vacum inside. The older they were the more squished. I let some air in and noticed that it seems like water is evaporating despite the bottles being closed. Quite interesting, since there was a vacum inside. It seems like the water evaporates and get out, while air is not able to get in. The bottles have been stored above the washer, with the dryer a few feet away. Might be the temperature that did it.
Some funny ones, some silly ones. Personally I think #14 is the best one. Followed by #4.
A couple of days ago (well, March 3) it was my birthday, and I decided to bake a cake, as I usually do. I enjoy baking and cooking, and that way I also get to have a cake the way I am used to from Sweden. I will post the directions when I get home, but it is really easy.
The main difference between the cakes made the traditionally way in the US and in Sweden/Europe are listed below, but there are of course exceptions:
|Layers||Solid cake, or 2 layers||3 or more layers|
|Filling||Sugar/butter mix, sometimes chocolate flavored||Whipped cream, fruit/berries, jam, vanilla custard, or chocolate|
|Cake covering||"Icing" (butter/sugar mix)||Whipped cream|
|Decoration||Colored icing||Fresh fruit|
Yes, I know it is Tuesday, but I was too busy last week for the SNTT entry…
At my workplace, we are in the process of purchasing and implementing a new billing system. It relies heavily on XML files, stored in the file system, for inport/export. The idea is that we export XML from our policy system to be processed by this software. The results are returned as XML files, and we are currently looking at how we can consume them and present them to the accounting department.
We are mainly looking at tools like Crystal Reports 2008.
Just for fun, I decided to write an XML importer in Lotusscript. The XML is very simple so I did not have to do any advanced parsing.
I decided to write it as a class. The class just have a few methods. One is of course New(), the only thing it does is clear the xmldata string and also clear the list of XML tags from memory.
LoadXMLData() open the specified XML file and read the text into the xmldata string, adding a linebreak after each line.
XML2List take the xmlstring, parse it and build a list of all the tags and values. Because the XML is so simple, with no multiple values or deeply nested data, I can very easily parse it using normal string operations in a Do-While loop.
The final method is called CreateNotesDocument(), it creates a new Notes document in the specified database, using the specified form. To process the sample XML file with 66 XMl entries took 0.148 seconds (according to TeamStudio Profiler).
Here is the code:
Private xmldata As String
Private xml List As String
Public Sub New()
Public Sub LoadXMLData(filename As String)
Dim xmlline As String
Open filename For Input As #1
xmldata = ""
While Not Eof(1)
Line Input #1, xmlline
xmldata = xmldata & xmlline & Chr$(13)
Public Sub XML2List()
Dim tag As String
Dim value As String
Dim startpos As Long
Dim endpos As Long
Dim nextpos As Long
Dim endtagpos As Long
endpos = 1
startpos = Instr(endpos,xmldata,"<")
If startpos > 0 Then
endpos = Instr(startpos,xmldata,">")
If endpos > 0 Then
tag = Mid$(xmldata,startpos+1,endpos–startpos–1)
If Instr(tag,"/")=1 Then
startpos = Instr(endpos+1,xmldata,"<")
nextpos = Instr(endpos,xmldata,"<")
endtagpos = Instr(endpos,xmldata,"</" & tag & ">")
If endtagpos = ne
value = Mid$(xmldata,endpos+1,nextpos–endpos–1)
If Iselement(xml(tag)) = False Then
xml(tag) = value
endpos = Instr(nextpos,xmldata,">")
Loop While startpos > 0
Public Sub CreateNotesDocument(db As NotesDatabase, form As String)
Dim doc As NotesDocument
Set doc = New NotesDocument(db)
doc.Form = form
Forall x In xml
Dim session As New NotesSession
Dim db As NotesDatabase
Dim noic As XMLclass
Set db = session.CurrentDatabase
Set noic = New XMLclass()
Call noic.LoadXMLData("c:XSLTNOIC-1450-01 0-2007Nov09.xml")
provided by Julian Robichaux at nsftools.com.